Computer Graphics

Light Transport

Algorithms that solve the rendering equation, and the estimators they are built from.

Colour is the family; a dashed line is the second member of it.

Drag to pan · scroll to zoom · click a node to open it
G bidirectional-path-tracing Bidirectional Path Tracing multiple-importance-sampling Multiple Importance Sampling bidirectional-path-tracing->multiple-importance-sampling the same path is built many ways and must be weighted path-tracing Path Tracing bidirectional-path-tracing->path-tracing also grows a subpath from the light side instant-radiosity Instant Radiosity rendering-equation The Rendering Equation instant-radiosity->rendering-equation collapses indirect bounces into a set of point lights irradiance-caching Irradiance Caching irradiance-caching->path-tracing diffuse indirect is smooth, so per-pixel sampling is wasted many-light-sampling Many-Light Sampling many-light-sampling->instant-radiosity cost grows linearly in the number of virtual lights next-event-estimation Next Event Estimation many-light-sampling->next-event-estimation picks which light to sample when there are thousands metropolis-light-transport Metropolis Light Transport metropolis-light-transport->bidirectional-path-tracing explores near paths that already found light multiple-importance-sampling->next-event-estimation light sampling alone is terrible on near-specular surfaces next-event-estimation->path-tracing random walks almost never hit small light sources path-guiding Path Guiding path-guiding->path-tracing BSDF sampling ignores where the light actually is importance-sampling Importance Sampling path-guiding->importance-sampling the learned distribution is used as the sampling pdf whitted-ray-tracing Whitted Ray Tracing path-tracing->whitted-ray-tracing randomizes every bounce instead of only mirrors monte-carlo-integration Monte Carlo Integration path-tracing->monte-carlo-integration the sample space is the space of light paths path-tracing->rendering-equation expands the recursive integral into random walks photon-mapping Photon Mapping photon-mapping->bidirectional-path-tracing caches light subpaths instead of connecting to them photon-mapping->path-tracing caustics through glass essentially never converge primary-sample-space-mlt Primary Sample Space MLT primary-sample-space-mlt->metropolis-light-transport path-space mutations are hard to implement correctly progressive-photon-mapping Progressive Photon Mapping progressive-photon-mapping->photon-mapping photon count is capped by memory, so bias never vanishes radiosity Radiosity radiosity->path-tracing view-independent solve instead of per-pixel sampling radiosity->rendering-equation solves the diffuse-only case as a linear system resampled-importance-sampling Resampled Importance Sampling resampled-importance-sampling->importance-sampling approximates a pdf that cannot be sampled directly restir ReSTIR restir->resampled-importance-sampling reuses candidate pools across pixels and frames temporal-reprojection Temporal Reprojection restir->temporal-reprojection the previous frame's reservoir must be located restir-gi ReSTIR GI restir-gi->restir reuses indirect paths, not just direct light samples russian-roulette Russian Roulette russian-roulette->path-tracing cutting paths at a fixed depth loses energy stochastic-progressive-photon-mapping Stochastic Progressive Photon Mapping stochastic-progressive-photon-mapping->progressive-photon-mapping a fixed hit point set cannot express a pixel- wide integral vertex-connection-and-merging Vertex Connection and Merging vertex-connection-and-merging->bidirectional-path-tracing adds photon merging as an extra connection strategy vertex-connection-and-merging->multiple-importance-sampling connection and merging must be weighted against each other whitted-ray-tracing->rendering-equation only mirror and refraction bounces, plus one shadow ray

20 nodes

Whitted Ray Tracing

Recursive ray tracing with perfect mirror reflection, refraction and a single shadow ray per light. The first algorithm to get interreflection right,… · 1980

Radiosity

Discretizes the scene into patches and solves a linear system of form factors for diffuse interreflection. View-independent, so the solution can be w… · 1984

Path Tracing

Solves the rendering equation by tracing random walks from the camera and averaging their contributions. Unbiased and simple, and the baseline every… · 1986

Irradiance Caching

Computes diffuse indirect irradiance at sparse points and interpolates between them, adding new samples only where the gradient estimate says the int… · 1988

Bidirectional Path Tracing

Trace a subpath from the camera and another from a light, then connect every pair of vertices. Finds paths that neither direction would find alone, s… · 1993

Multiple Importance Sampling

Combine several sampling strategies by weighting each sample according to the probability every strategy would have had of generating it. The balance… · 1995

Photon Mapping

Trace particles from the lights, store their hits in a spatial structure, then estimate radiance at camera hit points by density estimation over near… · 1996

Instant Radiosity

Represents indirect illumination by scattering a set of virtual point lights from the light sources, turning a bounce integral into ordinary direct l… · 1997

Metropolis Light Transport

Once a path reaching the light is found, mutate it locally and accept mutations with a Metropolis-Hastings rule, so effort concentrates where transpo… · 1997

Primary Sample Space MLT

Runs the Metropolis chain over the random numbers fed to an ordinary path tracer rather than over path space itself, so the mutation machinery become… · 2002

Resampled Importance Sampling

Draw a pool of cheap candidates, then pick one from the pool with probability proportional to a better target function. Approximates sampling from a… · 2005

Progressive Photon Mapping

Keeps camera hit points instead of photons and shrinks each one's search radius as more photon passes arrive, so the estimate converges to the correc… · 2008

Stochastic Progressive Photon Mapping

Regenerates the camera hit points every pass rather than fixing them once, which restores depth of field, motion blur and glossy reflection. · 2009

Vertex Connection and Merging

Treats photon merging as just another sampling technique alongside bidirectional connection, and MIS-weights the two together, so one integrator hand… · 2012

Path Guiding

Learns an approximation of the incident radiance distribution during rendering and samples directions from it, so paths head toward light rather than… · 2017

Many-Light Sampling

Builds a hierarchy over the light sources and descends it stochastically using bounds on each cluster's contribution, so shading cost grows with the… · 2018

ReSTIR

Keeps a small reservoir of chosen light samples per pixel and repeatedly resamples it against neighbours and the previous frame, so each pixel effect… · 2020

ReSTIR GI

Applies reservoir resampling to indirect paths by storing sample points and their outgoing radiance, extending the technique past direct lighting. · 2021

Next Event Estimation

At every path vertex, additionally sample a point on a light and trace a shadow ray to it, rather than waiting for the random walk to wander onto an…

Russian Roulette

Terminate a path with some probability and divide the survivors by the survival probability. Bounds path length without the bias that a hard depth cu…