Monte Carlo Ray Tracer

An implementation of a stochastic ray tracer using a Monte Carlo integral estimator to approximate a solution to the rendering equation. We seperated the rendering integral into direct and indirect illumination for specular and diffuse reflections respectively to more quickly converge toward a noise-free image. An octree structure is used to more efficiently perform intersection tests between rays and objects in the scene. Multi-theading in C++11 was also used to speed up rendering times, and an OpenGL viewport was used to view results in real time.

Parts implemented by me are the the core of the ray tracing algorithm, as well as a portion of the ray-primitive-intersections used.

The project was implemented in C++ and uses GLM for math- and vector/matrix operations.

Project report: Monte Carlo Ray Tracer