Metropolis Light Transport (MLT)
Takeaway
MLT uses Markov Chain Monte Carlo to explore important light paths by mutating existing paths, dramatically reducing variance for difficult lighting (caustics, small lights).
The problem (before → after)
- Before: Pure path tracing rarely finds rare-but-important paths.
- After: Seed good paths and make local mutations to stay near high-contribution regions.
Mental model first
It’s like searching a dark cave with a flashlight: once you find a shiny seam, you scan nearby areas rather than wandering randomly.
Just-in-time concepts
- Path space; contribution function; detailed balance.
- Primary sample space MLT; mutation strategies (small/large steps).
- Acceptance probabilities (Metropolis–Hastings).
First-pass solution
Generate seed paths via bidirectional techniques; run MCMC to mutate samples; accumulate contributions with proper acceptance weights to preserve unbiasedness.
Iterative refinement
- Bidirectional path tracing hybrids.
- Multiplexed MLT and energy redistribution methods.
- Robust mutations across materials and participating media.
Principles, not prescriptions
- Spend samples where they matter; maintain balance for correctness.
- Design proposal distributions that match scene structure.
Common pitfalls
- Poorly tuned mutations get stuck or mix slowly.
- Forgetting Jacobians when mutating in different parameterizations.
Connections and contrasts
- See also: [/blog/rendering-equation], bidirectional path tracing.
Quick checks
- Why MCMC? — To concentrate samples on high-contribution path sets.
- Why acceptance step? — Ensures correct stationary distribution.
- Why seed paths? — To start near important regions of path space.
Further reading
- Veach & Guibas (1997) (source above); PBRT