Computer Graphik I - TU Berlin
Computer Graphik I - TU Berlin
Computer Graphik I - TU Berlin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
<strong>Computer</strong> <strong>Graphik</strong> I<br />
Globale Beleuchtung – Radiosity<br />
1
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Probleme mit diffuser Beleuchtung<br />
A Daylight Experiment, John Ferren<br />
2
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Probleme mit diffuser Beleuchtung<br />
3
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Direkte Beleuchtung<br />
4
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Globale Beleuchtung<br />
5
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Fotographie<br />
Simulation<br />
Cornell Box<br />
Goral, Torrance, Greenberg & Battaile<br />
Modeling the Interaction of Light Between Diffuse Surfaces<br />
SIGGRAPH '84<br />
6
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Light Measurement Laboratory<br />
Cornell University, Program for <strong>Computer</strong> Graphics<br />
Cornell Box<br />
§ Genaue Kalibrierung und Messung erlaubt den Vergleich von Simula>on<br />
und Wirklichkeit<br />
7
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ω'<br />
x'<br />
Rendering EquaAon<br />
L(x', ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
L (x', ω') ist die Leuchtdichte vom Punkt x’ in<br />
Richtung ω'<br />
8
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ω'<br />
x'<br />
Rendering EquaAon<br />
L(x', ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
E(x', ω') ist die emmi>erte Leuchtdichte: E ist<br />
größer Null für Lichtquellen<br />
9
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ω'<br />
x'<br />
Rendering EquaAon<br />
L(x', ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
Summe der Beiträge zur Leuchtdichte aller anderen<br />
Elemente der Szene<br />
10 10
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ω'<br />
x'<br />
Rendering EquaAon<br />
L(x',ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
Für jedes x, berechne L(x, ω), die Leuchtdichte<br />
im Punkt x in Richtung ω (von x zu x')<br />
ω<br />
x<br />
11 11
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ω'<br />
Der Beitrag wird mit ρ x' (ω, ω')<br />
(der BRDF in x’) skaliert<br />
x'<br />
Rendering EquaAon<br />
L(x', ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
ω<br />
x<br />
12 12
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ω'<br />
Für jedes x, bes>mme V(x,x'),<br />
die Sichtbarkeit von x rela>v zu x':<br />
1 wenn es in Richtung ω keine anderen<br />
Objekte gibt, 0 sonst<br />
x'<br />
Rendering EquaAon<br />
L(x', ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
ω<br />
x<br />
13 13
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ω'<br />
x'<br />
The Rendering EquaAon<br />
L(x', ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
Für jedes x, berechne G(x, x'), den<br />
Geometrieterm bzgl. x und x’<br />
ω<br />
x<br />
14
CG<br />
§ Welche Konstella>on der Flächen führt zu großem<br />
Lichtaustausch? Warum?<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
G(x,x')?<br />
15 15
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Die Radiosity Annahmen<br />
§ Flächen sind Lambert-‐Strahler<br />
(perfekt diffus)<br />
• Reflexion findet in alle Richtungen<br />
gleich sta_<br />
§ Die Szene wird in kleine<br />
Flächenelemente aufgeteilt.<br />
§ Die Radiosity Bi , ist die gesamte<br />
Strahlung die das Elements i<br />
ω'<br />
verlässt.<br />
§ Auf dem Element ist die Strahlung<br />
konstant. x'<br />
16 16
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Die Radiosity Gleichung<br />
L(x', ω') = E(x', ω') + ∫ρx' (ω, ω')L(x, ω)G(x,x')V(x,x') dA<br />
Radiosity Annahme:<br />
Perfekt diffuse Flächen -‐ keine Richtungsabhängigkeit<br />
B x' = E x' + ρ x' ∫ B x G(x,x')V(x,x')<br />
17 17
CG<br />
§ Kon>nuierliche Radiosity-‐Gleichung<br />
Formfaktor<br />
• G: Geometrieterm<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
• V: Visibilitätsterm<br />
§ Eigenschaaen<br />
Reflexionsfaktor<br />
B x' = E x' + ρ x' ∫ G(x,x') V(x,x') B x<br />
• Keine analy>sche Lösung<br />
selbst für einfache Szenen<br />
Die Radiosity Gleichung<br />
Der konAnuierliche Fall<br />
x<br />
x’<br />
18 18
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Die Radiosity Gleichung<br />
Der diskrete Fall<br />
§ Diskre>sierung in Elemente mit konstanter Radiosity<br />
B<br />
§ Eigenschaaen:<br />
i<br />
=<br />
Reflexionsfaktor<br />
E<br />
i<br />
+<br />
ρ<br />
Σ<br />
j=1<br />
• Diskrete Repräsenta>on<br />
• Itera>ve Lösungsverfahren<br />
• Teure Geometrieberechnungen<br />
i<br />
n<br />
F<br />
ij<br />
B<br />
Formfaktor<br />
j<br />
A<br />
j<br />
A i<br />
19 19
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
B<br />
i<br />
=<br />
E<br />
i<br />
+<br />
ρ<br />
i<br />
Σ<br />
§ n lineare Gleichungen in n unbekannten B i :<br />
n<br />
j=1<br />
F<br />
ij<br />
B<br />
Die Radiosity Matrix<br />
§ Die Lösung des LGS liefert Werte B i , die unabhängig von der<br />
Betrachtungssitua>on sind.<br />
j<br />
20 20
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Die Radiosity Matrix<br />
IteraAve Lösung<br />
§ Die Radiosity eines Elementes wird jeweils ersetzt durch<br />
Mul>plika>on einer Zeile mit dem gegenwär>gen<br />
Lösungsvektor<br />
• Gauß-‐Seidel<br />
21 21
CG<br />
§ B i sind konstant pro<br />
Element<br />
§ Wie bildet man sie auf<br />
<strong>Graphik</strong>-‐Hardware ab?<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
• Mi_eln der Radiosity-‐<br />
Werte für jeden Knoten<br />
• Randknoten erhalten<br />
Werte durch<br />
Extrapola>on<br />
Rendering der Radiosity Lösung<br />
22 22
CG<br />
§ F ij = Teil der Ausstrahlung von j, die i erreicht<br />
§ Wird beeinflusst durch:<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
• Geometrie (Größen, Orien>erung, Posi>on)<br />
• Sichtbarkeit (weitere Elemente der Szene)<br />
patch j<br />
patch j<br />
patch i patch i patch i<br />
Formfaktoren<br />
patch j<br />
23 23
CG<br />
§ F ij = Teil der Ausstrahlung von j, die i erreicht<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
θ i<br />
patch i<br />
r<br />
θ j<br />
patch j<br />
cos θi cos θj Fij = ∫ ∫ Vij dAj dAi π r2 1<br />
A i A i A j<br />
Formfaktoren<br />
24
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Formfaktoren<br />
Berechnung<br />
§ Nusselt-‐Analogie: Der Formfaktor ist äquivalent zum Teil des<br />
Einheitskreises, den die Projek>on des Elementes auf die<br />
Einheitskugel in der Ebene einnimmt<br />
r = 1<br />
dA i<br />
A j<br />
F dAi,A j<br />
A j<br />
25 25
CG<br />
§ Ein “hemicube” (Halbwürfel) wird über jedes<br />
Elementzentrum gelegt<br />
§ Die Seiten werden in Pixel unterteilt<br />
§ Elemente werden in den hemicube projiziert<br />
und gerastert<br />
§ Jedes Pixel enthält einen vorberechneten<br />
Formfaktor<br />
§ Der Formfaktor für ein Element ergibt sich als<br />
Summe der<br />
Pixel<br />
§ Verdeckung wird mit<br />
einem z-‐Buffer bes>mmt<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Formfaktoren<br />
Hemicube Algorithmus<br />
26 26
CG<br />
§ Erzeuge n Strahlen zwischen 2 Elementen<br />
• n typisch zwischen 4 und 32<br />
• Bes>mme Sichtbarkeit<br />
• Integriere Punkt-‐Punkt Formfaktoren<br />
§ Erlaubt die Bes>mmung von<br />
Formfaktoren zwischen<br />
Elementen<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
A i<br />
Formfaktoren<br />
Ray CasAng<br />
A j<br />
27 27
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Geometrie<br />
Reflexions-‐<br />
eigenschaaen<br />
Kamera<br />
Posi>on &<br />
Orien>erung<br />
BesAmmung der Radiosity Lösung<br />
Formfaktor-‐<br />
berechung<br />
Itera>ve Lösung des<br />
LGS<br />
Radiosity Lösung<br />
Visualisierung<br />
(Rendering)<br />
Radiosity Bild<br />
> 90% O(n 2 ) Formfaktoren<br />
< 10%<br />
~ 0%<br />
28 28
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Progressive Refinement<br />
§ Idee: Sta_ Radiosity von überall einzusammeln<br />
(“gathering”), besser schnell von den Quellen her<br />
verteilen (“shoo>ng”)<br />
29 29
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
" B1 # " B1 # " ρ1F1<br />
i #<br />
" #<br />
$<br />
B<br />
% $<br />
B<br />
% $<br />
ρ F<br />
% $ %<br />
$ 2 % $ 2 % $ 2 2i<br />
% $ %<br />
$ % $ % $ % $ %<br />
$ % = $ % + $ % $ %<br />
$ % $ % $ % $ Bi<br />
%<br />
$ % $ <br />
% $ % $ %<br />
$ % $ % $ % $ %<br />
$ &Bn % ' $ &Bn % ' $ & ρnFni<br />
%<br />
' $ & % '<br />
Progressive Refinement<br />
30 30
CG<br />
§ Radiosity Lösung progressiv verbessern<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Progessiv Refinement<br />
§ Jedes Patch hat eine noch nicht versendete Radiosity ΔB i<br />
§ Starte mit B i =E i und ΔB i =E i<br />
§ Verteile ΔB i auf die Szene<br />
§ Reziprozität:<br />
B = E + r∑ B F , für alle i<br />
i i i j i j<br />
j=<br />
1<br />
AjF ji = Ai Fij<br />
A<br />
i = i +<br />
n<br />
∑ i j ji<br />
j<br />
j= 1<br />
i<br />
B E r B F A<br />
n<br />
31 31
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Progessiv Refinement<br />
§ Beim Versenden vom Patch j wird die Radiosity der<br />
Flächenelemente A i entsprechend erhöht<br />
Aj<br />
Bi = Bi + riΔ B jF ji , i = 1.. n<br />
A<br />
§ Ebenso wird die unverteilte Radiosity erhöht<br />
Aj<br />
Δ Bi = Δ Bi + riΔ B jF ji , i = 1.. n<br />
A<br />
§ Anschließend wird die unverteilte Radiosity des<br />
Flächenelements Aj auf Null gesetzt, d.h.<br />
Δ B =<br />
0<br />
i<br />
i<br />
i<br />
32 32
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Progessiv Refinement<br />
Vorteile<br />
§ Für jeden Itera>onsschri_ werden nur die Formfaktoren F ij<br />
eines einzelnen Elements i mit allen anderen Patches<br />
berechnet, d.h. zur Durchführung eines Itera>onsschri_es<br />
genügt die Kenntnis einer Zeile der Formfaktormatrix.<br />
§ Da bereits nach wenigen Itera>onsschri_en sehr gute<br />
Ergebnisse erzielt werden, liegt der gesamte Rechenaufwand<br />
weit unterhalb der üblichen Vorgehensweise mit Bes>mmung<br />
der Formfaktormatrix und Lösen des Gleichungssystems mit<br />
dem Gauß-‐Seidel-‐Verfahren.<br />
§ Außerdem wird jeweils nur der Speicherplatz für eine Zeile<br />
von Formfaktoren benö>gt.<br />
33 33
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Progressive Refinement<br />
Ohne ambienten Term<br />
34
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Progressive Refinement<br />
Mit ambientem Term<br />
35 35
CG<br />
§ Die Bildqualität hängt von der<br />
Größe der Elemente ab<br />
• Kleinere Elemente -‐ kleinerer<br />
Fehler<br />
§ Elemente sollten adap>v bei<br />
großen Ableitungen der<br />
Radiosity-‐Funk>on unterteilt<br />
werden<br />
• Beginne mit einheitlicher<br />
Unterteilung<br />
• Unterteile auf der Basis eines<br />
Gütekriteriums<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Unterteilung in Elemente<br />
36 36
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Unterteilung in Elemente<br />
AdapAv<br />
37 37
CG<br />
§ Grenzen des Scha_ens<br />
und Halbscha_ens<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
• Ergeben gute<br />
Scha_enkanten<br />
• Teure geometrische<br />
Berechnungen<br />
• Komplexes<br />
Netz<br />
penumbra<br />
Unterteilung in Elemente<br />
DisconAnuity Meshing<br />
umbra<br />
Quelle<br />
Hindernis<br />
38 38
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Unterteilung in Elemente<br />
DisconAnuity Meshing<br />
39 39
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Unterteilung in Elemente<br />
DisconAnuity Meshing -‐ Vergleich<br />
[Gibson 96]<br />
10 minutes 23 seconds 1 hour 57 minutes<br />
40 40
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Hierarchisches Radiosity<br />
§ Zusammenfassung von Elementen falls die Genauigkeit dies<br />
erlaubt<br />
• Aus quadra>scher Komplexität wird n log n<br />
• Nicht triviale Implemen>erung und Parameterschätzung<br />
41 41
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Lösung in anderen Basen<br />
§ Basisfunk>onen höherer Ordnung (nicht einfach konstant)<br />
• Bessere Repräsenta>on der Varia>on mit weniger Basisfunk>onen<br />
• Problem: Radiosityfunk>on ist unste>g (Scha_enkanten)<br />
§ Gerichtete Basisfunk>onen<br />
• Für nicht diffuse Elemente<br />
• Z.B. Kugelflächenfunk>onen (spherical harmonics)<br />
42 42
CG<br />
§ Zur Erinnerung:<br />
§ Renderinggleichung<br />
§ Radiosity-‐Gleichung<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
• Mit der Radiosity-‐Annahme<br />
∫<br />
Rendering-‐Radiositygleichung<br />
cos( θ )cos( θ )<br />
i 0<br />
Lr ( x, ωr ) = Le ( x, ωr ) + ρ( x, ωr , ωi ) Lo ( x , ωi<br />
) H ( x, x ')<br />
dA<br />
2<br />
A<br />
x − x '<br />
"<br />
i 0<br />
B( x) = E( x) + r( x) ∫<br />
B( x ) H ( x, x ')<br />
dA<br />
2<br />
A<br />
x − x '<br />
$<br />
cos( θ )cos( θ )<br />
43 43
CG<br />
§ Geometrieterm<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Lösung der Radiositygleichung<br />
§ Approxima>on der Radiosity auf einer Fläche<br />
• Wir haben ganz einfache<br />
Basispolynome verwendet:<br />
cos( θi )cos( θ0<br />
)<br />
G( x, x" ) : = H ( x, x ')<br />
2<br />
x − x '<br />
B( x) ≈ Bˆ ( x) = ∑ Bi Ni ( x)<br />
n<br />
i=<br />
1<br />
! 1 im Element<br />
Ni ( x)<br />
= "<br />
# 0 sonst<br />
ˆ ˆ ˆ<br />
"<br />
cos( θ )cos( θ )<br />
i 0<br />
B( x) ≈ E( x) + r( x) ∫<br />
B( x ) H ( x, x ')<br />
dA<br />
2<br />
A<br />
x − x '<br />
44
CG<br />
§ Residuum<br />
§ B exakte Lösung ⇒ R(x)=0<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
ˆ ˆ ˆ<br />
Lösung der Radiositygleichung<br />
cos( θ )cos( θ )<br />
i 0<br />
R( x) = B( x) − E( x) − r( x) ∫ B( x ) H ( x, x ')<br />
dA<br />
2<br />
A<br />
x − x '<br />
§ Minimierung von R mi_els der Galerkin-‐Methode der<br />
gewichteten Residuen:<br />
N , R = ∫<br />
N ( x) R( x) dx = 0 für alle i ⇒ R = 0<br />
i i<br />
A<br />
"<br />
45 45
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Das Radiosity-‐Verfahren<br />
§ Anwenden der Galerkin-‐Methode auf Radiositygleichung<br />
N , R = N , Bˆ − Eˆ − r( x) Bˆ ( x! ) G( x, x! ) dA!<br />
i i<br />
= N ( x) Bˆ ( x) dA − N ( x) Eˆ ( x) dA − N ( x) r( x) Bˆ ( x! ) G( x, x! ) dA! dA<br />
= 0 für alle i<br />
§ Einsetzen von B x Bi Ni x liefert:<br />
∫<br />
n<br />
∑ −∫ i=<br />
1<br />
ˆ −∫<br />
n<br />
∫∑<br />
∫<br />
A<br />
∫ ∫ ∫ ∫<br />
i i i<br />
A A A A<br />
n<br />
ˆ ( ) = ∑ ( )<br />
N ( x) B N ( x) dA N ( x) E( x) dA N ( x) r( x) B N ( x! ) G( x, x! ) dA! dA<br />
i j j i i j j<br />
A j= 1 A A A j=<br />
1<br />
n n<br />
∑ ∫ ∫ ∑ ∫ ∫<br />
= B N ( x) N ( x) dA − N ( x) Eˆ ( x) dA − B N ( x) r( x) N ( x! ) G( x, x! ) dA! dA<br />
j i j i j i j<br />
j= 1 A A j=<br />
1 A A<br />
= 0 für alle i<br />
46 46
CG<br />
§ Umsor>eren liefert für alle i:<br />
ij<br />
§ Das ist ein lineares Gleichungssystem:<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
! K11 K1n<br />
"! B1 " ! E1<br />
"<br />
# $# $ # $<br />
#<br />
<br />
$#<br />
<br />
$<br />
=<br />
#<br />
<br />
$<br />
# Kn1 K $#<br />
nn B $ #<br />
n E $<br />
% &% & % n &<br />
Das Radiosity-‐Verfahren<br />
! "<br />
n<br />
∑ B j % ∫ Ni ( x) N j ( x) dA − ∫ Ni ( x) r( x) ∫ N j ( x# ) G( x, x# ) dA# dA& = ∫ Ni ( x) E( x) dA<br />
j= 1 ' A A A ( A<br />
<br />
<br />
K<br />
E<br />
§ Die Matrix K wird durch die Wahl der Basisfunk>onen<br />
bes>mmt.<br />
i<br />
47 47
CG<br />
n<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Das Radiosity-‐Verfahren<br />
! "<br />
B % N ( x) N ( x) dA − N ( x) r( x) N ( x# ) G( x, x# ) dA# dA& = N ( x) E( x) dA<br />
' (<br />
∑ ∫ ∫ ∫ ∫<br />
j i j i j i<br />
j= 1 A A A A<br />
§ Nur so zum Spass, bzw. als kleiner Äquivalenznachweis:<br />
Ansatz mit stückweise konstanten Basisfunk>onen:<br />
" 1, x ∈ Ai<br />
Ni ( x)<br />
= #<br />
$ 0, sonst<br />
∫<br />
A<br />
∫<br />
A<br />
N ( x) E( x) dA = E A<br />
i i i<br />
" Ai , i = j<br />
Ni ( x) N j ( x) dA = #<br />
$ 0, sonst<br />
∫ ∫ ∫ ∫<br />
N ( x) r( x) N ( x% ) G( x, x% ) dA% dA = r G( x, x% ) dA% dA<br />
i j i<br />
A A A A<br />
i j<br />
48 48
CG<br />
§ Einsetzen liefert für alle i:<br />
§ Formfaktor<br />
§ Das liefert die klassische Radiositygleichung:<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
n<br />
Das Radiosity-‐Verfahren<br />
j i ij i i i<br />
j= 1<br />
Ai<br />
A A<br />
j ij i i<br />
j= 1 Ai<br />
A A<br />
n<br />
∑ ( δ )<br />
<br />
j=<br />
1<br />
" 1<br />
#<br />
B A $ δ − r G( x, x&) dA&dA% = E A<br />
$ %<br />
( i j<br />
)<br />
∑ ∫ ∫<br />
n " 1<br />
#<br />
⇔ ∑ B $ δ − r G( x, x&) dA&dA% = E<br />
$ ∫ ∫<br />
%<br />
( i j<br />
)<br />
⇔ B − r F = E<br />
j ij i ij i<br />
1<br />
Fij = G( x, x! ) dA! dA<br />
A ∫ ∫<br />
i A A<br />
i j<br />
B = E + r∑ B F , für alle i<br />
i i i j i j<br />
j=<br />
1<br />
n<br />
K<br />
i j<br />
49 49
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Bewertung des Radiosityverfahrens<br />
§ Physikalisch basierter Ansatz für diffuse Szenen<br />
§ Korrekte Wiedergabe von Farbbluten, indirekter Beleuchtung<br />
und Scha_enverläufen<br />
§ Blickpunktsunabhängig.<br />
§ Vorberechnete Szenen können durchwandert werden.<br />
§ „Einstellen“ der Beleuchtung durch physikalische Parameter<br />
§ Hoher Rechen-‐ und Speicherbedarf<br />
§ beschränkt auf diffuse Lichtausbreitung<br />
50 50
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
BidirecAonal Ray Tracing<br />
Heckbert 1990<br />
51 51
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Photon Mapping<br />
Jensen 95<br />
52 52
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Lightscape http://www.lightscape.com<br />
Beispiele<br />
53 53
CG<br />
Marc Alexa, <strong>TU</strong> <strong>Berlin</strong><br />
Mentalray<br />
Beispiele<br />
54