ShirleyTracer
Project Details
A brute force pathtraced renderer programmed referencing the Ray Tracing in One Weekend series by Peter Shirley, Trevor David Black, and Steve Hollasch.

Final render from Book 3 of Ray Tracing in One Weekend.
This was my first go at anything related to offline rendering after spending most of my time learning and implementing rasterization related techniques in OpenGL. I inadvertently ended up preemptively improving certain features, which was pleasant.

Final render from Book 1 of Ray Tracing in One Weekend.
The first book, and the first half of the second book were intuitive, but the difficulty scaled ridiculously as I began the third due to my utter lack of related prerequisites. This itself took me nearly two months to complete.
Features
- Monte Carlo Pathtracing.
- Developed from scratch with C++.
- Per pixel multi-sampled anti-aliasing.
- Gamma correction.
- Positionable camera with defocus blur.
- Lambertian, metallic, and dielectric materials.
- Motion blur.
- Axis-aligned Bounding Boxes (AABB) BVH.
- Solid color, image, and noise textures.
- Perlin noise with trilinear interpolation and Hermitian smoothing.
- Emissive lights.
- Primitives: quads, spheres.
- Volumes.
- Importance Sampling
- Mixed PDFs.