Graphics Reference
In-Depth Information
Make an initial guess B for the radiosity vector.
while B has not yet converged do
for i:=1 to n do
K
B
n
ij
j
S π
B i := E i
-
K
j
=
1
j
i
ii
Algorithm 10.3.1.
A Gauss-Seidel algorithm for computing the radiosity vector.
Figure 10.7.
Gathering contributions in Gauss-
Seidel radiosity algorithm.
If there is no information to aid in making an initial guess, then set B (0) equal to
the light source radiosities E . The convergence criterium is usually to require that the
largest of the | r i k |, i = 1,2, . . . ,n is sufficiently small. One can show that the matrices
in (10.8) are of a form that guarantees the convergence of the solutions that the algo-
rithm generates.
In the terminology of [CCWG88], the Gauss-Seidel algorithm corresponds to
updating the ith patch at each iteration by “gathering” together the contribution of
the radiosities from all other patches as suggested in Figure 10.7. A more efficient way
to compute the radiosity is what is called a “progressive refinement” method. Here
one updates the whole picture during each iteration rather than just a single patch.
One basically reverses the procedure and asks what contribution the ith patch makes
to the radiosity of all the other patches. Equation (10.6) shows that
r i
BF
j
ij
determines the radiosity contribution of patch j to patch i. Using equation (10.5), one
sees that
A
A
i
j
r ij
BF
j
Search WWH ::




Custom Search