540 likes | 676 Views
How to make a Pixar Movie. Photon Mapping. Photon Mapping. 1993/94 entwickelt von Henrik Wann Jensen 1995 Veröffentlicht als PhD an der Technical University of Denmark Derzeit Associate Professor am Computer Graphics Laboratory an der University of California San Diego.
E N D
Howtomake a Pixar Movie Photon Mapping
Photon Mapping • 1993/94 entwickelt vonHenrik Wann Jensen • 1995 Veröffentlicht als PhDan der Technical UniversityofDenmark • Derzeit AssociateProfessor am Computer Graphics Laboratory an der University ofCalifornia San Diego
Motivation Unzulänglichkeit des „klassischen“ Raytracings: Ineffiziente SimulationGlobaler Beleuchtungseffekte
Motivation Direkte Beleuchtung vs. Globale Beleuchtung
Motivation Weitere Effekte der Globalen Beleuchtung Color Bleeding James Gurney
Motivation Weitere Effekte der Globalen Beleuchtung Kaustiken
Motivation • Bsp. einer GI-Technik:Path TracingWeiterverfolgen des Strahls durch die Szene Problem: Hohe Invarianz
Global Illumination • Problem: Bisherige Lösungen sehr ineffizient • Lösung: Photon Mapping • Effiziente Berechnung der diffusen Komponente der Globalen Beleuchtung • Ergänzung zu Raytracing • Streuung von Licht in z.B Rauch„Participating Media“ • Parallelisierbar
Ansatz • Lichtteilchen (Photonen) werden von Lichtquelle emittiert • Pfad der Photonenwird durch Szene verfolgt • Auftreffen der Photonen wird abgespeichert in einer Photon Map
Ansatz BackwardTracingKlassisches Raytracing Forward TracingPhoton Mapping
Emission der Photonen • Stärke der Lichtquelle wird simuliert durch Anzahl der Photonen • Schwächere Lichtquelle Weniger Photonen 1000 Photonen halber stärker entsprechen 500 Photonen ganzer Stärke Alle Photonen gleich stark Einfachere Berechnung Weniger Speicheraufwand
Lichtquellen Direktional Punkt Fläche Freie Form
Optimierungsmöglichkeit • ProjectionMap Aussenden von Photonen nur in Bereiche mit Geometrie inaktiv aktiv
Lichtstreuung Diffus Idealspekular Real spekular
Russisches Roulette • Was passiert bei einer Kollision? Zufallszahl ξ[0,1] • ξ diffuse Reflektion. • ξspekulareRefl. • ξ Absorption
Russisches Roulette • Beispiel: • Oberfläche ist 0.25 spiegelnd und 0.25 diffus • 50 % der Photonen werden absorbiert • 25 % der Photonen werden diffus reflektiert • d.h. gespeichert & deren Pfad weiter verfolgt • 25 % der Photonen werden gespiegelt • d.h. nicht gespeichert & deren Pfad weiter verfolgt
Warum Russisches Roulette? • Bsp: Material 33% diffus reflektierend Bei 3 eintreffenden Photonen: nicht 3 Photonen mit 33% Stärke sondern 1 Photon mit 100% Stärke Stärke der Photonen miteinander Vergleichbar Weniger Photonen zum Abspeichern
Speicherung • Anforderungen:Schnell und kompakt um große Datenmengen zu speichern und zu durchsuchen Vorschlag 1: • Mehrdimensionale ArraysProblem: Suche nach nächstem Nachbar zu kostspielig Vorschlag 2: • 3D- Gitter unterteilt in regelmäßige UnterwürfelProblem:Photonen nicht gleichmäßig verteilt (Speicherung nur an Oberflächen, Kaustiken)
kd-Tree • Multidimensionaler binärer Suchbaum
kd-Tree Im balancierten Baum:
Photon Map Normalerweise zwei Photon Maps: • Global Photon Map • CausticsPhoton Map • Hohe Photonendichte für Kaustiken nötig • Konzentration auf gewünschte Bereiche durch ProjectionMap
Photon Map Photonen, erstes auftreffen
Photon Map Photonen nach 2 Reflektionen
Die Rendergleichung • Basis der Global Illumination Abstrahlung am Punkt x in Richtung Emittiertes Licht Reflektiertes Licht Photon Mapping(Bei genügend großer Photonenzahl)
Photonmapping in der Praxis Lösen der Rendergleichung : direkte Beleuchtung +spekulare Reflektion + Kaustiken + mehrfache diffuse Reflektion Raytracing Photon-mapping
RadianceEstimate • RadianceEstimate: • Abschätzen der Beleuchtungsstärke an einem gewissen Punkt • Beleuchtungsstärke abhängig von der Dichte der Photonen in der Umgebung
RadianceEstimate 2 Strategien
RadianceEstimate • Da Oberfläche lokal eben ist (in Näherung): • Fläche: • Lichtstrom aller Photonen wird summiert und durch die Fläche geteilt
RadianceEstimate • Problem: Ungenauigkeiten an Kanten
Photon Mapping Direct Illumination
Photon Mapping Depth: 0, Radius 0.025
Photon Mapping Depth: 1, Radius 0.025
Photon Mapping Depth: 5, Radius 0.025
Zusammenfassung • Erweiterung von Raytracing-basierten Verfahren • Simulation der diffusen Komponente der Globalen Beleuchtung • Zwei Passes: • Photon Tracing PassPhotonen werden von der Lichtquelle aus durch die Szene verfolgt • Rendering PassGespeicherte Photonen dienen zur Abschätzung der indirekten Beleuchtung
Zusammenfassung • Vorteile des Photon Mapping • Sehr effizient im Vergleich zu anderen Verfahren • Indirekte Beleuchtung wird unabhängig von der Geometrie gespeichert
Zusatz: Filtering • Unscharfe Kanten bei indirekter Beleuchtung erwünscht • Unerwünscht bei Kaustiken Lösung: Filtering Stärkere Gewichtung der Photonen nahe des „Point of Interest“
Zusatz: Filtering • Annahme: Fläche ist lokal eben 2 dimensionale Filter • Cone Filter • Gauss Filter
Zusatz: SubsurfaceScattering Diffuse Reflektion AnnäherungRealität