1 / 40

Shading & Lighting III

Shading & Lighting III. Ambient Occlusion & Precomputed Radiance Transfer. Übersicht. Ambient Occlusion Motivation Funktionsweise Dynamic Ambient Occlusion Beispiele. Precomputed Radiance Transfer Grundlagen Rendering Equation Neumann Expansion Basisfunktionen Funktionsweise

Download Presentation

Shading & Lighting III

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Shading & Lighting III Ambient Occlusion & Precomputed Radiance Transfer

  2. Übersicht • Ambient Occlusion • Motivation • Funktionsweise • Dynamic Ambient Occlusion • Beispiele • Precomputed Radiance Transfer • Grundlagen • Rendering Equation • Neumann Expansion • Basisfunktionen • Funktionsweise • Transfered Incident Radiance • Beispiele Hauptseminar - Computer Graphics Johannes Hummel

  3. Ambient Occlusion - Motivation Motivation: Vorhandene Beleuchtungsmodelle nicht ausreichend realitätsnah • Ambientes Licht: • Addiert festen Farbwert • keine Berücksichtigung von 3D-Geometrien • Diffuses und punktuelles Licht: • Nur mit sehr vielen Lichtquellen realistisch => sehr langsame Berechnung Hauptseminar - Computer Graphics Johannes Hummel

  4. Ambient Occlusion - Grundlagen Grundlegendes: • Ambient Occlusion (dt. Umgebungsverdeckung) • Vorgestellt auf der SIGGRAPH 2002 • Beobachtung: Ritzen und Ecken weisen geringere Beleuchtungsstärke auf • Grund: zahlreiche, diffuse Reflexionen an Engstellen Funktionsprinzip: • Einheitskugel aus Licht um komplette Szene • Licht wird nur durch Selbstverdeckung abgeschwächt/blockiert • 2 Berechnungsverfahren: Inside-Out / Outside-In Hauptseminar - Computer Graphics Johannes Hummel

  5. 2. Zufälliges Aussenden von Strahlen innerhalb der Normalenhalbkugel für den Treffertest Ambient Occlusion - Funktionsweise Funktionsweise (Inside-Out): 1. Strahl vom Betrachter auf eine Oberfläche mit einem Ambient-Occlusion-Shader Hauptseminar - Computer Graphics Johannes Hummel

  6. 4. Das Verfahren auf alle Objekte der Szene anwenden. 5. Rendern als Intensität oder mit Environment-/Lightmap multiplizieren Keine scharfen Kanten! Ambient Occlusion – Funktionsweise (2) 3. Schritte 1 und 2 für alle Punkte auf der Fläche wiederholen. Dabei für jeden Punkt den Wert 1 – hitratio speichern. (Im Bsp. 2 / 6 = 1/3 ) Hauptseminar - Computer Graphics Johannes Hummel

  7. Vorgehensweise: • Vertices => orientierte Scheiben mit Position, Normale und Fläche Ambient Occlusion – Dynamic AO Dynamic Ambient Occlusion (NVIDIA) • Echtzeitfähigkeit • Nicht begrenzt auf starre Objekte Hauptseminar - Computer Graphics Johannes Hummel

  8. Vertex-Area: 1/3 der Fläche der anliegenden Dreiecke d.h. für ein Dreieck mit den Kanten a, b und c (Heron) wobei s der halbe Umfang des Dreiecks ist: Ambient Occlusion – Dynamic AO (2) • Front-Face: Licht wird ausgeschickt und reflektiert Back-Face: Licht wird durchgelassen und Schatten gesetzt Hauptseminar - Computer Graphics Johannes Hummel

  9. Berechnung der AO durch eine Schatten-Approximation (nach Landis2002) Ambient Occlusion – Dynamic AO (3) • Position, Normale und Fläche => Texture Map Notwendig, um AO-Berechnungen im Pixel-Shader durchzuführen Berechnung von Animationen und Transformationen (z.B. object space -> world space) auf der Texture Map, um Zeit zu sparen Hauptseminar - Computer Graphics Johannes Hummel

  10. Ambient Occlusion – Dynamic AO (4) E Emitter-Surface R Receiver-Surface r Strecke zwischen den Mittelpunkten von E und R θE Winkel zwischen E´s Normale und r θR Winkel zwischen r und R´s Normale A Fläche von E (1 - rsqrt( emitterArea / rSquared + 1 )) * saturate( dot( emitterNormal , v )) * saturate( 4 * dot( receiverNormal, v )); Hauptseminar - Computer Graphics Johannes Hummel

  11. Ambient Occlusion – Dynamic AO Beispiel Dynamic Ambient Occlusion Beispiel: environment lighting + ambient occlusion + indirect lighting Hauptseminar - Computer Graphics Johannes Hummel

  12. Ambient Occlusion – Dynamic AO Beispiel (2) Dynamic Ambient Occlusion Beispiel: Hauptseminar - Computer Graphics Johannes Hummel

  13. Übersicht • Ambient Occlusion • Motivation • Funktionsweise • Dynamic Ambient Occlusion • Beispiele • Precomputed Radiance Transfer • Was ist PRT? • Rendering Equation • Neumann Expansion • Basisfunktionen • Funktionsweise • Beispiele Hauptseminar - Computer Graphics Johannes Hummel

  14. PRT - Grundlagen Was ist Precomputed Radiance Transfer? • Ein Weg, um Objekte mit unterschiedlichen Beleuchtungen zu schattieren • Direktes & indirektes Licht, Kaustiken etc. • Jegliche Art von Transport • Eingeschränkte Echtzeit: Licht darf sich verändern • Beleuchtung aus allen Richtungen (env-map) • Beleuchtung weit entfernt • Evtl. Beschränkung des Lichts (z.B. implementationsabhänging nur niederfrequentes Licht) Was ist Precomputed Radiance Transfer nicht? • Kein globales Beleuchtungssystem für beliebige dynamische Szenen • Objekte müssen starr sein • Object-to-object-Interaktion beschränkt Hauptseminar - Computer Graphics Johannes Hummel

  15. PRT - Ziele Ziele: • Beleuchtungsumgebungen: • Materialeigenschaften: • Transporteffekte: Hauptseminar - Computer Graphics Johannes Hummel

  16. Strahlung von Punkt P in Richtung d d p PRT – Rendering Equation Rendering Equation: Hauptseminar - Computer Graphics Johannes Hummel

  17. PRT – Rendering Equation Rendering Equation: Eigenstrahlung von Punkt P in Richtung d d p Hauptseminar - Computer Graphics Johannes Hummel

  18. PRT – Rendering Equation Rendering Equation: Integral über die Richtungen s auf der Halbkugel über Punkt P d s p Hauptseminar - Computer Graphics Johannes Hummel

  19. PRT – Rendering Equation Rendering Equation: Strahlung aus Richtung s zu Punkt P s p Hauptseminar - Computer Graphics Johannes Hummel

  20. PRT – Rendering Equation Rendering Equation: BRDF von Punkt P für einkommende Strahlen s in Richtung d s d p Hauptseminar - Computer Graphics Johannes Hummel

  21. s Np p PRT – Rendering Equation Rendering Equation: Lambertsche Regel: Cosinus zwischen der Normalen und –s = dot( Np , -s ) Hauptseminar - Computer Graphics Johannes Hummel

  22. PRT – Neumann Expansion Neumann Expansion: Ausgehende Strahlung als unendliche Reihe Hauptseminar - Computer Graphics Johannes Hummel

  23. PRT – Neumann Expansion Neumann Expansion: Direkter Lichteinfall auf P aus der Umgebung p Hauptseminar - Computer Graphics Johannes Hummel

  24. PRT – Neumann Expansion Neumann Expansion: p Hauptseminar - Computer Graphics Johannes Hummel

  25. PRT – Neumann Expansion Neumann Expansion: Visibility-Funktion p Hauptseminar - Computer Graphics Johannes Hummel

  26. PRT – Neumann Expansion Neumann Expansion: Alle Pfade von der Quelle mit einer Reflexion p Hauptseminar - Computer Graphics Johannes Hummel

  27. PRT – Neumann Expansion Neumann Expansion: Alle Pfade von der Quelle mit i Reflexionen p Hauptseminar - Computer Graphics Johannes Hummel

  28. Projektion der Funktion in den Basisfunktions- Raum: PRT – Basisfunktionen Basisfunktionen: Funktion: Einige Basisfunktionen: Hauptseminar - Computer Graphics Johannes Hummel

  29. Approximation der Funktion (mit weniger Zahlen) PRT – Basisfunktionen (2) Basisfunktionen: Rekonstruktion: Hauptseminar - Computer Graphics Johannes Hummel

  30. PRT – Basisfunktionen (3) Basisfunktionen: Funktion: Projektion: Rekonstruktion:  Für orthogonale Basisfunktionen gilt: Für orthonormale Basisfunktionen gilt: Hauptseminar - Computer Graphics Johannes Hummel

  31. PRT – Grundlagen • Projektion von L und T auf orthonormale Basisfunktionen => Integral -> Skalarprodukt • Mögliche Basisfunktion: Spherical Harmonics • Orthonormal • Rotationsinvariant ->Keine Fluktuationen bei Animation der Lichtquelle ->Keine Aliasing-Probleme Transferfunktion: Die Antwort eines Objektes auf seine Beleuchtung kann als Funktion aufgefasst werden, die eingehende Strahlung auf ausgehende abbildet. Beleuchtungsfunktion: Die Lichtquellen können als Funktionen aufgefasst werden. Hauptseminar - Computer Graphics Johannes Hummel

  32. PRT – SH-Beispiel Beispiel von Spherical Harmonics: Rekonstruktion (N: Anzahl der Basisfunktionen) SH ähnlich Fourier-Transformation Vorteil: Kompakt und Blickwinkelunabhängig Nachteil: Problem mit Rekontruktion scharfer Kanten Hauptseminar - Computer Graphics Johannes Hummel

  33. PRT – Funktionsweise Funktionsweise: Ausgangssituation: Objekt umgeben von einer entfernten Environment Map Ziel: Lenv(w)  Lout(p -> w) Berechnung durch lineare Operationen für jeden Punkt P  Transfermatrix Hauptseminar - Computer Graphics Johannes Hummel

  34. PRT – TIR Aber: • Spekulare Effekte • Lout Blickrichtungsabhängig • BRDF nur für diffuse Komponente konstant • Neighbourhood-Transfer: • Berechnung des Einflusses von Objekt O auf ein anderes Objekt R (Reciever) zur Laufzeit • Normalen des Objekts R unbekannt • Keine Vorberechnung von Lout Lösung: Transfered Incident Radiance Hauptseminar - Computer Graphics Johannes Hummel

  35. PRT – TIR (2) Transfered Incident Radiance: Berechnung der einfallenden Strahlung aus allen Raumrichtungen für jeden Punkt P der Szene • Unterschied zu Lenv in Verdeckung und Reflexion • Ummaskieren von Lenv in eine andere Funktion  Produkt Projektion • Sphärische Funktion für jeden Punkt P • Neighbourhood-Transfer: Interpolation über die Berechnung der freien Raumpunkte Hauptseminar - Computer Graphics Johannes Hummel

  36. PRT – TIR (3) Transfermatrix: • Berechnung von Lxfer aus Lenv • Offline-Berechnung der Matrizen • Bestimmung von Lxfer zur Laufzeit • Lout = Integration über Lxfer mit BRDF * cos • lineare Abhängigkeiten • Formel: • , zur Laufzeit bekannt • , noch zu berechnen • , gesucht Hauptseminar - Computer Graphics Johannes Hummel

  37. PRT – TIR (4) Berechnung von : • Annahme: Beleuchtung nur durch die i-te Basisfunktion yi  i-te Spalte approximiert die Erscheinung der Szene aus der Perspektive von P • Gesamte Beleuchtung: Linearkombination aller Basislichter ( durch Vektor-Matrix-Multiplikation) • : direkte/indirekte Beleuchtung von P durch yi • Projektion von auf die j-te Basisfunktion von liefert Eintrag ji von T: Hauptseminar - Computer Graphics Johannes Hummel

  38. PRT – Ablauf Vereinfachter Ablauf: • Offline-Berechnung der Transfermatrizen • Online-Berechnung von Lxfer durch Transfermatrizen • Auswertung der BRDF • Berechnung der Outgoing Radiance = TIR + reflektierte Strahlung in P • Berechnung von Lout in Punkt P Hauptseminar - Computer Graphics Johannes Hummel

  39. PRT – Beispiele Beispiele von PRT: Hauptseminar - Computer Graphics Johannes Hummel

  40. Fragen Vielen Dank für die Aufmerksamkeit! Noch Fragen? Hauptseminar - Computer Graphics Johannes Hummel

More Related