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?