**Radiosity**is a rendering algorithm used in 3D computer graphics. It was the first (and most popular) global illumination method and unlike ray tracing it provides a workable solution to diffuse interaction as opposed to specular reflection.

## Visual Characteristics

The inclusion of radiosity calculations in the rendering process often lends an added element of realism to the finished scene, because of the way it mimics real-world phenomena. Consider a red ball sitting on a white floor:

Light strikes the ball, reflecting red light to surrounding objects. This phenomenon gives the white floor, in the vicinity of the ball, a reddish hue. The effect is subtle, but since the human eye is accustomed to its counterpart in the real world, it helps create the illusion of realism.

## Physical Characteristics

The basic radiosity method has its basis in the theory of thermal radiation, since radiosity relies on computing the amount of light energy transferred between two surfaces. In order to simplify the algorithm, the radiosity algorithm assumes that this amount is constant across the surfaces (perfect or ideal Lambertian surfaces); this means that to compute an accurate image, geometry in the scene description must be broken down into smaller areas, or patches, which can then be recombined for the final image.
After this break down, the amount of light energy transfer can be computed by using the known reflectivity of the reflecting patch, combined with the *form factor* of the two patches. This dimensionless quantity is computed from the geometric orientation of two patches, and can be thought of as the fraction of the total possible emitting area of the first patch which is covered by the second patch.

More correctly radiosity is the energy leaving the patch surface per discrete time interval and is the combination of emitted and reflected energy:

Where B is the radiosity of patch *i*. E_{i} is emitted energy. R_{i} is the reflectivity of the patch, giving reflected energy by multiplying by the incident energy, which is that energy which arrives from other patches. All *j* () in the rendered environment are integrated for B_{j}F_{ji}dA_{j}, to determine the energy leaving each *j* that arrives at *i*. F_{ji} is a constant form factor for the geometric relation between *i* and each *j*.

The reciprocity:

gives:

For ease of use the integral is replaced and constant radiosity is assumed over the patch, creating the simpler:

This equation can then be applied to each patch. The equation is monochromatic, so color radiosity rendering requires calculation for each of the required colors.

The constant F_{ji} can be calculated in a number of ways. Early methods used a *hemicube* (an imaginary cube centered upon the first surface to which the second surface was projected, devised by Cohen and Greenberg in 1985) to approximate the form factor, which also solved the intervening patch problem. This is quite computationally expensive, because ideally form factors must be derived for every possible pair of patches, leading to a quadratic increase in computation with added geometry.

Radiosity was introduced in 1984 by researchers at Cornell (C. Goral, K. E. Torrance, D. P. Greenberg and B. Battaile) in their paper "Modeling the interaction of light between diffuse surfaces". The theory was developed by R. Siegel and J. R. Howell ("Thermal Radiation Heat Transfer", 1984) to investigate heat transfer between adjacent elements in an enclosure.