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

  1. Multiple importance sampling reduces variance.
  2. Next-event estimation handles direct lighting efficiently.
  3. 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

  1. Why unbiased? — Monte Carlo estimator’s expectation equals the integral.
  2. Why MIS? — Combines samplers to cancel each other’s weaknesses.
  3. Why Russian roulette? — Avoids bias while limiting path length.

Further reading

  • Kajiya (1986) (source above); PBRT book