Global Illumination Computergraphik Seminar im Wintersemester 2004/05 bei Prof. Dr. Elmar Schömer...

Post on 06-Apr-2016

215 views 2 download

transcript

Global Illumination

Computergraphik Seminar im Wintersemester 2004/05

beiProf. Dr. Elmar SchömervonStephan Wasshausen

Übersicht I

Einleitung Einführung der Begrifflichkeit Beschreibung des Lichts

RendergleichungPath Notation

Übersicht II

Anwendungsgebiete Techniken von Global Illumination

RadiosityRaytracing & PathtracingMonte Carlo Ansatz (Photon Maps)

Ausblick in die Zukunft

Ausblick auf Techniken

Was ist Global Illumination?

Es scheint schwer sich mit Hilfe dieser Beschreibung ein klaresBild über dieses Thema zu machen. Somit ergibt sich folgendeIntention in diesem Vortrag

Intention des Vortrags

Erklärung der Begrifflichkeit Beispiele für Methoden von GI Nachteile der jeweiligen Methoden

Bedeutung

Betrachtung einer Szene unter Berücksichtigung eines globalen Beleuchtungsmodells

Bedeutung II

Hier ist es völlig unerheblich,wie Lichtquellen dargestellt werdenwie das Bild erzeugt wirdwie sich Farbe und Licht berechnen

WICHTIG ist, dass es eine Interaktion der Einzelkomponenten gibt sich also ein globales Bild zusammensetzt

Rendergleichung

