Transcript [ppt]

Algorithmen für Computerspiele
Oleg Martin
28. Juni 2010
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
2
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
3
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
4
Einführung
 Über Licht und Schatten
•
•
•
•
•
•
•
Wo viel Licht ist, ist auch viel Schatten. Johann Wolfgang von Goethe
Wichtiges Stilmittel der Kunst
Atmosphäre wird erzeugt
Räumliche Wahrnehmung wird erzeugt
Intuitive Orientierung in der Szene
Abstände und Entfernungen werden wahrgenommen
Materialeigenschaften werden überzeugend dargestellt
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
5
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
6
Einführung
 Geschichtliche Entwicklung in Computerspielen
• 1980er Jahre:
Beleuchtung und Schattenwurf spielen eine geringe bis keine Rolle
Commodore C64, Atari, NES – SuperMario Bros. (Nintendo), Paperboy (Atari),
Maniac Mansion (LucasArts), The Eidolon (LucasFilms)
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
7
Einführung
 Geschichtliche Entwicklung in Computerspielen
• 1990er Jahre:
Beleuchtung und Schatten immer wichtiger, da steigender Realismus
Doom (id), SuperMario64 (Nintendo), Halflife (Valve), System Schock 2 (Looking Glass Studios)
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
8
Einführung
 Geschichtliche Entwicklung in Computerspielen
• 2000er Jahre:
Licht und Schatten sind zentraler Bestandteil im Spieldesign
Assasin‘s Creed 2 (Ubisoft), Bioshock (2K), Crysis (Crytek), Crysis 2 (Crytek)
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
9
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
10
Einführung
 Beleuchtungsmodelle im Überblick
• Lokale Modelle beschreiben lokale Reflexionseigenschaften:
 Lambert-Modell (1760):
• Relativ einfaches Modell, dass weite Anwendung findet
• Beschreibt Oberflächen, die das Licht diffus reflektieren
 Phong- und Blinn-Phong-Modell (1975/77):
• Bekanntestes und häufig benutztes Beleuchtungsmodell
• Wird für Lichtreflexionen an Oberflächen verwendet
 Cook-Torrance-Modell (1982):
• Auf physikalischen Modellen aufbauendes Modell
• Oberfläche wird durch viele winzige Facetten modelliert
 He-Torrance-Modell (1991):
• Eines der umfassendsten Beleuchtungs-Modelle
• Berücksichtigt z.B. Effekte wie Lichtstreuung unterhalb der Oberfläche
 Schlick-Modell (1994):
• Physikalisch motiviertes, einfaches und effizientes Modell
• Beschreibt Reflektionen physikalisch plausibel durch wenige Parameter
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
11
Einführung
 Beleuchtungsmodelle im Überblick
• Globale Modelle beschreiben die globale Ausbreitung von Licht:
 Ray Tracing (1968):
• Modell zur Verdeckungs- und Lichtverteilungsberechnung in 3D-Szene
• Simulation von Lichtstrahlen in Szene
• Physikalisch korrekte und reale Beleuchtung in Szene
 Path Tracing (1986):
• Erweiterung des klassischen Ray Tracing Modells
• Näherung der Rendergleichung durch zufällige Strahlen auf Oberflächen
• Path Tracing und aufbauende Modelle heißen Monte-Carlo-Raytracing
 Radiosity (1984):
• Das zweite wichtige globale Beleuchtungsmodell
• Auch hier wird die Rendergleichung gelöst
• Physikalisch korrekte globale Beleuchtung
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
12
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
13
Einführung
 Schattenmodelle im Überblick
• Lokale Modelle beziehen isolierte Oberflächenpunkte in Szene ein:
 Projektive/Planare Schatten (1978):
• Einfaches und effizientes Schattenmodell mit Nachteilen
• Objekt, das die Schattenquelle darstellt, wird zu Schatten transformiert
 Schatten-Volumen (1977):
• Häufig verwendetes Schattenmodell in aktuellen Spielen
• Objekte im Schatten-Volumen des schattenwerfenden Objekts befinden
sich im Schatten
 Shadow-Maps (1978):
• Weit verbreitetes Schattenmodell in aktuellen High-end Spielen
• Texturbasiertes Schattenmodell: Shadow-Map
 Lightmaps :
