A path tracing renderer written from scratch in C++.
The renderer is capable of producing direct and indirect illumination from area light sources, impulse reflections, and indirect lighting. Scenes can contain mathematical surfaces and triangle meshes, with independently assigned colours and reflection intensities for each surface.
A Qt GUI allows different rendering components to be turned on and off, scene elements to be hidden, and debugging modes to be viewed. The renderer is multithreaded and the partially-completed image is shown in the GUI while it is being rendered.
I created this application as an individual coursework submission during the masters year of my Computer Science degree.
Type: University individual project
Date: December 2017
Platform: Mac, Linux
Technology: QtView on GitHub