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?