Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
C fPhotorealistische Computergrafik
Thorsten Grosch
Worum geht es ?Worum geht es ?Globale Beleuchtung
Si l ti ll Li ht d Li ht ll bi A– Simulation aller Lichtwege von der Lichtquelle bis zum AugeIndirektes Licht, Spiegelungen, weiche Schatten, …
– Ziele: Photorealistische DarstellungEchtzeitdarstellung, also mind. 25 Bilder / sek.
Lokale Beleuchtung:Nur direktes Licht
Globale Beleuchtung:Photorealistisch, aber
Virtuelle 3D Szene,keine Beleuchtung
Schnell, aber künstlich zeitaufwändig
T. Grosch - 2 -
BeispielbilderStroebel et al .1986
Beispielbilder
Geomerics
CryTek
Bilder: Jensen, Lightscape
CryTek
T. Grosch - 3 -
Zur VorlesungZur VorlesungSimulation von Licht
Vorlesung ist grob in zwei Abschnitte aufgeteilt– Möglichst korrekte Lichtsimulation (CPU, erste Hälfte)– Möglichst schnelle Lichtsimulation (GPU, zweite Hälfte)
4 SWS (V3 + Ü1), 6 ECTS Punkte– Montag, 11 Uhr, Raum G29-335– Mittwoch,11 Uhr, Raum G29-335 (?)
Vorlesung für Master Studenten bzw. Diplomanden
T. Grosch - 4 -
Zur VorlesungZur VorlesungVoraussetzungen– Grundlagen der Computergraphik
C++OpenGL (GLUT)
– MathematikVektorrechnungDifferential / IntegralrechnungStochastik
T. Grosch - 5 -
ÜbungÜbungCa. jede 4. Vorlesung ist Übung
Ü– Übungsblatt ca. 1 Woche vorher– Theoretische Aufgaben & Programmieraufgaben (C++, OpenGL)
Keine Korrektur der Übungen– Keine Korrektur der Übungen– Keine Musterlösung für Theorieaufgaben
Framework für ProgrammierungFramework für Programmierung– Pro Übungsblatt neues Framework– Insgesamt 5 Übungen, ab 2. Übung mit ProgrammieraufgabenInsgesamt 5 Übungen, ab 2. Übung mit Programmieraufgaben
Prüfung– Mündliche Prüfung bei wenigen Teilnehmern, sonst Klausur g g ,
T. Grosch - 6 -
WebseitenWebseitenFolien, Übungsblätter und Programme sind momentan auf der Webseite – http://www.rendering.ovgu.de– Lehre Wintersemester 2011
– Folien von letztem Jahr auch noch vorhanden
T. Grosch - 7 -
Wer bin ichWer bin ichThorsten GroschSeit September 2009 Juniorprofessor für CV in MagdeburgDavor…– Studium Informatik TU Darmstadt
F h f IGD– Fraunhofer IGDLichtsimulation (Radiosity)
– Universität Koblenz Landau (die andere CV Uni)Universität Koblenz Landau (die andere CV Uni)Aufbau der Computergrafik LehreDoktorarbeit
– Erweiterung von realen Bildern mit korrekter Beleuchtung
– Post-Doc am MPI Informatik Saarbrücken
T. Grosch - 8 -
IGD DarmstadtIGD Darmstadt
Studium Informatik TU DarmstadtFraunhofer IGD DarmstadtRadiosityRadiosity
– Finite-Elemente Verfahren für globale Beleuchtung
– Physikalisch korrekt für diffuse Umgebungen
Refinement Photometrische Konsistenz Beleuchtung Auto InnenraumRefinement Photometrische Konsistenz Beleuchtung Auto Innenraum
T. Grosch - 9 -
Universität Koblenz-LandauUniversität Koblenz Landau2002 Wechsel an Uni Koblenz zusammen mit Prof. Dr. Stefan MüllerStefan MüllerNeuaufbau Computergrafik Lehrstuhl– VorlesungenVorlesungen
Computergrafik 1 + ÜbungComputergrafik 2 + ÜbungPhotorealistische Computergrafik + Übung
– Vorlesungen zusammen erarbeitet, alle Übungen selbst erstelltSeminare Studien/Diplomarbeiten Praktika– Seminare, Studien/Diplomarbeiten, Praktika, …
Doktorarbeit– Augmentierte Bildsynthese
T. Grosch - 10 -
Erweitertes BildErweitertes Bild
T. Grosch - 11 -
Original FotoOriginal Foto
T. Grosch - 12 -
MPI InformatikMPI InformatikPost-DocForschungsschwerpunkt– Globale Beleuchtung in
Echtzeit mit der GrafikEchtzeit mit der Grafik Hardware
ProjekteProjekte– Coherent Shadow Maps– Imperfect Shadow Maps– Screen-Space Directional
Occlusion
T. Grosch - 13 -
MPI InformatikMPI Informatik
Imperfect Shadow Maps: Ritschel, Grosch, Kim, Seidel, Dachsbacher, Kautz
T. Grosch - 14 -
Vorstellung der Vorlesung
Was ist LichtWas ist LichtLicht = elektromagnetische WelleWelleLichtquelle versendet permanent kleine Wellenzüge (Photonen)(Photonen)Die Photonen werden (mehrfach) auf den Oberflächen der Objekte reflektiert undder Objekte reflektiert und nehmen dabei die „Objektfarbe“ anGGelangt ein Photon ins Auge, so wird ein Rezeptor auf der Netzhaut aktiviertDieses Signal wird ans Gehirn weitergeleitet Das Bild entsteht Direktes und indirektes Licht
T. Grosch - 16 -
Globale BeleuchtungGlobale BeleuchtungDirektes Licht
Li ht ll R fl i– Lichtquelle Reflexion an Oberfläche Auge
– Einfach zu berechnen
Indirektes Licht– Lichtquelle mehrfach an
Oberfläche reflektiert Auge
– Schwierig zu berechnen
Licht an einem Punkt oL L
y
Licht an einem Punkt hängt von Licht an allen anderen Punkten abI t l l i h x
oωv iω
vo iL
fIntegralgleichung xrf
T. Grosch - 17 -
Rendering EquationRendering EquationZur Simulation von Licht muß folgende Integralgleichung gelöst werden [Kajiya 1986] :
iiioiroeoo dxLxfxLxL ωωθωωωω vvvvvv ⋅⋅⋅+= ∫ ),(cos),,(),(),(2
werden [Kajiya 1986] :
srπ2
„Das Licht an einem Punkt x in Richtung des Betrachters ergibt sich aus der Eigenemission an x plus dem Licht aus allen einfallenden Richtungen, das in Richtung des Betrachters reflektiert wird“
voL
iL
xoωv iω
rf
T. Grosch - 18 -
GrundlagenGrundlagenLichttechnische Grundgrößen– Photometrie– Einfache Lichtübertragung– Diese Grundlagen werden der Vorlesung immer
wieder auftauchenMathematik– Auch hier Grundlagen, die immer wieder verwendet g ,
werden, z.B.Polarkoordinaten, Integration über Kugel (2D)
T. Grosch - 19 -
ReflexionReflexionWas passiert wenn Licht auf i M t i l t ifftein Material trifft– Diffuse Reflexion
Spiegelnde Reflexion– Spiegelnde Reflexion– Glänzende Reflexion– Bi-direktionale Reflexions-Bi direktionale Reflexions
Verteilungs-Funktion (BRDF)MessungMikofacetten ModelleParametrisierte Modelle (Phong, Lafortune, Ward, Ashikhmin-Shirley)
T. Grosch - 20 -
Ray TracingRay TracingEin mögliches Verfahren zur Simulation von Lichtzur Simulation von Licht Beschreibung Licht durch Strahlen
Spiege
Strahlverfolgung aus Auge (nicht aus Lichtquelle)
Glas
l
Lichtquelle)Rekursives Verfolgen von reflektiertem und Diffuse Fläche
gebrochenem StrahlSpiegelnde/Gläserne ObjekteObjekte
T. Grosch - 21 -
Tone MappingTone MappingDarstellung der Ergebnisse– Jeder Monitor hat eine max.
Helligkeit– Simulation hat evtl grössere WerteSimulation hat evtl. grössere Werte
(grösserer Dynamikbereich)– Abbildung auf darstellbaren
B i h i ö li hBereich mit möglichst guter Qualität
T. Grosch - 22 -
High Dynamic RangeHigh Dynamic Range
( )High Dynamic Range (HDR)– Fotos mit beliebig großen Werten
pro Pixelpro Pixel– Generierung aus Belichtungsserie – Bestimmung der Kamerakurve g
T. Grosch - 23 -
RadiosityRadiositySimulation von Licht als diffuse StrahlungStrahlung– kommt aus Bereich der
Thermodynamik, Wä b itWärmeausbreitung
Aufteilung der Geometrie in Patches– konstante Strahlung– nur diffuse Reflexion
Komplizierte Rendering Gleichung wird zu Linearem Gleichungssystemg yBeleuchtung großer Szenen – Progressive Refinement– Hierarchisches Radiosity
T. Grosch - 24 -
Radiosity BeispieleRadiosity Beispiele
T. Grosch - 25 -
Path TracingPath TracingMonte Carlo Verfahren
Lö I t l d h– Löse Integral durch Zufallszahlen
– Lichtsimulation durch Zufallszahlen
– Ray Tracing mit zufälligen Strahlen
Sampling– Generiere Zufallszahlen nach
einer Dichteeiner Dichte
Grundlagen der Wahrscheinlichkeitsrechnung– Beleuchtung =
Zufallsexperiment
T. Grosch - 26 -
Path Tracing BeispielePath Tracing Beispiele
T. Grosch - 27 -
Photon MappingPhoton MappingSimulation von Licht als T il h (Ph t )Teilchen (Photonen)Zwei-Schritt-VerfahrenSchritt 1– Verteilung der Photonen
SSchritt 2– Bestimmung der Helligkeit
aus Photonendichteaus Photonendichte
Alle wichtigen Lichteffekte darstellbar, speziell sog.darstellbar, speziell sog. Kaustiken
T. Grosch - 28 -
Precomputed Radiance TransferPrecomputed Radiance TransferEchtzeit Beleuchtung in natürlicher Umgebungnatürlicher UmgebungVorberechnung der Lichttransporte Beschreibung von einfallendem Licht und Reflexion an Oberfläche in OrthonormalbasisOberfläche in Orthonormalbasis– 2D Fourier Reihe über
Kugeloberfläche– Sphärisch-harmonische
Funktionen– Wavelets
Komplexe Berechnung reduziert sich auf einfaches SkalarproduktSkalarprodukt
T. Grosch - 29 -
Grundlagen Grafik HardwareGrundlagen Grafik HardwareOpenGL Pipeline– Der Weg vom
Eckpunkt zum Pixel
TransformationenTransformationenProjektionenEinfache Bele cht ngEinfache BeleuchtungBuffer
St il B ff– Stencil Buffer– Accumulation Buffer
T. Grosch - 30 -
Programmierung der GPUProgrammierung der GPUVertex – und Fragment PProgramsOpenGL Shading LanguageLanguageMulti-Pass RenderingM lti l R dMultiple Render Targets
T. Grosch - 31 -
Echtzeit SchattenEchtzeit SchattenSchatten lassen sich nicht direkt mit der Grafik Hardwaremit der Grafik Hardware darstellenGrund ist die Rasterisierungs-Pipeline– Zu jedem Zeitpunkt ist nur ein
Polygon bekannto ygo be a t– Zur Darstellung des Schattens
müssten alle Polygone bekannt seinsein
Echtzeit-Schatten gehen daher nur auf Umwegen – Shadow Volumes– Shadow Maps
T. Grosch - 32 -
Instant RadiosityInstant RadiosityGlobales Beleuchtungsverfahren für die GPUfür die GPUZwei Schritte– Verteilen von virtuellen
Punktlichtquellen (VPLs)– Beleuchtung mit vielen VPLs
Schatten pro VPL– Schatten pro VPL
ca. 100 – 1000 VPLs werden für gute Qualität benötigt
Instant Radiosity
Schnelle Varianten– Reflective Shadow Maps– Imperfect Shadow Maps
T. Grosch - 33 -
Ambient OcclusionAmbient OcclusionSchnelle Näherung der Si htb k itSichtbarkeit– Mittlere Sichtbarkeit pro
Eckpunkt/Texel speichernEckpunkt/Texel speichern
Keine physikalisch korrekte Lichtsimulation, aber visuell ,plausibelEchtzeitfähiggDynamische Szenen möglichScreen-Space Verfahren– SSAO, SSDO
T. Grosch - 34 -
Augmentierte BildsyntheseAugmentierte BildsyntheseErweiterung reales K bild it i t llKamerabild mit virtuellen ObjektenRekonstruktion derRekonstruktion der Beleuchtung auf dem FotoGlobale Beleuchtung mitGlobale Beleuchtung mit virtuellen ObjektenEinblendung ins FotoEinblendung ins Foto, Licht und Schatten sind korrekt
T. Grosch - 35 -
Vorläufige ZeitlisteVorläufige ZeitlisteDatum Thema Datum Thema17 10 2011 Einführung 28 11 2011 3 Übung (Path Tracing)17.10.2011 Einführung 28.11.2011 3. Übung (Path Tracing)
19.10.2011 Grundlagen Licht & Mathematik 30.11.2011 Precomputed Radiance Transfer
24.10.2011 Reflexion 5.12.2011 Grundlagen Grafik Hardware
26.10.2011 1. Übung (Grundlagen) 7.12.2011 Shader Programmierung
31.10.2011 - Fällt aus - 12.12.2011 Hardware Schatten
3.11.2011 Ray Tracing 14.12.2011 4. Übung (Shader)
7.11.2011 Tone Mapping, High Dyn. Range 19.12.2011 Instant Radiosity
9 11 2011 Radiosity 9 1 2012 Ambient Occlusion9.11.2011 Radiosity 9.1.2012 Ambient Occlusion
14.11.2011 2. Übung (Ray Tracing/Radiosity) 11.1.2012 Augmentierte Bildsynthese
16.11.2011 Sampling 16.1.2012 Augmentierte Bildsynthese GPU
21.11.2011 Path Tracing 18.1.2012 5. Übung (Instant Radiosity / AO)
23.11.2011 Photon Mapping 23.1.2012 Hot Topics
T. Grosch - 36 -
LiteraturLiteraturSemesterapparat zur VorlesungEs gibt kein Buch, das die gesamte Vorlesung abdeckt– M. Pharr and G. Humphreys: Physically Based Rendering. Morgan
Kaufmann 2004 (www pbrt org)Kaufmann, 2004. (www.pbrt.org)– P. Dutre, K. Bala and P. Bekaert: Advanced Global Illumination. AK
Peters, 2006, 2nd Edition (www.advancedglobalillumination.com)– H.W. Jensen: Realistic Image Synthesis Using Photon Mapping, AK
Peters 2001 (graphics.ucsd.edu./~henrik/papers/book)– P. Shirley and K. Morley: Realistic Ray Tracing, AK Peters, 2003, 2nd
Edition – T. Akenine-Möller, E. Haines and N. Hoffman: Real-time Rendering,
AK Peters (www.realtimerendering.com)( g )– D. Shreiner: OpenGL Programming Guide, Addison Wesley, 2009, 7th
Edition. R Rost: OpenGL Shading Language Addison Wesley 3rd Edition– R. Rost: OpenGL Shading Language, Addison Wesley, 3rd Edition
T. Grosch - 37 -
Nächste VorlesungNächste VorlesungMittwoch, 11 Uhr ct, Raum 335 (Termin ?)Grundlagen Licht & Mathematik
T. Grosch - 38 -