Path Tracer

Physically-based renderer with Monte Carlo path tracing, supporting mirror, refraction, glossy BRDFs and global illumination.

Website

A physically-based renderer built from scratch in C++ for Brown CS 224 (Computer Graphics). Implements the path tracing algorithm to solve the rendering equation via Monte Carlo sampling.

Features:

  • Four BRDFs: diffuse, glossy specular, perfect mirror, dielectric refraction with Fresnel
  • Soft shadows from area light source sampling
  • Global illumination with color bleeding and caustics
  • Event splitting for direct vs. indirect lighting
  • Russian roulette path termination
  • Extended Reinhard tone mapping
  • BVH acceleration structure for fast ray-scene intersection

Technologies: C++, Qt, Eigen