Global Illumination and All That

Per H. Christensen

Introduction:

Global illumination effects include the soft darkening under an object and near edges, color bleeding, etc. These effects are subtle, but important for the realism of an image.

Global illumination effects can be faked with "bounce lights", ie. placing direct light sources at strategic positions in the scene to "fill in" the missing indirect light. Placing bounce lights in a scene requires a lot of painstaking trial and error before a believable result is achieved. (And evaluating many bounce lights at each shading point during rendering isn't cheap either.) We believe that in many cases, simulation of global illumination is the most cost-effective way of obtaining a given effect.

Simulation of global illumination has often been dismissed as being too inflexible and too slow for use in the effects industry. Another objection has been that global illumination algorithms have not been able to handle the insanely complex scenes that are routinely rendered in the industry.

However, in our implementation, the scene causing the indirect illumination can be completely different from the rendered scene, and this gives a high degree of flexibility -- there are many knobs to tweak to make the desired adjustments.

While it is true that global illumination computation is slower than a pure scanline rendering, the algorithms continue getting more efficient and the computers continue getting faster.

It is also true that, traditionally, the very incoherent geometry and texture accesses required to compute global illumination have placed severe limits on the scene sizes. However, observations about ray coherency and careful use of multiresolution geometry and texture caches allows us to overcome this limitation; this is described in the course note for SIGGRAPH course 27 [Damez03] and in more detail in a forthcoming paper [Christensen03].

Global illumination is not a part of the current RenderMan specification [PixarRenderMan00]. However, some RenderMan compliant renderers have implemented various flavors of global illumination, for example the Vision system [Slusallek94,Slusallek95] and BMRT [Gritz96]. In this note, we describe the implementation of global illumination and related effects in release 11 of Pixar's RenderMan renderer (PRMan). Among the possible effects are super-soft shadows from ambient occlusion, image-based environment illumination (including high-dynamic range images, HDRI), color bleeding, and general global illumination. We also show how to manipulate and tweak global illumination to obtain a desired look, and how to "bake" ambient occlusion and indirect illumination for reuse in an animation.

One-line summary: How to use PRMan's ambient occlusion and global illumination features.

Published in: Dana Batali, David M. Laur, Per H. Christensen, Christophe Hery, and many others. RenderMan, Theory and Practice. SIGGRAPH 2003 Course Note #9, pages 31-72. ACM, July 2003. (San Diego, USA, July 27-31.)

Course web page: RenderMan, Theory and Practice.

Download course note here: sig03.course09.pdf.gz (37 MB).


Back to Per's publication page.