Lectures

3D Computergrafik

COGR

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



Include this 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: