Path Tracer

C++

This is my implementation of a physically-based renderer using the path tracing algorithm, which can create physically accurate images by using recursive ray bounces to converge at an unbiased estimate of a scene's lighting. This project was done for my advanced graphics course.

Features

  • Four basic BSDFs:
    • Ideal Diffuse
    • Glossy Specular
    • Ideal Specular
    • Dielectric Refraction (with Fresnel Reflection)
  • Indirect Illumination
    • Color bleeding
    • Caustics
  • Event Splitting (Direct Illumination)
    • Soft shadows
  • Tone mapping
  • Attenuated refracted paths
  • Stratified sampling
  • Low-discrepancy sampling (using the Halton sequence)
  • BRDF importance sampling

Code is password-protected. To request access, email me at nlahlaf@gmail.com