Computergraphik. Visual Computing (VCM)

Ähnliche Dokumente
4.7 Globale Beleuchtungsmodelle

Graphische Datenverarbeitung

Verbesserung der Bildqualität

Beleuchtungsmodelle und Shading

Raytracing Modell Laufzeitoptimierungen Schnittalgorithmen Szenendatenstrukturen. Verbesserung der Bildqualität

Teil 8: Ray Tracing. Ray Tracing Einleitung. Beleuchtung, inkl. Schatten, Reflexionen

BlendaX Grundlagen der Computergrafik

Lokale Beleuchtungsmodelle

Global Illumination: Raytracing. Die drei Reflexionstypen. ideal diffus (Lambertian) ideal reflektierend. richtungsabhängig diffus (Phong)

Rendering. (illumination/shading) Beleuchtungsmodelle. Schattierung von Polygonen. Lokale Beleuchtungsmodelle

Computergrafik 1 Beleuchtung

Ray Tracing. 2. Ray Tracing-Prinzip und -Algorithmen. 3. Schnittpunkt- und Normalenberechnung

Raytracing. Tobias Pfeiffer. 29. November Freie Universität Berlin Fachbereich Mathematik und Informatik

Lokale Beleuchtungsmodelle

0 Einführung. Computergrafik. Computergrafik. Abteilung für Bild- und Signalverarbeitung

Computer Graphik I Globale Beleuchtung Ray Tracing

Graphische Datenverarbeitung und Bildverarbeitung

Teil 7: Beleuchtung Beleuchtungsmodelle, Schattierungsmodelle

3.3 Beleuchtung und Schattierung

Wima-Praktikum 2: Bildsynthese-Phong

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Rendering: Lighting and Shading

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1

Teil 9: Radiosity. Radiosity. Prinzip. Simulation globaler Lichtverteilung

Computergraphik Grundlagen

Graphische Datenverarbeitung und Bildverarbeitung

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Einführung Augmentierte Bildsynthese

Beleuchtung. Matthias Nieuwenhuisen

(3) Grundlagen II. Vorlesung CV-Integration S. Müller U N I V E R S I T Ä T KOBLENZ LANDAU

Lösen der Matrizengleichung

Inhaltsverzeichnis. 1 Hardwaregrundlagen

Graphische Datenverarbeitung Visualisierungstechniken. Prof. Dr. Elke Hergenröther

Teil 7: Beleuchtung. Einleitung. Einleitung. Beleuchtungsmodelle, Schattierungsmodelle

Beleuchtung. in Computerspielen

5. Übungsblatt (Computergrafik-Praktikum) Raytracing einer triangulierten Szene

Beleuchtung Schattierung Rasterung

3. Erklären Sie drei Eigenschaften der bidirektionalen Reflektivität (BRDF).

Simulation multipler Streuung an Haaren mit Hilfe eines Photon-Mapping-Ansatzes

Echtzeit Videoverarbeitung

Kapitel 4: Schattenberechnung

0.1 Globale Beleuchtungsverfahren Das Radiosity-Verfahren

Rendering. Rendern (Umsetzung oder Übertragung) Ursprüngliche Rendergleichung

3.5 Methode des gleitenden Horizonts

Strahlungsaustausch zwischen Oberflächen BRDF Ideal diffuse Reflektion Ideal spiegelnde Reflektion Totalreflexion Gerichtet diffuse Reflektion

CGR I Beleuchtung und Schattierung

4.3 Beleuchtung und Schattierung

4.4 Glättung von Kanten

Die Rendering-Gleichung

Beleuchtungsmodelle. Realistische Bilder. Ausgedehnte Lichtquellen color bleeding. spiegelnde Reflexion. komplexe Oberflächen.

Christina Nell. 3D-Computergrafik

Berechnung von Formfaktoren

Grundlagen der Computergraphik Klausur SS08

Graphische Datenverarbeitung

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05

Photorealistische Computergrafik. Thorsten Grosch

Computer Graphik I Generative Computergraphik Intro

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung. Vorlesung vom

Visualisierung und Volumenrendering 2

Die Welt der Shader. Fortgeschrittene Techniken III

Kapitel 1. Globale Beleuchtung. 1.1 Ray Tracing Schatten, Reflexion und Brechung

Lights & Cameras Grundlagen Autodesk Maya. Grundlagen. Version Ingo Clemens brave rabbit

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Computergrafik Universität Osnabrück, Henning Wenke,

Ray Tracing. Kapitel Grundlagen. Abbildung 23.1: Prinzip der Strahlverfolgung

Ray Tracing. Kapitel Grundlagen. Abbildung 24.1: Prinzip der Strahlverfolgung

Photorealistische Computergrafik. Thorsten Grosch

Beleuchtungsmodelle I

Licht und Schatten Visualieren mit dem PC. Andreas Asperl

DISTRIBUTED RAYTRACING

Eine Einführung in die Möglichkeiten von POV-Ray. Die wichtigsten Konzepte in einigen Folien

Visuelle Simulation eines Radiosity Algorithmus und ihre Anwendung in Lernprozessen

Grundlagen der Spieleprogrammierung

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

Photonik Technische Nutzung von Licht

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

3D-Computergrafik und animation. Shading und globale Beleuchtungsverfahren, Animationstechniken

CAUSTICS & GODRAYS. Jacob Skuratovski

1.6 Objekte Anordnung der Projektionsgeräte. ˆ Einzelsystem ˆ Rundumprojektion ˆ Kaskadierte Projektion Art der Projektion

Computergraphik Grundlagen

Seminar Computerspiele Räumliche Datenstrukturen. Ralf Pramberger

12. Globale Beleuchtungsmodelle (Raytracing, Radiosity)

Photon-Mapping. University of Bonn & GfaR mbh

Graphische Datenverarbeitung und Bildverarbeitung

How to make a PIXAR movie

Computergraphik Grundlagen

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

Ihre Punkt + Sonderp. = Summe Ihre Note:

Einbeziehung von Elementen der 3D-Computergrafik in den Mathematikunterricht der Sekundarstufe II im Stoffgebiet Analytische Geometrie

Beleuchtung Schattierung Rasterung

Sichtbarkeitsalgorithmen im Zusammenhang mit CAD

(1) Einführung. Vorlesung CV-Integration S. Müller/D. Paulus KOBLENZ LANDAU

Rendering Grundlagen Autodesk Maya. Grundlagen. Version Ingo Clemens brave rabbit

Computergraphik III. Raytracing. Oliver Deussen Raytracing 1

Transkript:

Computergraphik Thema: 6. Rendering Dozent: Prof. Dr. Dirk Bartz ICCAS dirk.bartz@medizin.uni-leipzig.de Sprechstunde: Do 17 Uhr (nach Vorlesung) Umfang: 2 Prüfungsfach: Medizininformatik, Angewandte Informatik

Inhaltsverzeichnis - Themen 1 Hardwaregrundlagen 2 Transformationen und Projektionen 3 Repräsentation und Modellierung von Objekten 4 Rasterung 5 Visibilität und Verdeckung 6 Rendering... 6.6 Globale Beleuchtung 6.6.1 Raytracing 6.6.2 Radiosity-Verfahren 6.7 Renderpipeline 7 Abbildungsverfahren (Texturen, etc.) 8 Freiformmodellierung Anhang: Graphiksprachen und Graphikstandards Anhang: Einführung in OpenGL Weitere Themen: Netze, Fraktale, Animation,...

6.6 Globale Beleuchtung Erinnerung: Lokale Beleuchtung Beachtet wird nur die Wechselwirkung der Oberfläche mit direkt aus Lichtquellen einfallendem Licht. Dabei wichtige Faktoren: Geometrie: Oberflächennormale, Licht-, Blickrichtung Reflexionsverhalten der Oberflächen Für photorealistische(re) Darstellung ist globale Beleuchtung notwendig Physikalisch basierte Modellierung der Lichtausbreitung Beachtet auch Wechselwirkung zwischen Objekten

