The rendering equation is an aspect of computer graphics that deals with how light radiates and bounces off surfaces, so graphic designers can make realistic three-dimensional (3D) scenes. Two factors that designers have to take into consideration are direct and indirect light, or light from a source and light that bounces off surfaces. One of the major media using the rendering equation is 3D animation because, without light, the scenes and characters would look flat and awkward. Video games also use this equation, but there are unique challenges because games have to render in real-time. While this rendering technique is suitable for imitating light, as of 2011, there are limitations that keep it from perfectly imitating light in the real world.
This equation is a bit complex, and includes a number of variables. It also is possible to write it in several different ways, but a number of variables should always be taken into account. In the equation, Lo is outgoing light; x is a point on a surface, and ω is the direction. Le is emitted light, and Li is incoming light. One version of the equation looks like this:
Lo(x, ω) = Le(x, ω) + ∫Ωƒr(x, ω′, ω)Li(x, ω′)(—ω′ • n)dω′
What this means is that outgoing light, with a particular direction from a specific point, is equal to light emitted from that point plus an integral (∫Ω) of the bidirectional reflectance distribution function, the incoming light, and the attenuation of the incoming light, over all directions (ω′) in the hemisphere determined by n.
Designers have to consider two types of light when using the rendering equation. Direct light is any light that is coming directly from a light source, such as a light bulb or the sun. Designers must make the light radiate from the source at the right intensity to ensure it bounces off surfaces correctly. Indirect light is light that is not directly from the source, such as light curving around a surface. This requires designers to ensure the light is accurately detailing the texture of a surface, and that the light and shadows are mingling without error.
Computer-generated 3D animations use the rendering equation to make realistic scenes. Since 3D animations are made to imitate real life, whether stylistically or realistically, this light is required to make scenes look real. Without light, surfaces and characters would lose much of their depth, and many viewers might think the scenes look awkward. At the same time, 3D animations made for very young children or those with small budgets may use a limited light equation that is not as realistic but is easier for designers to use.
Video games use the rendering equation often, but this presents a challenge to designers. With 3D animations, designers are able to correct the light if it looks incorrect; a game designer has to program light so it works and renders in real-time. This often requires a scaled-down equation that can load light quickly.
While the rendering equation can create realistic-looking light, there are limitations that keep it from copying real life. In the real world, light can react in ways that are very difficult to program. For example, light can be absorbed and repelled with different wavelengths, or it can emitted at later times instead of immediately; both of these are very difficult to program. At the same time, because most viewers or players are focused on the action of the animation or game, it is unlikely that most viewers will notice these problems.