Sweet Little Lines is my first ray tracer, it was build on the CPU with C++ over the span of eight weeks. It was my first interaction with the theory of Light Transport.
This project focused on complexity over accuracy. It was made to push the limits of the CPU using acceleration structures and other optimization methods.
In the end I wanted to put focus on rendering complex fractal like scenes while also providing simpler scenes showcasing the different material models.


What did I do?
- Build a ray tracing rendering pipeline that supports both Whitted-Style and Diffuse Reflection
- Made a multi-threaded worker system that runs the renderer
- Optimized the renderer, resulting in 30-300 million rays per second on the CPU, giving 30+ FPS with 80.000+ spheres in a scene
- Loaded in textures as skydome to use as a light source
- Created fractal scenes: Sphereflake, Mengersponge and Sierpinski Carpet
- Bounding Volume Hierarchy as acceleration structure
- Included post processing techniques such as ACES tone mapping




