Christina Nell. 3D-Computergrafik

Ähnliche Dokumente
Christina Nell 3D-Computergrafik Seminararbeit im Hauptseminar Grafikprogrammierung. Universität Ulm Sommersemester 2008

Beleuchtung. in Computerspielen

Rendering: Lighting and Shading

Übungsstunde 8 zu Computergrafik 1

(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

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

Lokale Beleuchtungsmodelle

BlendaX Grundlagen der Computergrafik

Zur Erinnerung: Parametrisierung von Dreiecken

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Lokale Beleuchtungsmodelle

4.4 Glättung von Kanten

Bildbearbeitung und Texturierung

Beleuchtung Schattierung Rasterung

Teil 7: Beleuchtung Beleuchtungsmodelle, Schattierungsmodelle

Kapitel 4: Schattenberechnung

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

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

Computergrafik 1 Beleuchtung

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden

5 Mapping-Techniken. 5.1 Motivation

D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen

Rendering: Lighting & Shading

Volumenverarbeitung und Optimierung II

Die Welt der Shader. Fortgeschrittene Techniken III

D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen

Beleuchtung. Matthias Nieuwenhuisen

Computergraphik Grundlagen

CGR I Beleuchtung und Schattierung

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<<

Inhaltsverzeichnis - Themen

Computergrafik. Ein anwendungsorientiertes Lehrbuch. Bearbeitet von Michael Bender, Manfred Brill

Texture Based Direct Volume Rendering

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

Programmierpraktikum 3D Computer Grafik

Georg Molzer 1HDD 3D-Grafikkarten GDV-Hardware

Graphische Datenverarbeitung und Bildverarbeitung

4.3 Beleuchtung und Schattierung

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Adaptives Displacement Mapping unter Verwendung von Geometrieshadern

Beleuchtung Schattierung Rasterung

Licht und Schatten Visualieren mit dem PC. Andreas Asperl

Computergrafik Universität Osnabrück, Henning Wenke,

7 Mapping-Techniken. Achim Ebert CG.7.1

Speziell-Relativistischer (Flug-) Simulator

OpenGL und die Fixed-Function-Pipeline

Grundlagen der Spieleprogrammierung

Wima-Praktikum 2: Bildsynthese-Phong

Seminar Game Development Game Computer Graphics. Einleitung

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

3.3 Beleuchtung und Schattierung

Die Grundlagen des Texture Mapping

3D-Grafik. Programmierung. 2. Auflage. Marius Apetri. Alle mathematischen Grundlagen. Von einfachen Rasteralgorithmen bis hin zu Landscape Generation

Abb. 5-5 Gegenüberstellung von Flat-Shading und Gouraud-Shading. Beleuchtungsberechnung mit nur einer Flächennormale pro Polygon

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

How to make a PIXAR movie

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

computer graphics & visualization

Name: Musterlösung Seite 2

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

4.7 Globale Beleuchtungsmodelle

2. Operationen auf dem Bildraster - 2.3) Antialiasing

(12) Wiederholung. Vorlesung Computergrafik T. Grosch

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

Motivation: in der Realität Vielzahl von geometrischen Feinstrukturen

Fakultät für Informatik

Bildrekonstruktion & Multiresolution

Friedrich Hoermann Hauptseminar Grafikprogrammierung. Grundlagen und Aufbau einer Grafikkarte

Interaktives Wasser in 3D. Jörn Loviscach Hochschule Bremen

SS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION

Computergraphik Grundlagen

andere Möglichkeiten der Darstellung von Details notwendig

Globale Beleuchtung. Thorsten Grosch. Thorsten Grosch Seit September 2009 Juniorprofessor für CV in Magdeburg

3.6 Schattenberechnung

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

Graphische Datenverarbeitung und Bildverarbeitung

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

Debayeringverfahren. 19. Mai Thomas Noack, Nikolai Kosjar. SE Computational Photography - Debayeringverfahren

7 Blender Intern Renderer

Computergrafik Universität Osnabrück, Henning Wenke,

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610

Computer-Graphik 1 Lighting & Shading

Farbtiefe. Gängige Farbtiefen

Computergrafik Universität Osnabrück, Henning Wenke,

1. Einführung in die Computergraphik Wer braucht Computergraphik Komponenten von Computergraphik-Software 4

