Views
LightPath
From Odwiki
Light transport is the term used for defining paths that light can take to go from a light source to a surface. There are four different paths that light can take to get to a surface (and thus provide illumination).
- Direct Diffuse
- Indirect Diffuse
- Direct Specular
- Indirect Specular
Direct diffuse is illumination which is computed directly from a light source. If you put a light source in the scene, this is the light which shines directly on the surface from the light source.
Indirect diffuse is diffuse illumination which comes from other lit surfaces in the scene. This is typically light gathered over the hemisphere above the surface. In early computer graphics, this was usually modelled as an ambient term. AmbientOcclusion is a special case of Indirect diffuse illumination which assumes that the illumination from the environment is either a uniform color or determined by an EnvironmentMap. In the case of AmbientOcclusion, no illuminated surfaces are used to bounce direct light, but instead, the color of the environment is used to determine the indirect diffuse illumination.
Direct specular light is the representation of the reflection of a light source in the surface. There are several different models for this illumination including Phong, Cook-Torrence, etc.
Indirect specular is light which is bounced off of reflective or refractive surfaces before it illuminates the surface. Examples of this are a magnifying class focusing light, a mirror reflecting direct specular light onto another surface. These effects are often called Caustics.
Light Transport Paths in mantra
Direct diffuse/specular are easily computed using illuminance() statements in VEX (or alternatively, the diffuse() statement handles direct diffuse, while specular(), phong(), etc. handle direct specular light paths).
The VEXGlobalIlluminationSHOP light shader can be applied to a light source to handle both indirect diffuse and indirect specular. The shader has two tabs (Irradiance and PhotonMap). The irradiance tab provides controls for indirect diffuse computation (including ambient occlusion). The photon map tab is used to evaluate a photon map. The Global Photon Map uses photons to estimate the indirect diffuse light path, the Caustic Photon map is used to estimate the indirect specular light path.
TODO, what is the Direct Photon map used for? Does it tie into the Photons Contribute to Direct Illumination parameter in light sources?



