24.07.2013 Aufrufe

Computer Graphik I - TU Berlin

Computer Graphik I - TU Berlin

Computer Graphik I - TU Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!