Volumenakquise. Vortrag von Benjamin Gayer

Realistische Darstellung von Objekten. Proseminar Computergraphik Matthias Köngeter

Bildverarbeitung: 3D-Geometrie. D. Schlesinger () Bildverarbeitung: 3D-Geometrie 1 / 13

3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, Kore Nordmann

HLSL PostProcess Shaders

Transkript:

Christina Nell 3D-Computergrafik

Was ist 3D-Computergrafik? 3D graphics is the art of cheating without getting caught. (unbekannte Quelle) Folie 2/52

Inhalt Beleuchtung Shading Texturierung Texturfilterung Zusammenfassung Folie 3/52

Beleuchtung Beleuchtung Grundlagen Lichtquellen Transform and Lighting Shading Texturierung Texturfilterung Zusammenfassung Folie 4/52

Grundlagen Beleuchtung in der Computergrafik beruht auf einfachen physikalischen Modellen Folie 5/52

Grundlagen Beleuchtung in der Computergrafik beruht auf einfachen physikalischen Modellen Vertex: Punkt im dreidimensionalen Raum für jeden Vertex können Eigenschaften wie z.b. Farbe definiert werden Folie 6/52

Grundlagen Beleuchtung in der Computergrafik beruht auf einfachen physikalischen Modellen Vertex: Punkt im dreidimensionalen Raum für jeden Vertex können Eigenschaften wie z.b. Farbe definiert werden Polygon: Verbund von drei oder mehr Vertizes Folie 7/52

Grundlagen Beleuchtung in der Computergrafik beruht auf einfachen physikalischen Modellen Vertex: Punkt im dreidimensionalen Raum für jeden Vertex können Eigenschaften wie z.b. Farbe definiert werden Polygon: Verbund von drei oder mehr Vertizes Normalenvektor: Vektor, der senkrecht auf einer Oberfläche steht Folie 8/52

Lichtquellen Globale Lichtquellen befinden sich in unendlich großer Entfernung beleuchten die gesamte Szene Folie 9/52

Lichtquellen Globale Lichtquellen befinden sich in unendlich großer Entfernung beleuchten die gesamte Szene Beispiel: gerichtetes Licht z.b. die Sonne Folie 10/52

Lichtquellen Lokale Lichtquellen befinden sich innerhalb der Szene beleuchten nur einen bestimmten Teil der Szene Folie 11/52

Lichtquellen Lokale Lichtquellen befinden sich innerhalb der Szene beleuchten nur einen bestimmten Teil der Szene Beispiele: Punktlichtquellen strahlen Licht in alle Richtungen ab z.b. eine Deckenlampe in einem Zimmer Folie 12/52

Lichtquellen Lokale Lichtquellen befinden sich innerhalb der Szene beleuchten nur einen bestimmten Teil der Szene Beispiele: Punktlichtquellen strahlen Licht in alle Richtungen ab z.b. eine Deckenlampe in einem Zimmer Spotlights strahlen Licht in Form eines Lichtkegels in eine Richtung ab z.b. ein Scheinwerferspot auf einer Konzertbühne Folie 13/52

Transform and Lighting Vor 1999: Berechnungen für die Beleuchtung auf der CPU Kapazität der CPU wird auch durch Systemdienste und andere Berechnungen belastet Kompromisse zu Lasten der Bildqualität Folie 14/52

Transform and Lighting Vor 1999: Berechnungen für die Beleuchtung auf der CPU Kapazität der CPU wird auch durch Systemdienste und andere Berechnungen belastet Kompromisse zu Lasten der Bildqualität 1999: Vorstellung der nvidia GeForce 256, die diese Berechnungen auf der GPU durchführt spezialisierte Engines übernehmen die Berechnungen schneller Kapazität der CPU steht für andere Anwendungen zur Verfügung Folie 15/52

Shading Beleuchtung Shading Funktionsweise Flat Shading Gouraud Shading Phong Shading Texturierung Texturfilterung Zusammenfassung Folie 16/52

Funktionsweise Beleuchtung ist der Helligkeitswert, während es beim Shading um Reflektion und/oder Lichtdurchlässigkeit geht (David Kirk, nvidia) Folie 17/52