6.6 Globale Beleuchtung Lokale Beleuchtung: Diffuse Reflexion

6.6 Globale Beleuchtung Lokale Beleuchtung: Diffuse Reflexion Lokale Beleuchtung: Spiegelnde Reflexion

6.6 Globale Beleuchtung Lokale Beleuchtung: Diffuse Reflexion Lokale Beleuchtung: Spiegelnde Reflexion Globale Beleuchtung: Mehrfachreflexion (Weiche) Schatten

6.6 Globale Beleuchtung Beleuchtungsphänomene: Farbbluten Spiegelungen Direkte Beleuchtung Indirekte Beleuchtung Weiche Schatten Kaustiken

6.6 Globale Beleuchtung Zwei Hauptansätze Raytracing (Whitted, 1979) Modelliert Lichtausbreitung nach Gesetzen der idealen Spiegelung und Brechung Für spiegelnde und transparente Oberflächen geeignet Blickrichtungsabhängig Radiosity-Verfahren (Goral & Greenberg, 1984) Lichtausbreitung basierend auf Energieerhaltung Vorberechnung aller Interaktionen des Lichts mit Objekten der Szene Diffuse Reflexion Unabhängig von der Blickrichtung

6.6.1 Raytracing Beispiele Besonders geeignet für Szenen mit hohem spiegelndem und transparentem Flächenanteil

6.6.1 Raytracing Beispiele

6.6.1 Raytracing Grundprinzip des rekursiven Raytracing Verfolgung der Lichtstrahlen von der Quelle bis zum Auge Nur wenige Strahlen erreichen das Auge, daher Umkehrung des Verfahrens (Reziprozität der Reflexion) Vom Augpunkt wird durch jedes Pixel des Bildschirms ein Strahl in die Szene gesendet. Bei Schnittpunkten mit Objekten werden ideal reflektierte und ideal gebrochene Strahlen weiterverfolgt. Rekursive Auswertung des lokalen Beleuchtungsmodells

6.6.1 Raytracing Vom Augpunkt werden Strahlen durch die Pixel in die Szene geschickt.

6.6.1 Raytracing Schneidet ein Strahl mehr als ein Objekt, wird das nächstliegende gezeichnet. Sonst erscheint die Hintergrundfarbe.

6.6.1 Raytracing Schneidet ein Strahl ein Objekt, so werden Schattenstrahlen vom Schnittpunkt zu allen Lichtquellen gesendet.

6.6.1 Raytracing Schneidet ein Strahl ein Objekt, so werden Schattenstrahlen vom Schnittpunkt zu allen Lichtquellen gesendet. Treffen die Schattenstrahlen auf ein Objekt, so liegt der Punkt im Schatten.

6.6.1 Raytracing Ist die Oberfläche spiegelnd, wird ein reflektierter Strahl verfolgt.

6.6.1 Raytracing Ist die Oberfläche transparent, wird zusätzlich ein gebrochener Strahl in die Szene geschickt.

6.6.1 Raytracing Algorithmus in Pseudocode Für jeden Strahl { 1. Bestimme Schnittpunkt mit nächstliegendem Objekt 2. Falls Schattenstrahl kein Objekt schneidet, werte Phong-Beleuchtungsmodell im Schnittpunkt aus 3. Verfolge ideal reflektierten Lichtstrahl und addiere Leuchtdichte aus dieser Richtung 4. Verfolge ideal gebrochenen Lichtstrahl und addiere Leuchtdichte aus dieser Richtung 5. Gebe summierte Leuchtdichte zurück } Rekursion! R2 Schattenstrahl S1 S2 Brechung B1 Reflexion R1 B2

