Indirect lighting is an important factor in creating a believable look of game worlds. Many of the solutions commonly used for rendering indirect illumination suffer from numerous problems: they are either expensive, in both memory and runtime performance, making them unsuitable for use in a 60Hz title or provide insufficient quality.
We present a complete description of the system used in the Call of Duty: Infinite Warfare, from the initial motivations and assumptions, through the description of our baking pipeline and the runtime components. We will show how various components of the illumination signal can be decoupled - which allows to both speed up the precomputation times as well as achieve higher quality results at runtime, while avoiding much of the memory cost.
We will describe the light grid system responsible for providing indirect lighting for the dynamic entities, talk about our experiences with automatically generating indirect illumination probes as well as share some interesting solutions for dealing with common problems arising when working with precomputed lighting – namely heuristics for determining validity of the samples used, various approaches for dealing with de-ringing of spherical harmonic signals, etc.
Click here to download the full presentation with notes in: PowerPoint