Graphics Reference
In-Depth Information
B
:=
E
;
D
B
:=
E
;
while B
has not yet converged
do
begin
Pick an i so that A
i
D
B
i
is the largest (to speed convergence);
Calculate the row of form factors F
ij
using a hemicube centered on patch i ;
for each
j π i
do
begin
D
rad
:= D
B
i
r
j
F
ij
A
i
/A
j
;
D
B
j
:= D
B
j
+ D
rad
;
B
j
:=
B
j
+ D
rad
;
end
;
D
B
i
:= 0;
end
;
Algorithm 10.3.2.
A progressive refinement algorithm for computing the radiosity
vector.
Figure 10.8.
A
progressive
refinement
radiosity algorithm.
determines the radiosity contribution of patch i to patch j. The new algorithm, Algo-
rithm 10.3.2, will compute this contribution for all patches j. We can think of this as
“shooting” light out from patch i into the environment. See Figure 10.8. As the algo-
rithm iterates over various ith patches, the same i may be repeated several times. At
a subsequent use of i, since the environment has already used the previous B
i
, we only
need to consider the difference, D
B
i
, between the previous and current value of B
i
.
One of the nice features of Algorithm 10.3.2 is that, rather than having to wait
until the final picture is computed, one can watch intermediate renderings. The algo-
rithm as it stands will start with a dark picture that gradually turns light. To get a