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.

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.

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.