Funktionsweise Beleuchtung ist der Helligkeitswert, während es beim Shading um Reflektion und/oder Lichtdurchlässigkeit geht (David Kirk, nvidia) Was passiert, nachdem das Licht auf die Oberfläche getroffen ist? Wie reagiert das Material auf das Licht? Wieviel Licht wird reflektiert? Folie 18/52

Funktionsweise Rasterizer erhält in jeder Scanline die Endpunkte des aktuellen Dreiecks Für diese beiden Punkte werden jeweils die Shading-Werte berechnet Werte zwischen den Endpunkten können mit unterschiedlichen Algorithmen interpoliert werden Folie 19/52

Flat Shading Einfachster Ansatz: Algorithmus wählt für jedes Dreieck eine Farbe aus Anwenden der Farbe auf das ganze Dreieck Problem: Mach-Band-Effekt Folie 20/52

Mach-Band-Effekt Folie 21/52

Gouraud Shading Interpoliert aufgrund der in den Vertizes gespeicherten Farbwerte und deren Oberflächennormalen Verringert den Mach-BandEffekt Folie 22/52

Gouraud Shading Interpoliert aufgrund der in den Vertizes gespeicherten Farbwerte und deren Oberflächennormalen Verringert den Mach-BandEffekt Probleme: Verlust besonders hoher/ niedriger Intensitäten Verlust von Glanzlichtern Dennoch: bessere Bildqualität als Flat Shading bei annehmbaren Rechenaufwand Folie 23/52

Phong Shading Interpoliert aus den Normalen in den Vertizes für jedes Pixel eine Oberflächennormale Farbwert des Pixels wird mithilfe eines Beleuchtungsmodells für jeden Farbkanal bestimmt Verbesserung des Gouraud Shading, aber hoher Rechenaufwand Folie 24/52

Texturierung Beleuchtung Shading Texturierung Texture Mapping Bump Mapping Normal Mapping Displacement Mapping Parallax Mapping Texturfilterung Zusammenfassung Folie 25/52

Texture Mapping u Textur: v zweidimensionales Bild (mit Koordinaten (u,v)) auch: Texture Map Folie 26/52

Texture Mapping u Textur: v zweidimensionales Bild (mit Koordinaten (u,v)) auch: Texture Map Texel: einzelnes Pixel innerhalb der Texture Map (kurz für Texture Pixel) Folie 27/52

Texture Mapping u Textur: zweidimensionales Bild (mit Koordinaten (u,v)) auch: Texture Map Texel: v einzelnes Pixel innerhalb der Texture Map (kurz für Texture Pixel) Texture Mapping: Abbilden einer Textur auf ein Objekt der Szene Zweidimensionales Texture Mapping Dreidimensionales Texture Mapping Folie 28/52

Zweidimensionales Texture Mapping 2 Koordinatensysteme: Objekt- und Texturkoordinatensystem Umrechnung nötig parametrisch: die Textur ist am Objekt verankert Berechnen der Texturkoordinaten mithilfe baryzentrischer Koordinaten parametrisches Texture Mapping Folie 29/52

Zweidimensionales Texture Mapping 2 Koordinatensysteme: Objekt- und Texturkoordinatensystem Umrechnung nötig parametrisch: die Textur ist am Objekt verankert Berechnen der Texturkoordinaten mithilfe baryzentrischer Koordinaten parametrisches Texture Mapping non-parametrisch: Abbildung der Texture Map durch Projektion verschiedene Arten der Projektion denkbar: planar, zylindrisch, sphärisch,... non-parametrisches Texture Mapping Folie 30/52

Dreidimensionales Texture Mapping Auch: prozedurales Texture Mapping Berechnung der Farbe mit einer gegebenen Prozedur, anhand der Pixelkoordinaten Ergebnis vergleichbar mit der Fertigung des Objekts aus einem Block des gewünschten Materials, z.b. Marmor Folie 31/52

Bump Mapping Anwendung des Texture Mapping Änderung der Reaktionseigenschaft der Oberfläche bezüglich des Lichteinfalls Folie 32/52

Bump Mapping Anwendung des Texture Mapping Änderung der Reaktionseigenschaft der Oberfläche bezüglich des Lichteinfalls Verwendung einer Height Map, die die Störung der Normalen speichert Speicherung der Height Map als Graustufenbild Folie 33/52

Bump Mapping Anwendung des Texture Mapping Änderung der Reaktionseigenschaft der Oberfläche bezüglich des Lichteinfalls Verwendung einer Height Map, die die Störung der Normalen speichert Speicherung der Height Map als Graustufenbild Folie 34/52