• Statische Schatten in Textur
• Schatten als Schwarzer Fleck unter Spielfigur
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
14
Einführung
 Schattenmodelle im Überblick
• Globale Modelle beziehen alle Oberflächenpunkte in Szene ein:
 Ray Tracing (1968):
• Modell zur Schatten-Simulation in 3D-Szene
• Simulation von Lichtstrahlen von jedem beliebigen Punkt in der Szene
 Diffuses Raytracing (1984):
• Erweiterung des klassischen Ray Tracing Modells
• Mehrere zufällige Strahlen, anstatt einem, werden ausgesendet
• Aus berechneten Farben wird Mittelwert gebildet
• Simulation von best. Lichtquellengröße -> weiche Schatten möglich
 Radiosity (1984):
• Das zweite wichtige globale Schattenmodell
• Weiche Schatten durch Abtastung des Lichtquellenpolygons
• Sehr rechenintensiv und daher kaum geeignet für Echtzeitanwendungen
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
15
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
16
Einführung
 Einordnung im Bildsyntheseprozess
• Bildsynthese (Rendern) wird in zwei Bereiche unterteilt:
 Echtzeitrendern (Hardwarebeschleunigt)
 Photorealistisches Rendern
• Echtzeitrendern (Hardwarebeschleunigt)
 Orientiert an Hardware: Pipeline‐Ansatz (OpenGL)
 Grafikpipeline beschreibt Weg von Szene bis zum fertigen Bild
 Grundsatz: „Das Ergebnis muss stimmen“
 Traditionell kein Photorealismus
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
17
Einführung
 Einordnung im Bildsyntheseprozess
• Echtzeitrendern – Grafikpipeline
Beleuchtung findet hier statt
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
18
Einführung
 Einordnung im Bildsyntheseprozess
• Echtzeitrendern Beispiele
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
19
Einführung
 Einordnung im Bildsyntheseprozess
• Photorealistisches Rendern
 Physikalisch basierte Simulationen bei Geometrie, Animation,
Beleuchtung
 Auf Raytracing, Radiositiy ist Grafikpipeline-Modell einer GPU nicht
anwendbar
 Echtzeitrendern auf GPU über Grafikpipeline mit „Tricks“ möglich
 Realistisches Rendern daher größtenteils auf der CPU
 Beleuchtung und Schatten durch Software-Renderer berechnet
 Ziel ist Photorealismus
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
20
Einführung
 Einordnung im Bildsyntheseprozess
• Photorealistisches Rendern Beispiele
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
21
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
22
Physikalische Erklärung von Licht
 Was ist Licht?
• Sichtbarer Bereich der elektromagnetischen Strahlung
• Licht besitzt Wellen- sowie Teilcheneigenschaften
(Gezeigt von C. Huygens, T. Young und A. Einstein)
• Welle-Teilchen-Dualismus beschreibt diese Eigenschaften in der
Quantenphysik
• Welle-Teilchen-Dualismus bringt zusammen:
 Wellenoptik: Beugung, Interferenz, Farbe, Polarisation von Licht
 Quantenoptik: Lichtteilchen (Photon) ist lokalisiertes Wellenpaket
 Strahlenoptik (geom. Optik)
• Geometrische Optik ist Standard in heutiger Computergrafik
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
23
Physikalische Erklärung von Licht
 Was ist Geometrische Optik?
•
•
•
•
•
Näherung der Optik, ohne Welleneigenschaften des Lichtes
Licht aus Lichtstrahlen zusammengesetzt
Lichtquelle oder reflektierendes Objekt sendet Lichtstrahlen aus
Lichtstrahlen werden reflektiert, gebrochen oder aufgespaltet
Grundlage unteranderem für Ray Tracing
Spekulare Reflexion
Algorithmen für Computerspiele - Licht und Schatten
Snelliussches Brechungsgesetz
15.07.2016
Lichtspaltung
24
Physikalische Erklärung von Licht
 Lichtquellentypen
a) Diffuse Flächenlichtquelle
• kontrast- und schattenarm
• keine spekularen Reflektionen
• z.B. bedeckter Himmel
b) Punktlichtquelle
•
•
•
•
Lichtstrahlen sternförmig von Punkt
geringe räumliche Ausdehnung
Intensität nimmt mit Entfernung ab
z.B. Blitzlicht, Glühbirne
c) Richtungslichtquelle
• Lichtstrahlen parallel
• z.B. Sonnenlicht
d) Strahler (Spot-Light)
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
25
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
26
Lokale Beleuchtungsmodelle
 Allgemeine Beschreibung lokaler Modelle
