3D Computergrafik (V1)
COGR
Prof. Dr. Stefan Röttger, Stefan.Roettger@th-nuernberg.de
© 2010–2025 | 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
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
- 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: Effiziente Spezifikation von grafischen Primitiven mit OpenGL.
Lernzielkontrolle: OpenGL-Ãœbung Nr. 6.
3D Modellierung
Lernziel: Kenntnis von Methoden zur parametrischen Modellierung von Oberflächen.
Lernzielkontrolle: Konstruktion der DeCasteljau-Punkte zum Teilungsverhältnis 1:3 (t=0.25).
OpenGL Rasterisierung
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.
Ãœbungen
Die Ãœbungen werden in Gruppen zu 2 Personen bearbeitet (Pair-Programming).