Radiosity
Shortfalls of Ray Tracing
Ray tracing is good at modeling surfaces that are reflecting and/or transmitting but it is not good at modeling diffuse surfaces. In particular, it does not model diffuse light that is reflected onto surrounding surfaces.
In non-recursive ray tracing we consider light rays come directly from light sources
as shown below.
If we add reflections (recursive ray tracing), then we also include the light that
reaches point P from point Q. Point Q is found by following Rv (magenta line).
Note, that we ignore all of the light emitted from other surfaces that reaching point P from
other angles, e.g. the green line.
Diffuse Surfaces and Radiosity
|
Diffuse surfaces scatter light in all directions as opposed to very reflective surfaces that scatter light mostly along the direction of reflection.
|
Radiosity was developed to deal precisely with this type of diffuse light.
The illumination method referred to as radiosity is based on heat transfer equations from physics.
The steps required are:
- Create your scene.
- Meshing: Break all the objects in the scene into small flat polygons (patches), each of which is assumed to be perfectly diffuse and renders in a constant shade. Each patch reflects light received from every other patch. It may also emit light if it is a light source. Light intensity is assumed to be constant across the patch.
- The interaction between the patches depends on their geometric relationship (e.g. distance, orientation). Techniques such as the hemicube algorithm are used for efficiently calculating the geometric relationship.
-
To determine the shades, a set of equations is set up based on the conservation of light energy. These equations are solved either iteratively or exactly using matrix solvers (matrix solvers are generally not practical given the large number of patches). The patches are considered pairwise to determine form factors which describe how light leaving one patch affects the other patch. Note that this is a slow O(n2) algorithm.
The solution is view independent, that is, it is independent of the location of the camera. Once the form factors are calculated, the solution must be fed into a renderer that projects the 3D scene down onto a 2D screen. Gouraud type smoothing algorithms can be used to interpolate the colors across the patches.
- Shadows are inherent in the algorithm. The only problem is that the patch size may have to be reduced in order to get the correct shadow boundaries.
|
|
For more detailed information, go to:
Examples:
[top]
[Home]