Diese Beschreibung der Lichtstärke für einen Punkt x einer Oberfläche wurde 1986 von Jim Kajiya aufgestellt

),( xxI ),( xxg ),( xx [ s

),,( xxx xdxxI ),( ]

Erläuterung der Gleichung

I(x,x‘) Beleuchtung von des Punktes x von x‘ ausg Sichtbarkeitsfunktion von x‘ nach x Eigenabstrahlung des Punktes x‘ Integral über alle anderen Punkte der Szenep Licht welches von x‘ nach x abgestrahlt wird aber

von x‘‘ kommt I(x‘,x‘‘) rekursiver Teil der Gleichung

),( xxI ),( xxg ),( xx [ s

),,( xxx xdxxI ),( ]

Darstellungsmöglichkeit II

Bi Strahlungsintensität Ei Eigenemission ri Reflektionseigenschaften Fji Formfaktor (Die Summe repräsentiert die

Rekursion) des Integrals der Rendergleichung

ij

jijiii BFrEB

Path Notation

Alternative zur Rendergleichung um Global Illumination zu beschreiben

spec

diff

eyelight

Erläuterung Path Notation

Global Illumination wird mit einem regulären Ausdruck beschrieben

L (D|S)* EEine beliebige Anzahl von

• Diffusen Interaktionen• Spekularen Interaktionen

Anwendungsgebiete

Simulationen jeglicher Art Computerspiele Darstellung von Modellen

Idee Radiosity

Jede Fläche (Patch) strahlt Licht ab Für jedes Patch wird das Licht von

allen anderen Patches berechnet Materialeigenschaften können leicht

berücksichtigt werden (Menge des diffus reflektierten, abgestrahlten Lichtes)

Radiosity ist blickpunktunabhängig

Wie funktioniert Radiosity?

PN: LD*E

1

2

Colour Bleeding

Radiosity Gleichung

Erinnerung an die vereinfachte Darstellung für Global Illumination

dAi Das Flächenstück (Patch)

j

jjijiiiii dAFBrdAEdAB

Formfaktor F

Fij = (Strahlungsenergie von Ai welche Aj direkt trifft) /

(Strahlungsenergie (gesamt) von Ai)

Ai Aj

ijji

iij dAdA

rAF 2

coscos1

Formfaktor II

Фj

Фi

Nj

Ni

Ai

Aj

r

dAj

dAiAi Aj

ijji

iij dAdA

rAF 2

coscos1

Aufwandsuntersuchung

Berechnung der Formfaktoren Sind genau n2 Stück O(n2) Lösung der Gleichungssystem (siehe

Ausarbeitung) O(n2) pro Iterationsschritt aber nach wenigen Schritten ist das Ergsbnis brauchbar

Gesamtaufwand ist O(n2) Beispiel mit 55.000 Patches

Ergebnis

Bei n2 Formfaktoren 4Byte pro Formfaktor55000*55000*4 Byte = 12,1 GbyteSelbst mit Optimierung immer noch

mehr als 2,5 GByteProblem Ergebnis erst sichtbar

wenn alles berechnet wurde!!! Lösung???

Nachteile bei Radiosity

Nachteil: zunächst nur direkt beleuchtete Flächen sichtbar

Lösungsansatz: Einführung eines ambienten Termes zur Abschätzung wie groß die Helligkeit der nicht verschossenen Energie ist + Berücksichtigung der Reflektion

Nachteile II

ambienter Term

allgemeiner Formfaktor nötig

AmbientRBB iii '

n

ii

jj

A

AF

1

*

Nachteile III

Reflektion im Durchschnitt

n

jjjglobal FBRAmbient

1* )(

n

ii

n

iii

mittel

A

ARR

1

1

Nachteile IV

Also Ergebnis ist

mittelmittelmittelmittelglobal RRRRR

11....1 32

n

jjj

mittelFB

RAmbient

1* )(

11

Progressive Refinement I

Progressive Refinement II

Progressive Refinement III

Progressive Refinement IV

Die Frage die sich jetzt stellt:

Wie teilt man die neuen Patches bzw. Dreiecke „effizient“ weiter auf?

Kommt drauf an!

Idee Raytracing

Idee ist einen Sichtstrahl der durch die Szene geschickt wird und verfolgt wird

Umgekehrte Denkweise wenn ein Strahl das Licht trifft wird der Punkt heller

!!!Wichtig!!! Schnitte mit Objekten Raytracing ist nur teilweise

blickpunktunabhängig

Wie funktioniert Raytracing?

reflektiert

gebrochen

PN: LDS*E

Probleme beim Raytracing

beruhen auf dem naiven Ansatz von Raytracing, nämlich jeden Strahl mit jeder Fläche zu schneidenhoher Rechenaufwand großer Speicherplatzbedarfin der Rekursion sinnloser Aufwand

Rekursion beim Raytracing

I(x) = Ilokal(x) + Iglobal(x) Erinnerung: Für jeden Schnitt in der

Szene haben wir einen gebrochenen und einen reflektierten Strahl

I(x) = Ilokal(x) + kr*I(xr)+kg*I(xg)

Lösung? ADC

Adaptive Depth Control

Minimalwert für die Intensität des Strahls wird festgelegt

Algorithmus wird abgebrochen, wenn dieser Wert erreicht ist

nachgewiesen, dass die durchschnittliche Tiefe selbst bei aufwendigen Szenen niedrig ist

Optimierungsmöglichkeiten

Bounding Volumes mitKugelnachsenorientieren Quadernobjektorientierten Quadern

Kombination von verschiedenen Ansätzen der Global Illumination

Idee Pathtracing

Verfolgung des Pfades eines Strahles und nicht des Strahles selbst

Zufallskomponente bestimmt, ob ein reflektierter oder ein gebrochener Strahl auf einer diffusen bzw. spekularen Fläche erzeugt wird

Es müssen mehrere Strahlen pro Pixel müssen betrachtet werden

Wie funktioniert Pathtracing?

PN: L[pro Path (D|S)]E

Idee Photon Maps

Technik beruht auf dem Monte Carlo Ansatz Annäherung zum Lösen von

Integralen wie z.B. der Rendergleichung

Anwendung von Stratified Sampling auf das Integral (aufteilen und finden von Teillösungen)

Photon Maps II

f(x)

Photon Maps III

betrachtet die Szene komplett von der Lichtquelle aus

Lichtbrechung und Wechselwirkungen von Licht werden untersucht

Versuch der Abbildung der Wirklichkeit mit Hilfe von Photonen und Wellenlängen bzw. Parametern

Back to the future

Distributed RaytracingBeim ersten Objektschnitt erzeugen

einer gerichteten Menge von mehreren Strahlen

Two-Pass RaytracingPass I betrachtet von den Lichtquellen

aus, Ansammlung von Licht auf den Flächen (Erzeugen einer LightMap)

Back to the Future II

Pass2: betrachtet vom Auge aus unter Berücksichtigung der Lightmap

Multi-Pass RaytracingPass1: wie bei Two-PassPass2: Anwendung eines Modells von

Radiosity für beispielsweise Colourbleeding

Pass3: vom Auge auf die Szene

Ende des Vortrags

Danke für die Aufmerksamkeit !!!