6.6.1 Raytracing Strahlenbaum Beschreibung der rekursiven Strahlverfolgung Traversierung zur Bestimmung der Pixel-Intensität, berücksichtigt: Lichtquellenintensität I L Hintergrundintensität I H Materialkoeffizienten r Verdeckung von Lichtquellen V S1 P1 R1 B1 I I ges R 1 = V ( P, L) I = V ( P 2 1, L) I phong, P phong, P 1 2 + r + r r, P 1 r, P 2 I I R R 1 2 + + r b, P r 1 b, P 2 I I B 1 B 2 I L I H P2 S2 B2 R2 I L I H I H

6.6.1 Raytracing Abbruchbedingungen Verfolgte Strahlen schneiden keine Objekte mehr Vorgegebene maximale Baumtiefe ist erreicht Farbanteil an der Pixelfarbe eines zu verfolgenden Teilstrahls ist zu gering (adaptive Rekursionstiefenkontrolle)

6.6.1 Raytracing Anti-Aliasing Strahlen ohne Ausdehnung verursachen Abtastfehler

6.6.1 Raytracing Anti-Aliasing: Lösungen Strahlen ohne Ausdehnung verursachen Abtastfehler Supersampling Mehrere Strahlen pro Pixel und Mittelung der Farbwerte grid random jitter stochastisch (z.b. Poisson)

6.6.1 Raytracing Anti-Aliasing: Lösungen Strahlen ohne Ausdehnung verursachen Abtastfehler Supersampling Mehrere Strahlen pro Pixel und Mittelung der Farbwerte Adaptives Supersampling An Grenzen mehr Strahlen als auf homogenen Flächen Vorgehen: Senden einiger Strahlen pro Pixel Unterscheiden sich die Werte, werden weitere gesendet Stochastische Verteilung möglich

6.6.1 Raytracing Distributed Raytracing Ideale Reflexion und Brechung entspricht nicht der Realität und lässt gerenderte Szenen unecht erscheinen. Ziel: Realistisch unscharfe Effekte Verschwommene Reflexionen und Brechungen Weiche Schatten Tiefenunschärfe Bewegungsunschärfe

6.6.1 Raytracing Distributed Raytracing: Verschwommene Reflexionen Vervielfachung der reflektierten Strahlen Stochastische Verteilung der Strahlrichtungen Anschließende Mittelung der Farbwerte Auch für Brechung anzuwenden

6.6.1 Raytracing Beispiel: Verschwommene Lichtreflexionen

6.6.1 Raytracing Distributed Raytracing: Halbschatten Verwendung von Flächenlichtquellen Simuliert durch Vielzahl punktförmiger Lichtquellen Stochastische Verteilung der Schattenstrahlen Stärke des Schattens entspricht Verhältnis von verdeckten zur Gesamtzahl an Schattenstrahlen

6.6.1 Raytracing

6.6.1 Raytracing Distributed Raytracing: Tiefenunschärfe Simulation der Blendenöffnung einer Kamera Punkte außerhalb der Schärfeebene erscheinen verschwommen (wenn größer als circle of confusion). Korrekte Berechnung der Linsenbrechung mit stochastischer Strahlverteilung über Linsenoberfläche.

6.6.1 Raytracing Tiefenunschärfe Blendenöffnung bestimmt Bereich der Szene, der scharf abgebildet wird (depth of field).

6.6.1 Raytracing Beispiel für Tiefenunschärfe

6.6.1 Raytracing Distributed Raytracing: Bewegungsunschärfe Zeitliche Verteilung der Augstrahlen Senden von Strahlen durch gleichen Punkt mit zeitlicher Verzögerung Filter bestimmt Verschlußzeit und damit Stärke des Motion Blur

6.6.1 Raytracing Warum ist Raytracing so langsam? Aufwändige Schnittpunktberechnungen (Strahl-Objekt) Viele Berechnungen Beschleunigung O( n m) Anzahl der Strahlen Anzahl der Objekte Schnellere Schnittpunktberechnungen Bounding Boxes Weniger Strahlen Adaptive Rekursionstiefenkontrolle Adaptives Anti-Aliasing Weniger Schnittpunktberechnungen Hüllkörperhierarchien (z.b. Octrees) Light Buffer

