In Anbetracht des hohen Aufwands beim bisher beschriebenen
Radiosity-Algorithmus stellt sich die Frage,
ob man die Ergebnisse der Beleuchtungsberechnung inkrementell approximieren kann.
Die Auswertung der -ten Zeile des Gleichungssystems
liefert eine Schätzung für die Strahlung des
Flächenelements, die auf den Schätzungen für die
Strahlungswerte der anderen Flächenelemente basiert.
Jeder Term in der Summe der Gleichung beschreibt die
Auswirkung des Elements auf die Strahlung
des Elements :
Diese Methode ``sammelt'' also das Licht der restlichen
Szene ein.
Der Ansatz zur schrittweisen Verfeinerung verteilt dagegen die Strahlung
eines Flächenelements auf die Szene.
Dazu bietet sich die Anpassung obiger Gleichung zu
for i:= 1 to n do
initialisiere
if patch i ist Lichtquelle
für jede Fläche
then := := Emissionswert
Strahlung und Differenz
else := := 0
end;
repeat
for {jede Fläche i, beginnend bei größter Ausstrahlung} do begin
Plaziere Hemicube auf Fläche i
Berechne für alle
for j := 1 to n do begin
{für jede Fläche j tue}
Strahlung von Fläche i
Differenz erhöhen
Strahlung erhöhen
end;
;
Überschuß ist verteilt
end
until fertig
bis zur Konvergenz
Bei jeder Ausführung der äußeren FOR-Schleife verteilt ein weiteres Flächenelement seine unverbrauchte Strahlung auf die Szene. Daher werden nach der ersten Ausführung nur die Flächen beleuchtet, die selbst Lichtquellen sind sowie solche, die beim Verteilen der Strahlung des ersten Elements direkt beleuchtet werden. Rastert man am Ende jeder Ausführung des Codes ein neues Bild, so wird das erste Bild relativ dunkel und die nachfolgenden Bilder immer heller.
Abbildung 23.4 faßt den gesamten Ablauf zusammen.