Spring 1999

# Radiosity (1984 Goral, et. al, at Cornell)

• illumination model based on principles from radiative heat transfer.

• view independent

• diffuse illumination only

• subdivide environment into patches -- area over which illumination is constant.

• Radiosity, B, of a patch -- total rate of energy leaving a patch

• Form factor
• geometrical relationship between between two patches Pi and Pj.
• Percent of energy leaving Pi that arrive at Pj.
• depend on angle and distance.

Radiosity * Area = Emitted energy + Reflected energy

Reflected energy = reflection coefficient * energy incident on the patch from all other patches.

Ei = light emitted from a patch (energy/time*area)

pi = reflectivity of the patch ( % of incident light reflected back into the environment). (rho)

FdAjdAi = form factor between patch dAj and dAi or % of energy leaving dAj incident on dAi.

This gives us:

OR

Form Factors:

So

Which can be rewritten as

where and are wavelength dependent.

only for lights. for convex surface.

Some Important Points to Note:

• matrix diagonally dominant.

• Can use Gauss-Seidel iteration to solve for Bi's

• Matrix solution can be viewed at each iteration as gathering light in from all patches.

• Bi's can then be used in renderer for illumination (color) at each patch n interpolated to average vertex intensities.

Computational Bottleneck: form factor calculations, O(n2)

Discretization resolution determines accuracy of solution

To increase accuracy, use

• Substructuring: Patch (coarse) --> Elements (fine).

Caculate Element-Patch form factors

where
F.F. from patch i to patch j
F.F. from element q of patch i to patch j
area of element q of patch i
R = # of elements in patch i.

-- now have form factors

for an element, only look at other patches, not elements.

Resulting operations needed:

1. Calculate patch form factors.

2. Calculate patch-patch coarse solution.

3. Subdivide patches into elements based on gradiant and calculate element-patch F.F.

Progressive Refinement

• Progressively increase the realism.

• In traditional ``gathering'' method, a solution for one row produces the radiosity for a single patch

Estimate of radiosity of patch i based on current value of all other patches.
==> gathering illumination.

• shooting method -- At each step, radiosity from a patch is shot onto all other patches ==> entire image gets better at each step.

For all j:

where .

Shooting Algorithm

```
Repeat
For each Patch i
for first iteration calculate F.F. .
For each Patch j ()
{

}

Until convergence

```

Improvements:

1. Order patches by , so shoot brightest patches first.
• to keep illumination of scene nearly constant
• descrease as solution gets more accurate

where is the overall reflection factor.

Form Factor Issues

1. high cost to compute -- nontrivial
2. Fij also must look at all other patches (shadowing/blocking).
hemicube solves 1 & 2 together.

Form Factor = fraction of unit circle taken up by projection.

3. Gathering algorithm requires storage and calculation of form factor matrix
large storage for matrix.