3D Computergrafik
© 2010–2013 | Stefan Röttger |
© 2013–2022 | Matthias Hopf |
© 2023 | Stefan Röttger, Adam Kalisz, Matthias Hopf |
© 2024- | Stefan Röttger, Adam Kalisz |
Die Vorlesung besteht aus drei Hauptteilen:
Zusätzliche Infos zur Prüfung.
Teil #1
Einführung in die 3D Computergrafik mit Blender
Was ist “3D Computergrafik”?
Grundlagen
3D Grundlagen
Grafische APIs
Lernziel: Überblick über die verschiedensten Aspekte und Grundlagen der Computergrafik. Praktisches Kennenlernen verschiedenster Aspekte anhand des vorlesungsbegleitenden Blender-Tutorial.
Lernzielkontrolle:
Frameworks und Tools
Die Computergrafik-Pipeline
Lernziel: Überblick über die einzelnen Stufen den Grafik-Pipeline
Lernzielkontrolle:
3D Modellierung
Hierarchische Modellierung
- Hierarchische Modellierung
- Render Modi
- Szenengraphtraversal
- Szenengraphtraversal Beispiel
- Szenengraphen
Lernziel: Verständnis wie eine 3D Szene mit Hilfe von geometrischen Modellen aufgebaut wird und wie diese Modelle in der Pipeline transformiert werden.
Lernzielkontrolle:
Beleuchtungsverfahren
Advanced Lighting Techniques
- Rendering Quality versus Speed
- Bi-Directional Path Tracing
- BDPT Beispiel
- Light and Texture Baking
- BSDF Render Passes
Lernziel: Überblick über die grundlegenden Verfahren zur globalen Beleuchtungsberechnung
Lernzielkontrolle:
Teil #2
3D Hardwarebeschleunigung mit OpenGL
Die Computergrafik-Hardware
Die Computergrafik-Hardware-Pipeline
- Recap: Rendering Pipeline
- Fixed Function Pipeline
- Programmable Pipeline 1
- Programmable Pipeline 2
- Programmable Pipeline 3
- Programmable Pipeline 4
Lernziel: Überblick über die einzelnen Hardwarekomponenten, aus denen die Grafikhardware besteht und wie diese mit den Komponenten des Rechners kommunizieren.
Lernzielkontrolle:
Kartesische Vektorräume
3D Transformationen
Lernziel: Verständnis der Abbildung einer 3D Szene durch eine zusammengestzte Matrixmultiplikation.
Lernzielkontrolle:
Zusammengesetzte 3D Transformationen
OpenGL Grundlagen
Grundlagen der Perspektivischen Darstellung
Lernziel: Verständnis der Kameratransformation und der perspektivischen Transformation.
Lernzielkontrolle:
MVP in Theorie und Praxis
OpenGL Primitive
Hierarchische Modellierung mit OpenGL
- Modellierungs-Sichtweisen
- Hierarchische Modellierungskoordinaten
- Szenengraph Konstruktion
- Szenengraph Implementierung
- Blender Szenengraph
- Godot Game Engine
Lernziel: Verständnis dafür, was die Schlagworte MVP und VBO bedeuten und wie sie im Kontext der hierarchischen Modellierung verwendet werden.
Lernzielkontrolle:
Rasterisierung mit OpenGL
- Rasterisierung
- Baryzentrische Koordinaten
- Baryzentrische Koordinaten Rechenbeispiel
- Bresenham
- GL Antialiasing
Rasterisierung von Texturen mit OpenGL
Texturanwendungen
- 2D Textur Mapping
- 2D Billboards
- 2D Bump Mapping
- 2D Displacement Mapping
- 3D Texturen
- Environment Mapping
Per-Fragment Operationen
Lernziel: Verständnis des Prinzips der Texturierung und deren Anwendungen
Lernzielkontrolle:
Teil #3
3D Computergrafikeffekte mit GLSL Shadern
OpenGL Shader
GLSL Basics
Lernziel: Wir lernen mit GLSL Shader zu programmieren und vertiefen dabei insbesondere die folgenden Termini: uniform, attribute, varying, shader inputs/outputs
Lernzielkontrolle:
GLSL Continued
Lokale Beleuchtung
Lokale Beleuchtungsarten
- Normalen und Interpolation
- Blinn Phong in GLSL
- Beleuchtung Standard-Codesequenz
- Non-Photo-Realistic Rendering
- Schatten
Lernziel: Wir realisieren mit Hilfe von GLSL das Blinn-Phong Beleuchtungsmodell.
Lernzielkontrolle:
Ray-Casting bzw. Ray-Tracing mit Grafik-Hardware
- Raycasting Varianten
- Raymarching mit OpenGL
- Raycasting Beispiel
- Volume Raycasting
- Cinematic Rendering
Lernziel: Wir lernen die Ray-Casting Technik kennen.
Lernzielkontrolle:
Post-Processing (mit FBOs)
Multi-Pass Rendering (mit FBOs)
Lernziel: Wir lernen Postprocessing-Effekte lieben und schätzen.
Lernzielkontrolle:
Advanced Rendering Techniques
Lernziel: Wir schauen über den Tellerrand und lernen eine Auswahl an weiterführenden graphischen Algorithmen und Postprocessing-Effekten kennen. Lernzielkontrolle:
fin