Computergrafik
Radiosityberechnung
← Formfaktoren | ● | Beleuchtungsvergleich →
Berechnung der Lichtverteilung auf Oberflächen (Radiosity):
- Ziel: Berechnung der Lichtverteilung in einer 3D-Szene, inklusive indirekter Beleuchtung durch Reflexionen zwischen Oberflächen.
- Grundlagen:
- Jede Oberfläche in der Szene hat eine bestimmte Helligkeit, die durch den Intensitätsvektor →I dargestellt wird.
- Oberflächen können auch selbst Licht abstrahlen, z.B. als Lichtquelle, beschrieben durch den Emissionsvektor →E.
- Der Lichttransport zwischen den Oberflächen wird durch die Matrix M beschrieben.
- Jeder Eintrag Mij gibt an, wie viel Licht von Oberfläche i zu Oberfläche j gelangt.
- Mij=Fij⋅ρij, wobei:
- Fij der Formfaktor ist, der beschreibt, wie gut sich die Oberflächen “sehen” (abhängig von Geometrie und Abstand).
- ρij die diffuse Reflektivität ist, die beschreibt, wie stark die Oberfläche Licht reflektiert.
- Lichtverteilungsgleichung:
- Die Helligkeit jeder Oberfläche wird durch die folgende Gleichung berechnet:
- →I′=→E+M⋅→I
- Das bedeutet: Die neue Intensität →I′ einer Oberfläche ist die Summe aus dem von der Oberfläche emittierten Licht (→E) und dem von anderen Oberflächen reflektierten Licht (M⋅→I).
- Die Helligkeit jeder Oberfläche wird durch die folgende Gleichung berechnet:
- Strahlungsgleichgewicht:
- Um die endgültige Helligkeit der Oberflächen zu berechnen, wird das Gleichgewicht des Lichts in der Szene bestimmt, beim dem →I′ gleich →I ist:
- →I0=→E+M⋅→I0
- Diese Gleichung zeigt, dass die Lichtintensitäten →I0 den stabilen Zustand darstellen, wenn das Licht lange genug zwischen den Oberflächen hin und her reflektiert wurde.
- Um die endgültige Helligkeit der Oberflächen zu berechnen, wird das Gleichgewicht des Lichts in der Szene bestimmt, beim dem →I′ gleich →I ist:
- Lösung der Gleichung:
- Um →I0 direkt zu berechnen, stellt man zunächst um:
- (1−M)⋅→I0=→E
- Und erhält nach der Inversion folgende Formel:
- →I0=→E⋅(1−M)−1
- Das Ergebnis →I0 ist die endgültige Helligkeit der Oberflächen in der Szene, wenn alle Lichtreflexionen berücksichtigt sind.
- Um →I0 direkt zu berechnen, stellt man zunächst um:
- Ergebnis:
- →I0 repräsentiert die Helligkeit jeder Oberfläche in einer global diffus beleuchteten Szene.
- Diese Methode wird verwendet, um realistische Beleuchtungseffekte in 3D-Szenen zu erzeugen, insbesondere wenn Licht indirekt von Wänden, Böden und Objekten reflektiert wird.
- Praxis:
- In der Praxis ist die Invertierung von (1−M) mit dem Standard-Verfahren wie Gauss-Seidel (O(n3)) zu teuer.
- Man verwendet daher iterative Näherungsverfahren (Stichwort: Shooting and Gathering).
← Formfaktoren | ● | Beleuchtungsvergleich →