๐ŸŒ‘ Path Tracing

Monte Carlo global illumination ยท Cornell box ยท Progressive accumulation

0 spp

Render

Scene

Scene change resets accumulation

Progress

Samples / pixel0
FPSโ€”
Resolutionโ€”

Max target: 512 spp

About

Each frame traces one random ray per pixel. Samples accumulate via a ping-pong framebuffer โ€” the more samples, the less noise. Colour from red/green walls “bleeds” onto nearby surfaces.

๐ŸŒ‘ Path Tracing โ€” Monte Carlo Light Transport

Physically accurate rendering via Monte Carlo integration. Each pixel fires many rays that bounce randomly until they reach a light source โ€” averaging the results gives a noise-free image over time.

๐Ÿ”ฌ What It Demonstrates

The rendering equation (Kajiya 1986) computes outgoing light L at a surface as the integral of incoming light ร— BRDF over the hemisphere. Monte Carlo solves this by sampling random directions according to the BRDF distribution. Each sample is unbiased โ€” the image converges to exact global illumination given infinite samples. Soft shadows, colour bleeding, and caustics emerge automatically from the physics, without special-case code.

๐ŸŽฎ How to Use

Drag to orbit the camera. The image progressively refines โ€” each frame adds more samples per pixel. Switch between scene presets to see Cornell box, sphere clusters and reflective surfaces. Increase the max bounce depth to capture multiple-bounce indirect light. The sample counter shows how many rays per pixel have accumulated. Click Reset Accumulation to restart from scratch after changing the scene.

๐Ÿ’ก Did You Know?

Pixar's RenderMan uses path tracing to render every film frame โ€” a single production frame may accumulate 10 000+ samples and take hours on a render farm. The convergence rate of Monte Carlo path tracing is 1/โˆšN: doubling quality requires quadrupling the sample count. GPU hardware ray tracing (NVIDIA RTX) launched in 2018, enabling real-time path tracing in games for the first time by hardware-accelerating the BVH intersection queries that dominate path-trace computation.