• Bild entsteht durch Simulation der Wechselwirkung von Licht und
Materie
• Zwei Kategorien von Wechselwirkungen:
 Wechselwirkung im Volumen: Volume Rendering
 Wechselwirkung an Oberflächen: Reflexion, Refraktion
• Im Echtzeit-Rendering
 Oberflächengrafik, dazwischen Vakuum ohne Wechselwirkung
 Streuung nur an Oberflächen, nicht im Volumen
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
27
Lokale Beleuchtungsmodelle
 Allgemeine Beschreibung lokaler Modelle
• In der Szene vorhandene Geometrie benötig daher eine
Oberflächenbeschreibung in Form von Reflexioneigenschaften
• Bidirektionale Reflektanzverteilungsfunktion (BRDF):
 Engl. Bidirectional Reflectance Distribution Function
 BRDF je nach gewählter Genauigkeit sehr komplex
 Beschreibt lokale Reflexionseigenschaften von Materialien
 Unter beliebigem Einfallswinkel vom Licht
• Es existieren 2 Ansätze zur Repräsentation der BRDF-Werte:
 Explizite Messwerte oder Simulationsergebnisse
 Approximierung durch analytische Funktionen -> theoretische
Modelle -> lokale Beleuchtungsmodelle
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
28
Lokale Beleuchtungsmodelle
 Allgemeine Beschreibung lokaler Modelle
• L = Strahlungsdichte:
Gibt ankommende, gesendete Lichtenergie an best. Punkt an
• E = Bestrahlungsstärke:
Gibt an, wieviel Strahlungsleistung auf best. Fläche auftrifft
• Beide Größen sind Raumwinkelabhängig
•
= Raumwinkel:
Lichteinfalls- und Reflexionsrichtung
• d
= differentielle Raumwinkel
Algorithmen für Computerspiele - Licht und Schatten
Verminderung der Leuchtintensität
Raumwinkel unter dem
durch Einfallswinkel
Strahlung auf auftrifft
15.07.2016
29
Lokale Beleuchtungsmodelle
 Allgemeine Beschreibung lokaler Modelle
• Der differentielle Raumwinkel
ist die fett umrahmte Fläche
auf der Einheitskugel
• Dieser gibt an wieviel Licht
aus einer kleinen Menge
von Richtungen kommt
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
30
Lokale Beleuchtungsmodelle
 Allgemeine Beschreibung lokaler Modelle
• BRDF beschreibt Reflexivität als Verhältnis von ausgehender
Strahlungsdichte zu eingehender Bestrahlungsstärke
• Liefert für jeden auftreffenden Lichtstrahl Reflexivität des
austretenden Lichtstrahls
• BRDFs müssen 2 Eigenschaften erfüllen, um phys. Korrekt zu sein:
1)
2)
BRDF-Wert darf sich nicht ändern, wenn Einfalls- und Ausfallswinkel vertauscht
werden (Helmholz-Reziprozität)
Energieerhaltungssatz -> Summe reflekt. Licht = Menge einstrahl. Licht
• Zwei Klassen von BRDFs:
 Für isotrope Oberflächenstrukturen
 Für anisotrope Oberflächenstrukturen
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
31
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
32
Lokale Beleuchtungsmodelle
 Lambert-Modell
•
•
•
•
Empirisches Modell, das BRDF approximiert
Beschreibt Oberflächen, die Licht ideal diffus reflektieren
Strahlungsdichte/-intensität in alle Richtungen konstant
Abhängigkeit vom Einfallswinkel des Lichtes
•
•
•
= Strahlungsdichte/-intensität der ideal diffusen Reflexion
= diffuse Reflexionskoeffizient: Anteil des diffus gestreuten Lichtes
= Strahlungsdichte/-intensität des einstrahlenden Lichtes
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
33
Lokale Beleuchtungsmodelle
 Lambert-Modell
= Lichtstrahlbreite
=
cos( )
Algorithmen für Computerspiele - Licht und Schatten
Reflexionen bei verschiedenen Einfallswinkeln
15.07.2016
34
Lokale Beleuchtungsmodelle
 Lambert-Modell
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
35
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
36
Lokale Beleuchtungsmodelle
 Phong- und Blinn-Phong-Modell
