The Rendering Equation and Path Tracing
Takeaway
The rendering equation expresses outgoing radiance as emitted light plus reflected incident light integrated over directions; path tracing solves it via Monte Carlo integration.
The problem (before → after)
- Before: Local shading ignores indirect light, causing unrealistic images.
- After: Integrate all light paths (including bounces) to capture global illumination.
Mental model first
Light is like ping-pong balls bouncing around a room; the brightness you see from a point is the sum of balls launched from every direction, weighted by how reflective the surface is.
Just-in-time concepts
- Rendering equation: L_o(x, ω_o) = L_e + ∫_Ω f_r(x, ω_i, ω_o) L_i(x, ω_i) (n·ω_i) dω_i.
- BRDF f_r; importance sampling; Russian roulette termination.
- Unbiased estimators and variance.
First-pass solution
Trace random paths from the camera; at each bounce, sample the BRDF; accumulate contributions along the path; average many paths per pixel.
Iterative refinement
- Multiple importance sampling reduces variance.
- Next-event estimation handles direct lighting efficiently.
- Materials and participating media require specialized sampling.
Principles, not prescriptions
- Match sampling to the integrand; reduce variance without bias.
- Conserve energy and handle normals/cosines correctly.
Common pitfalls
- Naive uniform sampling causes noise; missing cosine term or mis-normalized BRDFs.
- Insufficient depth and poor termination create bias.
Connections and contrasts
- See also: [/blog/metropolis-light-transport], [/blog/perceptual-losses].
Quick checks
- Why unbiased? — Monte Carlo estimator’s expectation equals the integral.
- Why MIS? — Combines samplers to cancel each other’s weaknesses.
- Why Russian roulette? — Avoids bias while limiting path length.
Further reading
- Kajiya (1986) (source above); PBRT book