3D Computergrafik
© 2010–2013 | Stefan Röttger |
© 2013- | Matthias Hopf |
© 2023- | Stefan Röttger, Adam Kalisz, Matthias Hopf |
Die Vorlesung ist aufgeteilt in drei Hauptteile:
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
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 Blender Tricks
- to be announced
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 mit OpenGL
OpenGL Primitive
Hierarchische Modellierung mit OpenGL
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
- Baryzentrische Koordinaten
- Bresenham
- GL Antialiasing
- Painters Algorithm
- Z-Puffer
- GL Transparenz
- GL Stenciling
Texturen mit OpenGL
Texturanwendungen
- 2D Textur Mapping
- 2D Billboards
- 2D Bump Mapping
- 2D Displacement Mapping
- 3D Texturen
- Environment Mapping
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
Lernziel: Wir lernen mit Hilfe von GLSL das Blinn-Phong Beleuchtungsmodell zu realisieren.
Lernzielkontrolle:
Texturen als Framebuffer
Raytracing mit Grafik-Hardware
- Raytracing Varianten
- Raymarching
- Signed Distance Functions
- Raymarching mit OpenGL
- Bounding Volume Hierarchy
- Screen Space Raymarching
Lernziel: Wir lernen eine Auswahl an weiterführenden graphischen Algorithmen und Postprocessing-Effekten kennen.
Lernzielkontrolle:
Advanced Rendering Techniques
- Image Based Occlusion
- Perspective Shadow Maps
- Shadow Volumes
- Soft Shadows
- Deferred Shading
- Depth Peeling
- PTM
Ausblick: Jenseits von OpenGL
fin