As a project for my masters degree, I researched and created a pathtracer over the summer of 2016.
The aim of this project was to implement a ray caster, as presented by Appel with the addition of an interactive component. The implementation was to be built towards a path tracer, as suggested by Kajiya as a method for solving the rendering equation presented in the same paper. Path tracing is a more evolved method for light transport, allowing for global illumination and more physically accurate shading. The result is a global illumination renderer with lambertian surfaces, requiring additional work for interactivity and addition of reflective and transmittive surfaces.
The project was developed with Qt in C++ and uses the glm mathematics library.
PathTracer - Contains the code for the pathtracer and the viewer client.
ProjectScreenshots - Contains screenshots of the pathtracer from various tasting stages of development.