CPU Ray tracing Development
CPU Path tracer in C++
Prior to building the GPU path tracer, I developed a CPU-based Monte Carlo path tracer in C++ based on the tutorials RaytracingInAWeekend, RaytracingTheNextWeek, and RaytracingTheRestOfYourLife.
In addition to the base functionality from the tutorials, I implemented multi-core tile based rendering,
instanced triangle mesh structures with custom UV maps, nested binary AABB Bounding Volume Hierarchies,
and a custom file format to import meshes into the raytracer from Blender.
I also added support for Gaussian Splats as native objects so they support reflections, shadows, and relighting.