i
i
i
i
i
i
i
i
330 9. Global Illumination
by regular expressions, showing what types of interactions they simulate.
See Table 9.1 for a summary of basic notation.
Photons can take various paths from light to eye. The simplest path is
LE, where a light is seen directly by the eye. A basic Z-buffer is L(D|S)E,
or equivalently, LDE|LSE. Photons leave the light, reach a diffuse or
specular surface, and then arrive at the eye. Note that with a basic ren-
dering system, point lights have no physical representation. Giving lights
geometry would yield a system L(D|S)?E,inwhichlightcanalsothengo
directly to the eye.
If environment mapping is added to the renderer, a compact expression
is a little less obvious. Though Heckbert’s notation reads from light to
eye, it is often easier to build up expressions going the other direction.
The eye will first see a specular or diffuse surface, (S|D)E.Ifthesurface
is specular, it could also then, optionally, reflect a (distant) specular or
diffuse surface that was rendered into the environment map. So there is an
additional potential path: ((S|D)?S|D)E. To count in the path where the
eye directly sees the light, add in a ? to this central expression to make it
optional, and cap with the light itself: L((S|D)?S|D)?E.
1
Note that this expression could be expanded to LE|LSE|LDE|LSSE|
LDSE, which shows all the possible paths individually, or the shorter
L((D|S)?S?E. Each has its uses in understand relationships and limits.
Part of the utility of the notation is in expressing algorithm effects and
being able to build off of them. For example, L(S|D) is what is encoded
when an environment map is generated, and SE isthepartthatthen
accesses this map.
As various global algorithms are introduced in this chapter, their no-
tational equivalent will be presented. The rendering equation itself can be
summarized by the simple expression L(D|S) ∗ E, i.e., photons from the
light can hit zero to nearly infinite numbers of diffuse or specular surfaces
before reaching the eye.
Global illumination research focuses on methods for efficiently comput-
ing light transport along some of these paths. Determining whether light
reaches a surface is one of the most critical factors, and this chapter be-
gins in this area, discussing shadows and ambient occlusion. A variety of
techniques to perform global reflection, refraction, caustics, and subsurface
scattering follow. Two basic alternate rendering algorithms, radiosity and
ray tracing, are then briefly described.
One of the most common uses of full global illumination algorithms in
real-time rendering is to compute various quantities ahead of time, which
are later used to accelerate the rendering process or improve its quality.
1
When building up such paths from the eye, it is often easier on the brain to reverse
the order of the notation, e.g., E(D|S(S|D)?)?L. Either direction is fine; this notation
is meant as a tool, not as an exercise in confusion.