Introduction to Dynamic Diffuse Global Illumination (DDGI)
In this section, we will explain the algorithm behind DDGI. DDGI is based on two main tools: light probes and irradiance volumes:
- Light probes are points in space, represented as spheres, that encode light information
- Irradiance volumes are defined as spaces that contain three-dimensional grids of light probes with fixed spacing between them
Sampling is easier when the layout is regular, even though we will see some improvements to placements later. Probes are encoded using octahedral mapping, a convenient way to map a square to a sphere. Links to the math behind octahedral mapping have been provided in the Further reading section.
The core idea behind DDGI is to dynamically update probes using ray tracing: for each probe, we will cast some rays and calculate the radiance at the triangle intersection. Radiance is calculated with the dynamic lights present in the engine, reacting in real time to any light...