•
•
•
•
•
•
Einfaches und oft benutztes Beleuchtungsmodell
Empirisches, nicht physikalisch basiertes Modell
Energieerhaltungsgesetz wird nicht eingehalten
Erweiterung des Lambert-Modells
Reflexion von Licht als Kombination aus ambienter, ideal diffuser
und ideal spiegelnder Reflexion
= Strahlungsdichte/-intensität der Phong Reflexion
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
37
Lokale Beleuchtungsmodelle
 Phong- und Blinn-Phong-Modell
• Phong-Lichtreflexion - Bestandteile
 Ambiente Komponente des reflektierten Lichtes:
, wobei
= Intensität des Umgebungslichtes
= Materialkonstante
 Diffuse Komponente des reflektierten Lichtes:
, wobei
= Intensität des einfallenden Punktlichtstrahls
= empirischer Reflexionsfaktor für diffuse Komponente
 Spekulare Komponente des reflektierten Lichtes:
, wobei
= Intensität des einfallenden Punktlichtstrahls
= empirischer Reflexionsfaktor für spiegelnde Komponente
= konstanter Faktor zur Beschreibung der Oberfläche -> matt, glatt, spiegel
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
38
Lokale Beleuchtungsmodelle
 Phong- und Blinn-Phong-Modell
 Phong- und Blinn-Phong-Modell Unterschied nur in spekularen
Komponente -> Berechnung des Reflexionsvektors fällt weg
 Blinn-Phong-Modell schneller bei gleichem Ergebnis
 Phong-Modell
 Blinn-Phong-Modell
= Halfway-Vektor
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
39
Lokale Beleuchtungsmodelle
 Phong- und Blinn-Phong-Modell
• Beispiel Phong-Modell
• Blinn-Phong Vs. Phong
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
40
Lokale Beleuchtungsmodelle
 Phong- und Blinn-Phong-Modell
• Phong-Modell – Auswrikung der Parameter
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
41
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
42
Lokale Beleuchtungsmodelle
 Schlick-Modell
• Konsequente Zusammenführung von Phong-Modell und
Cook-Torrance-Modell
• Mittel zwischen empirischem und theoretischem Modell
• Beschreibt Reflektionen physikalisch plausibel
• Energieerhaltungssatz wird eingehalten wird
• Fresnel-Effekt wird hier durch einfachere Approximation ersetzt
• Oberfläche wird in Microfacetten unterteilt
• Oberflächen werden als Schichtmodell betrachtet
•
Fresnel-Effekt:
 Beschreibt den Reflexionsgrad von Licht
 Verteilung des einfallenden Lichtes auf reflektierten und transmittierten Strahl
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
43
Lokale Beleuchtungsmodelle
 Schlick-Modell
Classic Phong-Modell
Algorithmen für Computerspiele - Licht und Schatten
Cook-Torrance-Modell
15.07.2016
44
Lokale Beleuchtungsmodelle
 Schlick-Modell
Schlick-Modell
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
45
Inhaltsverzeichnis
1.
Einführung





Über Licht und Schatten
Geschichtliche Entwicklung in Computerspielen
Beleuchtungsmodelle im Überblick
Schattenmodelle im Überblick
Einordnung im Bildsyntheseprozess
2.
Physikalische Erklärung von Licht
3.
Beleuchtungsmodelle
 Lokale Beleuchtungsmodelle
• Allgemeine Beschreibung lokaler Modelle
• Lambert-Modell
• Phong- und Blinn-Phong-Modell
• Schlick-Modell
 Interpolationsverfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
46
Interpolationsverfahren
 Wie kommen die Pixel zum Licht?
• Wie werden Polygone gefüllt?
• Schattierungsalgorithmen (Shading)
• Es gibt zwei Klassen: Vertexbasiert, Pixelbasiert
 Vertex-Lighting
•
•
•
Jeder Vertex der Geometrie wird betrachtet
Für jeden Vertex wird Farbwert bestimmt und interpoliert
Flat-Shading und Gouraud-Shading sind bekannte Algorithmen
 Per-Pixel-Lighting
•
•
•
Interpolation von Normalen für jeden Pixel im Polygon
Farbwert anhand Beleuchtungsmodell für jeden Pixel aus Pixel-Normale berechnet
Phong-Shading ist ein bekanntes Per-Pixel-Lighting Verfahren
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
47
Interpolationsverfahren
 Per-Pixel-Lighting