Bump Mapping Anwendung des Texture Mapping Änderung der Reaktionseigenschaft der Oberfläche bezüglich des Lichteinfalls Verwendung einer Height Map, die die Störung der Normalen speichert Speicherung der Height Map als Graustufenbild Problem: Geometrie bleibt unverändert Folie 35/52

Normal Mapping Anwendung des Bump Mapping Oberflächennormale wird nicht verändert, sondern ersetzt Hier: Einsatz einer spezielleren Height Map (Normal Map) Speicherung als RGB-Bild Aber: gleiches Problem wie Bump Mapping Folie 36/52

Normal Mapping Folie 37/52

Displacement Mapping Ersetzt die Punkte der Oberfläche Silhouette stimmt mit der Struktur der Oberfläche überein ermöglicht Phänomene wie Verdeckung, Selbstverdeckung, Silhouetten und Selbstschattierung In Bezug auf Rechenzeit die teuerste Mapping-Technik viel zusätzliche Geometrie Folie 38/52

Parallax Mapping Motion parallax: Beobachter blickt auf ein Objekt Beobachter verschiebt seine Position scheinbare Änderung der Position des Objekts Realisierung dieses Effekts durch Verzerrung der Textur ohne Parallax Mapping mit Parallax Mapping Folie 39/52

Texturfilterung Beleuchtung Shading Texturierung Texturfilterung Motivation Mipmaps Nearest-Neighbor-Interpolation Bilineares Filtern Trilineares Filtern Anisotropes Filtern Zusammenfassung Folie 40/52

Motivation Beim Abbilden der Textur auf das Objekt kann es zu Undersampling kommen bei sehr detail- und kontrastreichen Texturen fehlen dann Farbinformationen Aliasing! Folie 41/52

Motivation Beim Abbilden der Textur auf das Objekt kann es zu Undersampling kommen bei sehr detail- und kontrastreichen Texturen fehlen dann Farbinformationen Aliasing! 2 Ansätze zum Verhindern von Aliasing: Supersampling Folie 42/52

Motivation Beim Abbilden der Textur auf das Objekt kann es zu Undersampling kommen bei sehr detail- und kontrastreichen Texturen fehlen dann Farbinformationen Aliasing! 2 Ansätze zum Verhindern von Aliasing: Supersampling Prefiltering Folie 43/52

Mipmaps Kleinere Versionen der Textur werden vorberechnet Entstehung einer Texturpyramide Kürzere Zugriffszeiten wegen vorberechneter Mipmap Folie 44/52

Nearest-Neighbor-Interpolation Auswahl eines Texels nach dem Abstand zum Pixelmittelpunkt Farbe des ausgewählten Texels wird als Pixelfarbe verwendet Einfachste, aber auch schlechteste Methode für Texturfilterung Artefakte: bei Vergrößerung: Blockstruktur bei Verkleinerung: Aliasing Folie 45/52

Bilineares Filtern Verwendung von Mipmaps Deutlich bessere Bildqualität im Vergleich zu NearestNeighbor-Interpolation Aber: Ergebnis wirkt oft verschwommen MIP-banding Blockstruktur bei Vergrößerung Folie 46/52

Trilineares Filtern Erweiterung/ Verbesserung des bilinearen Filterns Hier: Interpolation auch zwischen aufeinander folgenden Mipmapstufen Innerhalb einer Mipmapstufe Verwenden von bilinearem Filtern Blockstruktur bei Vergrößerung Folie 47/52

Anisotropes Filtern Anisotropie: Richtungsabhängigkeit einer Eigenschaft Abtastmuster nicht quadratisch RIP mapping Folie 48/52

Filtermethoden im Vergleich o.l.: Bilineares Filtern o.r.: Trilineares Filtern u.l.: Anisotropes Filtern Folie 49/52

Zusammenfassung Beleuchtung Shading Texturierung Texturfilterung Zusammenfassung Folie 50/52

Zusammenfassung Vereinfachen wo immer es möglich ist Geschwindigkeit Qualitativ bessere Bilder erfordern mehr Aufwand Phong Shading bessere Filtermethoden Was ist die letzte Grenze für 3D-Computergrafik? Folie 51/52

Fin. Folie 52/52