Since its invention 20 years ago, irradiance caching has been successfully used to accelerate global illumination computation in the Radiance lighting simulation system. Its widespread use had to wait until computers became fast enough to consider global illumination in production rendering. Since then, its use is ubiquitous. Virtually all commercial and open-source rendering software base the global illumination computation upon irradiance caching. Although elegant and powerful, the algorithm often fails to produce artifact-free images. Unfortunately, practical information on implementing the algorithm is scarce.
The objective of the class is twofold. The first and main objective is to expose the irradiance caching algorithm along with all the details and tricks upon which the success of its practical implementation is dependent. Various image artifacts that the basic algorithm can produce will be shown along with a recipe to suppress them. We will also put strong emphasis on practical aspects of irradiance caching integration in production environments and discuss the particularities used in two big production houses, namely PDI/DreamWorks and Pixar.
The second objective is to acquaint the audience with the recent research results that increase the speed and extend the functionality of basic irradiance caching. Those include: exploiting temporal coherence to suppress temporal flickering; extending the caching mechanism to rendering glossy surfaces; accelerating the algorithm by porting it to the GPU. Advantages and disadvantages of those methods will be discussed.