A Monte Carlo based path tracer written in C++