6.6.1 Raytracing Eigenschaften + Gute Simulation des physikalischen Beleuchtungsvorgangs (Strahlengang) + Hervorragend für Spiegelungen geeignet + Sichtbarkeitsproblem automatisch gelöst + Implizite Schattenberechnung + Große Wirklichkeitsnähe Schattenstrahl S1 - Für diffuse Reflektion weniger geeignet - Sehr großer Rechenaufwand S2 Brechung B1 R2 Reflexion R1 B2

6.6.2 Radiosity-Verfahren Erste Fakten Modelliert rein diffuse Reflexion Ausbreitung des Lichts unter Beachtung des Energiegleichgewichts in einem geschlossenem System Gleichgewicht des durch Lichtquellen zugeführten und durch Oberflächen absorbierten Lichtstroms Modellierung von unterschiedlichem Einfall des ambienten (indirekten) Lichts besser als beim klassischen Raytracing Gut geeignet für Lichtverteilung in Gebäuden

6.6.2 Radiosity-Verfahren Radiosity B (spezifische Ausstrahlung) Lichtmenge Q, die ein Flächenelement da pro Zeiteinheit dt emittiert Oder: Lichtstrom Φ, der von Flächenelement da ausgesendet wird dq d φ B = = dt da da

6.6.2 Radiosity-Verfahren Gegeben: Szene in Flächensegmente unterteilt Geometrische Informationen über die gegenseitige Lage aller Objekte Lichttechnische Kenngrößen der Objekte Gesucht: Radiosity für jede Fläche Dient dann zur Farbgebung beim Rendern der Szene

6.6.2 Radiosity-Verfahren Radiosity-Gleichung Lichtstrom einer infinitesimalen Fläche da j φ = φ + Emittiert Ausgedrückt durch Radiosities B j da j BdA daj j Ej = E ρ da jj j φ Ij Reflexionsgrad da + ρ + ρ j j 1 da Auftreffend j j A i B F = dφ da da ii da j, i j j B B da da i i da da i i

6.6.2 Radiosity-Verfahren Vereinfachung der Radiosity-Gleichung Statt infinitesimaler Flächenelemente da i : Kleine, ebene Patches A i Reflexionsgrad und Radiosity einheitlich B j = E j + ρ j N i= 1 F ij B i A A i j Aus Integralgleichung wurde lineares Gleichungssystem

6.6.2 Radiosity-Verfahren Formfaktoren F ij : Anteil des Lichtstroms von A i, der A j erreicht Nur abhängig von Geometrie (Abstand, Orientierung, Größe) Sichtbarkeit

Berechnung der Formfaktoren F ij 1 cosθi cosθ j Fij = VijdAjdAi A Ai A 2 j π r F ij 6.6.2 Radiosity-Verfahren = i cosθ cosθ i π r 2 j V ij A j F da da = i j dφ i da da dφ da i j Sichtbarkeit: 1, V = 0, wenn sonst sichtbar Anmerkung: Herleitung über Grundgesetz der Strahlungsübertragung

6.6.2 Radiosity-Verfahren Approximation der Formfaktoren F SEi 1. Senderfläche S in Patches S i unterteilen 2. Hemisphäre für jedes Patch in Normalenrichtung 3. Empfängerflächen E i auf Hemisphäre projizieren (Verdeckung beachten) 4. Für jedes E i Anteil an Hemisphäre bestimmen, der von ihr bedeckt wird 5. Beiträge von E i über alle Patches S i mitteln

6.6.2 Radiosity-Verfahren Hemicube-Verfahren Einfachere Approximation der Formfaktoren Hemisphäre durch Hemicube ersetzen Einfachere Abbildung der Empfänger Unterschiedliche Gewichtung der Teilflächen des Hemicube

