Path tracing is a computer graphics Monte Carlo method of rendering images of three-dimensional scenes such that the global illumination is faithful to reality.
An extended version of the algorithm is realized by volumetric path tracing, which considers the light scattering of a scene.
[1] Path tracing was introduced then as an algorithm to find a numerical solution to the integral of the rendering equation.
[2] Metropolis light transport, a method of perturbing previously found paths in order to increase performance for difficult scenes, was introduced in 1997 by Eric Veach and Leonidas J. Guibas.
More recently, CPUs and GPUs have become powerful enough to render images more quickly, causing more widespread interest in path tracing algorithms.
[5] This was aided by the maturing of GPGPU programming toolkits such as CUDA and OpenCL and GPU ray tracing SDKs such as OptiX.
Earlier films had relied on scanline rendering to produce CG visual effects and animation.
Also, Walt Disney Animation Studios has been using its own optimized path tracer known as Hyperion ever since the production of Big Hero 6 in 2014.
While radiosity received a lot of attention at its introduction, perfectly diffuse surfaces do not exist in the real world.
The realization that scattering from a surface depends on both incoming and outgoing directions is the key principle behind the bidirectional reflectance distribution function (BRDF).
Note this method of always sampling a random ray in the normal's hemisphere only works well for perfectly diffuse surfaces.
Sampling the integral can be done by either of the following two distinct approaches: In both cases, a technique called next event estimation can be used to reduce variance.
Next event estimation cannot be used to sample these paths directly from the diffuse surface, because the specular interaction is in the middle.
Light tracing has a similar issue when paths interact with a specular surface before hitting the camera.
Bidirectional path tracing provides an algorithm that combines the two approaches and can produce lower variance than either method alone.
Noise is particularly a problem for animations, giving them a normally unwanted "film grain" quality of random speckling.
The central performance bottleneck in path tracing is the complex geometrical calculation of casting a ray.
Importance sampling is a technique which is motivated to cast fewer rays through the scene while still converging correctly to outgoing luminance on the surface point.
A path tracer can take full advantage of complex, carefully modeled or measured distribution functions, which controls the appearance ("material", "texture", or "shading" in computer graphics terms) of an object.