Rendering equation

From Wikipedia, the free encyclopedia
Jump to: navigation, search
The rendering equation describes the total amount of light emitted from a point x along a particular viewing direction, given a function for incoming light and a BRDF.

In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation. It was simultaneously introduced into computer graphics by David Immel et al.[1] and James Kajiya[2] in 1986. The various realistic rendering techniques in computer graphics attempt to solve this equation.

The physical basis for the rendering equation is the law of conservation of energy. Assuming that L denotes radiance, we have that at each particular position and direction, the outgoing light (Lo) is the sum of the emitted light (Le) and the reflected light. The reflected light itself is the sum of the incoming light (Li) from all directions, multiplied by the surface reflection and cosine of the incident angle.

Contents

[edit] Equation form

The rendering equation may be written in the form

L_o(\mathbf x, \omega, \lambda, t) = L_e(\mathbf x, \omega, \lambda, t) + \int_\Omega f_r(\mathbf x, \omega', \omega, \lambda, t) L_i(\mathbf x, \omega', \lambda, t) (-\omega' \cdot \mathbf n) d \omega'

where

  • \lambda\,\! is a particular wavelength of light
  • t\,\! is time
  • L_o(\mathbf x, \omega, \lambda, t) is the total amount of light of wavelength \lambda\,\! directed outward along direction ω at time t\,\!, from a particular position \mathbf x\,\!
  • L_e(\mathbf x, \omega, \lambda, t) is emitted light
  • \int_\Omega \cdots d\omega' is an integral over a hemisphere of inward directions
  • f_r(\mathbf x, \omega', \omega, \lambda, t) is the bidirectional reflectance distribution function, the proportion of light reflected from ω' to ω at position \mathbf x\,\!, time t\,\!, and at wavelength \lambda\,\!
  • L_i(\mathbf x, \omega', \lambda, t) is light of wavelength \lambda\,\! coming inward toward \mathbf x\,\! from direction ω' at time t\,\!
  • -\omega' \cdot \mathbf n is the attenuation of inward light due to incident angle

Two noteworthy features are: its linearity—it is composed only of multiplications and additions, and its spatial homogeneity—it is the same in all positions and orientations. These mean a wide range of factorings and rearrangements of the equation are possible.

Note this equation's spectral and time dependence—L_o\,\! may be sampled at or integrated over sections of the visible spectrum to obtain, for example, a trichromatic color sample. A pixel value for a single frame in an animation may be obtained by fixing t\,\!; motion blur can be produced by integrating L_o\,\! over t\,\!.[3]

[edit] Limitations

Although the equation is very general, it does not capture every aspect of light reflection. Some missing aspects include the following:

  • phosphorescence, which occurs when light is absorbed at one moment in time and emitted at a different time,
  • fluorescence, where the absorbed and emitted light have different wavelengths,
  • interference, where the wave properties of light are exhibited, and
  • subsurface scattering, where the spatial locations for incoming and departing light are different. Surfaces rendered without accounting for subsurface scattering may appear unnaturally opaque.

Solving the rendering equation for any given scene is the primary challenge in realistic rendering. One approach to solving the equation is based on finite element methods, leading to the radiosity algorithm. Another approach using Monte Carlo methods has led to many different algorithms including path tracing, photon mapping, and Metropolis light transport, among others.

For scenes that are either not composed of simple surfaces in a vacuum or for which the travel time for light is an important factor, researchers have generalized the rendering equation to produce a volume rendering equation[4] suitable for volume rendering and a transient rendering equation[5] for use with data from a time-of-flight camera.

[edit] References

  1. ^ Immel, David S.; Cohen, Michael F.; Greenberg, Donald P. (1986), "A radiosity method for non-diffuse environments", Siggraph 1986: 133, doi:10.1145/15922.15901, ISBN 0897911962 
  2. ^ Kajiya, James T. (1986), "The rendering equation", Siggraph 1986: 143, doi:10.1145/15922.15902, ISBN 0897911962, http://www.cs.princeton.edu/courses/archive/fall02/cs526/papers/kajiya86.pdf 
  3. ^ Owen, Scott (September 5, 1999). "Reflection: Theory and Mathematical Formulation". http://www.siggraph.org/education/materials/HyperGraph/illumin/reflect2.htm. Retrieved 2008-06-22. 
  4. ^ Kajiya, James T.; Von Herzen, Brian P. (1984), "Ray tracing volume densities", Siggraph 1984 18 (3): 165, doi:10.1145/964965.808594 
  5. ^ Smith, Adam M.; Skorupski, James, Davis, James (2008). Transient Rendering (Technical report). UC Santa Cruz. UCSC-SOE-08-26. http://www.soe.ucsc.edu/research/report?ID=1528. 

[edit] External links

  • Lecture notes from Stanford University course CS 348B, Computer Graphics: Image Synthesis Techniques
Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages