A physically-based renderer implementing the path tracing algorithm from scratch in C++.
Built for Brown CS 224 (Computer Graphics). Solves the rendering equation via Monte Carlo sampling,
producing soft shadows, color bleeding, caustics, mirror reflections, and glass refraction.
← Back to Projects
Cornell box scenes rendered with the path tracer. Click any image to enlarge.
Cornell box scenes · area lighting · Monte Carlo path tracing
Diffuse, glossy specular, perfect mirror, and dielectric refraction with Fresnel reflection.
Area light source sampling produces physically accurate soft shadow penumbrae.
Indirect illumination with color bleeding and caustics via recursive bounce rays.
Separate accumulation of direct and indirect lighting contributions at each intersection.
Probabilistic path termination for unbiased estimation with bounded computation.
Extended Reinhard operator converts HDR radiance values to displayable LDR images.