38
C f Photorealistische Computergrafik Thorsten Grosch

V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

C fPhotorealistische Computergrafik

Thorsten Grosch

Page 2: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 3: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

BeispielbilderStroebel et al .1986

Beispielbilder

Geomerics

CryTek

Bilder: Jensen, Lightscape

CryTek

T. Grosch - 3 -

Page 4: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 5: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Zur VorlesungZur VorlesungVoraussetzungen– Grundlagen der Computergraphik

C++OpenGL (GLUT)

– MathematikVektorrechnungDifferential / IntegralrechnungStochastik

T. Grosch - 5 -

Page 6: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Ü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 -

Page 7: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 8: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 9: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 10: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 11: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Erweitertes BildErweitertes Bild

T. Grosch - 11 -

Page 12: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Original FotoOriginal Foto

T. Grosch - 12 -

Page 13: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 14: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

MPI InformatikMPI Informatik

Imperfect Shadow Maps: Ritschel, Grosch, Kim, Seidel, Dachsbacher, Kautz

T. Grosch - 14 -

Page 15: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Vorstellung der Vorlesung

Page 16: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 17: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 18: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 19: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 20: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 21: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 22: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 23: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 24: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 25: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Radiosity BeispieleRadiosity Beispiele

T. Grosch - 25 -

Page 26: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 27: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Path Tracing BeispielePath Tracing Beispiele

T. Grosch - 27 -

Page 28: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 29: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 30: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 31: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Programmierung der GPUProgrammierung der GPUVertex – und Fragment PProgramsOpenGL Shading LanguageLanguageMulti-Pass RenderingM lti l R dMultiple Render Targets

T. Grosch - 31 -

Page 32: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 33: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 34: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 35: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 36: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 37: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

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 -

Page 38: V 01 Einfuehrung [Kompatibilitätsmodus] · 2020-05-28 · r T. Grosch - 17 - Rendering EquationRendering Equation Zur Simulation von Licht muß folgende Integralgleichung gelöst

Nächste VorlesungNächste VorlesungMittwoch, 11 Uhr ct, Raum 335 (Termin ?)Grundlagen Licht & Mathematik

T. Grosch - 38 -