3D Computergrafik (Legacy Version)
COGR
Prof. Dr. Stefan Röttger, Stefan.Roettger@th-nuernberg.de
© 2010–2022 | Stefan Röttger |
Inhaltsverzeichnis
Was ist 3D Computergrafik?
Lernziel: Überblick über die verschiedensten Aspekte der Computergrafik.
Lernzielkontrolle: Praktisches Kennenlernen verschiedenster Aspekte anhand des vorlesungsbegleitenden Blender-Tutorial.
Grundlagen der Wahrnehmung
Lernziel: Verständnis der Grundlagen von Farbwahrnehmung und Darstellung.
Lernzielkontrolle: Beschreibung der Funktion eines LCD Displays.
3D Grundlagen
- Sehen
- Lochkamera
- Spiegelreflexkamera
- Perspektive
- Perspektivische Projektion
- Perspektivische Rückprojektion
Lernziel: Verständnis der Grundlagen der perspektivischen Wahrnehmung.
Lernzielkontrolle: Beschreibung der Funktion des menschlichen Sehapparats. Ãœbung Nr. 1.
Die Computergrafik-Pipeline
Lernziel: Überblick über das Grundprinzip der perspektivischen Projektion und deren Implementierung in der sogenannten 3D Grafik-Pipeline.
Lernzielkontrolle: Nennung der Stufen der Pipeline und Nennung der jeweils beteiligten Datentypen.
Die OpenGL Pipeline
- OpenGL Komponenten
- OpenGL Context
- OpenGL GLUT
- OpenGL Syntax
- WebGL Beispiel
- OpenGL Pipeline
- OpenGL Double Buffering
OpenGL Primitive
Lernziel: Einführung und praktische Benutzung der OpenGL API.
Lernzielkontrolle: OpenGL-Ãœbung Nr. 2.
Kartesische Vektorräume
Geometrische Transformationen
- Weltkoordinaten
- Modellkoordinaten
- Transformationen
- Affine Transformationen
- Homogene Koordinaten
- Zusammengesetzte Transformationen
- Homogene Matrizen
- Transformationsbeispiel
Lernziel: Verständnis von affinen Transformationen und homogenen Koordinaten.
Lernzielkontrolle: Nachvollzug des Transformationsbeispiels. Handübung Nr. 3.
3D Darstellung
- Matrix Transformationen
- ModelView Transformationen
- Lokale Koordinaten
- Viewkoordinaten
- View Frustum
- Augenkoordinaten
- MVP Matrix
- Viewport Transformation
- Z-Puffer
- Normalen
Lernziel: Verständnis von Projektions-, Welt-, Modell-, Kamera- und Augenkoordinaten.
Lernzielkontrolle:
OpenGL Rendering
Lernziel: Spezifikation von hierarchischen Szenen mit OpenGL.
Lernzielkontrolle: OpenGL-Ãœbung Nr. 4.
Grafische APIs und Konzepte
Lernziel: Verständnis des Zusammenhangs zwischen Szenegraph und Direct Rendering.
Lernzielkontrolle: Skizzierung des Szenengraphen eines Autos mit 4 Rädern, einem Motor und 4 Zylindern. Selbiges dargestellt als Strom von OpenGL Kommandos.
OpenGL Tesselierung
Lernziel: Kenntnis der grafischen Operationen auf Rasterisierungsebene.
Lernzielkontrolle:
OpenGL Texturen
- 2D Texturen
- 2D Textureinstellungen
- 2D Textur Mapping
- 2D Textur Mipmaps
- 2D Billboards
- 2D Bump Mapping
- 3D Texturen
Lernziel: Texturkoordinaten und Texturierung mit OpenGL.
Lernzielkontrolle: Beschreibung Mipmapping und dessen Vor- und Nachteile. OpenGL-Ãœbungen Nr. 7–8.
Beleuchtungsverfahren
Lernziel: Verständnis von lokalen und globalen Beleuchtungsmodellen.
Lernzielkontrolle: Qualitatitve Beschreibung der Unterschiede der einzelnen Beleuchtungsmodelle und deren Einschränkungen. Blender-Übungen Nr. 5+10.
OpenGL Beleuchtung
- Lokale Beleuchtung
- Flat Shading
- Gouraud Shading
- Phong Shading
- OpenGL Lichtquellen
- OpenGL Materialfarben
- OpenGL ColorMaterial
Lernziel: Lokale Beleuchtungsmodelle.
Lernzielkontrolle:
- Qualitatitve Beschreibung der Unterschiede von Flat-, Gouraud- und Phong-Shading und der Parameter des Blinn-Phong Beleuchtungsmodells.
- Berechnung der Beleuchtungsintensität einer Fläche, welche plastikartige Materialfarben aufweist, von einer weißen gerichteten Lichtquelle unter einem Winkel von 45 Grad beleuchtet wird und unter einem Winkel von 90 Grad betrachtet wird.
- OpenGL-Ãœbung Nr. 9.
Shader
- Programmable Pipeline
- Vertexshader
- Pixelshader
- GLSL
- WebGL Shader
- WebGL Shader Beispiel
- Blender
- RenderMan
- RenderMan Procedural Shader
Lernziel: Kenntnis von OpenGL und Blender Shadern.
Lernzielkontrolle:
- Beschreiben Sie mittels GLSL einen beliebigen Shader und erklären Sie anhand dessen die Bedeutung von uniform, attribute und varying.
Advanced Rendering Techniques
- Tone Shading
- Shadow Volumes
- Soft Shadows
- Perspective Shadow Maps
- Environment Mapping
- Depth of Field
- Motion Blur
- Deferred Shading
- Image Based Post-Glow
- Image Based Occlusion
- Depth Peeling
- PTM
- Cinematic Rendering
Lernziel: Kenntnis von Fortgeschrittenen OpenGL Techniken.
Lernzielkontrolle:
- Beschreiben Sie beispielhaft eine der oben vorgestellten Techniken.
Ãœbungen
Die Ãœbungen werden in Gruppen zu 2 Personen bearbeitet (Pair-Programming).