•
•
•
•
•
CryEngine 3
Doom 3-Engine
Source Engine
Dunia Engine
…
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
48
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
49
Globale Beleuchtungsmodelle
 Allgemeine Beschreibung globaler Modelle
• Um globale Beleuchtung physik. korrekt beschreiben zu können
braucht man richtige theoretische Modelle
• Globale Wechselwirkung von Licht und Materie wird von
Rendering Gleichung beschrieben
• Geometrische Optik als Basis
• Versch. Ansätze globaler Beleuchtungsmodelle:
 Expansion: Ray Tracing-Verfahren
 Iteration: Radiosity-Verfahren
• Ziel ist Photorealismus
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
50
Globale Beleuchtungsmodelle
 Allgemeine Beschreibung globaler Modelle
• Rendering Gleichung:
 Beschreibt Energieerhaltung bei Ausbreitung von Lichtstrahlen
 Lösungsansätze sind:
•
•
Monte-Carlo-Techniken: Ray Tracing
Finite-Elemente-Techniken: Radiosity
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
51
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
52
Globale Beleuchtungsmodelle
 Ray Tracing
•
•
•
•
Modell zur Verdeckungs- und Lichtverteilungsberechnung in 3D-Szene
Rückwärts-“Licht“-Transport, mit Betrachterposition als Start
Pfadsuche nach Pfad, auf dem Licht bei Betrachter ankommt
Pfadsuche erfolgt rekursiv
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
53
Globale Beleuchtungsmodelle
 Ray Tracing
• Beispiele
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
54
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
55
Globale Beleuchtungsmodelle
 Radiosity
• Modell zur Lichtverteilungsberechnung in 3D-Szene
• Einhaltung des Energieerhaltungssatzes, durch näherungsweise
Lösung der Rendering Gleichung
• Blickpunkt unabhängig, d.h. Kameraposition ist egal
• Idee:
Jedes Objekt in der Szene ist ideal diffuser Reflektor und alle
Lichtquellen ideal diffuse Strahler
• Sehr rechenintensiv: hoher Zeit- und Speicherbedarf
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
56
Globale Beleuchtungsmodelle
 Radiosity
• Prinzip (grob):
 Unterteilung der Szene in Patches
 Patches beeinflussen Radiosity-Wert anderer Patches und
umgekehrt
 Patches tauschen Strahlung aus -> Berechnung von Formfaktoren
 Berechnung von Radiosity-Werten durch iteratives Lösen eines
linearen Gleichungssystems
 Iterative Lösung des LGS konvergiert gegen exakte Lösung und
damit gegen ein photorealistisches Bild
 Nach genügend exakter Lösung wird mit den vorhandenen
Radiositywerten z.B. Gouraud-Shading angewandt
• Blickpunktabhängige Verdeckungsberechnung erfolgt in einem
unabhängigen Schritt
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
57
Globale Beleuchtungsmodelle
 Radiosity
• Prinzip – Beispiel
Unterteilung der Oberfläche in Patches
Algorithmen für Computerspiele - Licht und Schatten
Nach dem Rendern mit Radiosity-Werten
15.07.2016
58
Globale Beleuchtungsmodelle
 Radiosity
• Beispiele
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
59
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
60
Lokale Schattenmodelle
 Projektive Schatten
• Am besten geeignet für Schatten auf Ebenen
• Keine Selbstbeschattung
• Z-Fighting tritt auf -> Lösung Stencil-Buffer
• Idee:
 Objekt, das die Schattenquelle darstellt, wird zu Schatten
transformiert
 Transformation erzeugt planes Objekt
 Planes Objekt wird als Schatten auf Ebene projiziert
 Objekt und Schatten werden gezeichnet
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
61
Lokale Schattenmodelle
 Projektive Schatten
• Beispiele
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
62
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
63
Lokale Schattenmodelle
 Schattenvolumen (engl. Shadow Volumes)
•
•
•
•
Korrekt geworfene Schatten und Selbstbeschattung
Unabhängig von Betrachterposition
Objektraum-Verfahren
Prinzip:
 Schattenquelle ist schattenwerfendes Objekt
 Silhouetten-Kanten der Schattenquelle werden von Lichtquelle aus
zum Schattenvolumen ins „unendliche“ extrudiert
 All diejenigen Bereiche liegen im Schatten, die sich im SchattenVolumen der Schattenquelle befinden
 Abschließendes Clipping am Viewing-Frustum
• Probleme:
 Für harte Schatten gut
 Hohe Füllrate
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
64
Lokale Schattenmodelle
 Schattenvolumen
• Wie stellt man fest, ob ein Punkt im Schattenvolumen liegt?
• Lösung (grob):
 Strahlverfolgung von Betrachter zu Oberflächenpunkt
 Stencil-Buffer um eins erhöhen wenn Seite des Volumens zum
Betrachter geschnitten wird
 Stencil-Buffer um eins erniedrigen wenn Rückseite des Volumens
geschnitten wird
 Oberflächenpunkt ist im Schatten, wenn Stencil-Buffer > 0
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
65
Lokale Schattenmodelle
 Schattenvolumen
• Demo
• Beispiel – Doom 3
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
66
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
67
Lokale Schattenmodelle
 Shadow Maps
•
•
•
•
•
Texturbasiertes, reines Bildraumverfahren
Shadow Map enthält alle Schatten-Informationen
Wird perspektivisch auf Szene projiziert
Weiche Schatten und Selbstbeschattung möglich
Schnell bei großen Geometrien
• Probleme:
 Weniger genau wie Schattenvolumen
 Immer neue Shadow Map wenn dyn. Szenen
 Schattenqualität hängt von Auflösung der Shadow Map ab
 Gleichförmige Verteilung des Texturraums
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
68
Lokale Schattenmodelle
 Shadow Maps
• 2-Pass-Rendering - Veranschaulichung
1. Rendering aus Sicht
der Lichtquelle
Algorithmen für Computerspiele - Licht und Schatten
Speicherung der TiefenWerte in Shadow Map
15.07.2016
2. Rendering aus Sicht
der Kamera. Jedes Pixel
wurde Transfomiert und
Tiefenwert mit Shadow
Map verglichen
69
Lokale Schattenmodelle
 Shadow Maps
• Probleme - Beispiele
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
70
Lokale Schattenmodelle
 Shadow Maps
• Beispiele
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
71
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
72
Globale Schattenmodelle
 Ray Tracing
• Lichtstrahlen können nicht nur von Betrachter ausgesendet werden,
sondern von jedem anderen Punkt auch
• Dadurch Schattensimulation möglich
• Oberflächenpunkt ist im Schatten, wenn sich zwischen ihm und der
Lichtquelle ein anderes Objekt befindet
• Oberflächenpunkt sendet Strahl in Richtung Lichtquelle aus
• Gibt es einen Schnittpunkt mit anderem Objekt -> Punkt im Schatten
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
73
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
74
Globale Schattenmodelle
 Radiosity
•
•
•
•
Oberfläche wird in Patches unterteilt
Patches nehmen Strahlung auf
Patches tauschen gegenseitig Strahlung aus
Sind bestimmte Patches verdeckt von anderen, nehmen
und senden diese weniger Licht an andere Patches
• Folge ist Schattensimulation
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
75
Inhaltsverzeichnis
3.
Beleuchtungsmodelle (Fortsetzung)
 Globale Beleuchtungsmodelle
• Allgemeine Beschreibung globaler Modelle
• Ray Tracing
• Radiosity
4.
Schattenmodelle
 Lokale Schattenmodelle
• Projektive Schatten
• Schattenvolumen
• Shadow Maps
 Globale Schattenmodelle
• Ray Tracing
• Radiosity
5.
Fazit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
76
Fazit
 Real wirkende Beleuchtung und Schatten sind nicht per Hand zu
modellieren -> zeitaufwendig bis unmöglich
 Beleuchtungs- und Schattenmodelle erzeugen aufwendige Texturen
prozedural
 Dadurch erst möglich Schatten und Licht als Designmittel in Spielen
einzusetzen
 Soft Shadow-Methoden werden immer besser
 Versuch indirekte globale Beleuchtung im echtzeit Rendering
nachzuahmen -> Light Propagation Volumes (Crytek)
 Entwicklung geht in Richtung photorealistisches Rendering in Echtzeit
Algorithmen für Computerspiele - Licht und Schatten
15.07.2016
77
Fragen?