Make your own free website on Tripod.com

Home | Raytracing Reference | Help

FuzzyPhoton

G - Raytracing Reference

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


Global illumination


Global illumination

Most renderers display objects in a simple, direct manner: if the object is in shadow, it receives only ambient light; if it is not in shadow, then empirical lighting models are applied to get a surface intensity. These lighting models are simplistic and take into account only the effects of direct lighting, that is, light coming directly from light sources. However, this is not a physically consistent picture. Light can reach a surface not only directly from light sources, but also as a result of reflection (we ignore refraction in this discussion) from other surfaces. Raytracers go some distance towards achieving this effect by considering reflected rays. But even this does not accurately model the large number of diffuse reflections taking place between surfaces. The reflected ray follows the path of ideal reflection, whereas diffuse reflection may be in any direction (except through the surface). Perfect reflectors are rarely encountered, whereas diffuse surfaces are common.

To accurately render the interdiffuse reflection effects, global illumination procedures are used. Examples are radiosity and Monte Carlo methods. Most global illumination algorithms consider diffuse reflections within a range of offsets from the direction of perfect reflection. The radiosity algorithm runs through the scene in several passes, refining the intensity maps obtained. Monte Carlo methods typically extend the raytracing algorithm by shooting rays in random scattering directions. A global illumination renderer may be used in conjunction with a raytracer to reap the advantages of both methods (global illumination models interdiffuse reflections, raytracing renders ideal reflection, refraction and volumetric effects). Such systems usually replace the constant ambient term used in the raytracer with global illumination calculations.

Siddhartha Chaudhuri, 2002