6.6.2 Radiosity-Verfahren Lösung des Radiosity-Gleichungssystems B B j j = E = E j j + ρ + ρ j j N i= 1 N i= 1 F B ij ji i F B i Ai A j wegen Reziprozität: A F = i ij A j F ji Matrixschreibweise: r B r r r = E + ρfb ( Ι ρf) B = r E N-Vektoren NxN-Matrizen

Lösung des Gleichungssystems Dieses System wird getrennt für die verschiedenen Frequenzen des Lichts (z.b. RGB) gelöst. Koeffizientenmatrix diagonaldominant, daher lösbar mit iterativem Verfahren, wie Gauss-Seidel Gathering bzw. Sammeln n n n2 n n1 n 21 12 E E E = B B B F ρ F ρ F ρ F ρ F ρ F ρ M M L M O M M L L 2 1 2 1 2n 2 2 1n 1 1 1 1 1 6.6.2 Radiosity-Verfahren

6.6.2 Radiosity-Verfahren Darstellung einer Szene

6.6.2 Radiosity-Verfahren Aufteilung der Szene Je feiner die Aufteilung der Szene in Patches, desto besser das Renderingergebnis Aber Aufwand steigt mit Anzahl N der Patches, z.b. Anzahl der Formfaktoren O(N 2 ) Alternative zu Gauss-Seidel: Progressive Refinement

6.6.2 Radiosity-Verfahren Progressive Refinement Verteilen statt Sammeln Intialisierung: B i =E i und B i =E i Pro Iterationsschritt: Verteilen der Radiosity der Fläche mit größten unverteilten Radiosity B i (beginnend bei stärkster Lichtquelle) Vorteile: Schnelle Konvergenz (nach wenigen Iterationen) Pro Iterationsschritt nur Formfaktoren der aktuellen Fläche benötigt

6.6 Globale Beleuchtung Nur Raytracing

6.6 Globale Beleuchtung Nur Radiosity

6.6 Globale Beleuchtung Kombination von Raytracing und Radiosity

6.6 Globale Beleuchtung Nur Radiosity

6.6 Globale Beleuchtung Radiosity und Raytracing

6.7 Renderpipeline Begriffe Rendering: Der Prozess der Bildsynthese, also die Abbildung eines Modells bzw. einer Szene auf ein digitales Bild (auf dem Bildschirm). Renderpipeline: Eine konkrete Implementierung dieses mehrstufigen Prozesses in Soft- bzw. Hardware. Die einzelnen Stufen der Pipeline setzen die vorgestellten Basis-Algorithmen der Computergraphik um. Der Aufbau von Renderpipelines kann sich je nach Art und Umsetzung des Renderings stark unterscheiden.

6.7 Renderpipeline Genereller Aufbau front-end (geometry processing) back-end (rasterization) database traversal modeling transformation viewing operation visible-surface determination scan conversion shading image scene model / scene graph

6.7 Renderpipeline Beispiel: Lokales Beleuchtungsmodell Hier: Gouraud-Shading mit z-buffer database traversal modeling transformation trivial accept / reject lighting viewing transformation clipping rasterization display

6.7 Renderpipeline Beispiel: Lokales Beleuchtungsmodell hier: Phong-Shading mit z-buffer database traversal modeling transformation trivial accept / reject viewing transformation clipping rasterization (with lighting) display

6.7 Renderpipeline Beispiel: Globales Beleuchtungsmodell hier: Radiosity mit Gouraud-Shading und z-buffer database traversal modeling transformation vertex intensity calculation (radiosity) new database new database traversal trivial accept / reject viewing transformation clipping rasterization display

6.7 Renderpipeline Beispiel: Globales Beleuchtungsmodell hier: Raytracing database traversal modeling transformation raytracing display

Quellen Computergraphik, Universität Leipzig (Prof. G. Scheuermann) Graphische Datenverarbeitung I, Universität Tübingen (Prof. W. Straßer) Graphische Datenverarbeitung I, TU Darmstadt (Prof. M. Alexa) Computergraphik III, Uni Siegen (Rezk-Salama)