Lectures

3D Computergrafik

COGR

Prof. Dr. Stefan Röttger, Stefan.Roettger@th-nuernberg.de



Include this index page


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.


Grundlagen der Analytischen Geometrie


3D Grundlagen

Lernziel: Verständnis der Grundlagen der perspektivischen Wahrnehmung.
Lernzielkontrolle: Beschreibung der Funktion des menschlichen Sehapparats. Übung Nr. 1.


Die Computergrafik-Pipeline (Rendering 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 Primitive

Lernziel: Einführung und praktische Benutzung der OpenGL API.
Lernzielkontrolle: OpenGL-Übung Nr. 2.


Geometrische Transformationen (Lineare Algebra)

Lernziel: Verständnis von affinen Transformationen und homogenen Koordinaten.
Lernzielkontrolle: Nachvollzug des Transformationsbeispiels. Handübung Nr. 3.


3D Darstellung

Lernziel: Verständnis von Projektions-, Welt-, Modell-, Kamera- und Augenkoordinaten.
Lernzielkontrolle:

Nennung der Definitionsgrößen des View Frustum und der Kamera.
Berechnung einer uniformen Projektionsmatrix mit $n=0.1, f=10, w=h=1$.
Berechnung der MVP mit obigen Größen und Blick auf den Ursprung vom Augpunkt $(-10,0,0)$.


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:

Berechnung von $(1,0.5,0.1)$ over $(0.1,0.5,1)$ mit $\alpha=0.5$.
Nennung der beteiligten OpenGL Befehle für obiges Beispiel.


OpenGL 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

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).

  1. Perspektive
  2. Dreiecke
  3. Transformationen
  4. Matrix Stack
  5. Blender 2
  6. Tesselierung
  7. Texturierung 1
  8. Texturierung 2
  9. Beleuchtung
  10. Blender 3

Options: