Lectures

3D Computergrafik


Include this page


© 2010–2013Stefan Röttger
© 2013–2022Matthias Hopf
© 2023Stefan Röttger, Adam Kalisz, Matthias Hopf
© 2024-Stefan Röttger, Adam Kalisz


Die Vorlesung besteht aus drei Hauptteilen:

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:

Welche Gebiete der Computergrafik gibt es im Allgemeinen?
In welchem konkreten Gebiet ist die 3D Computergrafik verortet?
Wie werden Bilder dargestellt?
Wie funktioniert eine Digital-Kamera?
Mit welchem Kameramodell wird in der 3D Computergrafik gearbeitet?
Welche zwei antagonistische Ziele gibt es prinzipiell bei der Darstellung von 3D Szenen?

Frameworks und Tools

Die Computergrafik-Pipeline

Lernziel: Überblick über die einzelnen Stufen den Grafik-Pipeline
Lernzielkontrolle:

Nennen Sie die Stufen und beschreiben Sie deren Aufgabe!
Welche Daten werden in den jeweiligen Stufen verarbeitet?
Was sind Vertices und Attribute?
Was geschieht mit diesen als erstes?
Wozu wird die Rasterisierung benötigt?
Was wird hierbei interpoliert?
Was ist eine sog. Fragment?
Was ist die sog. MVP?

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:

Aus welchen Primitiven sind die Modelle aufgebaut und wie werden Sie transformiert?
Erklären Sie den Unterschied zwischen Direct und Retained Mode!
Erklären Sie den Unterschied zwischen globalen und lokalen Koordinaten!
Erklären Sie das Prinzip der hierarchischen Modellierung und deren Nutzen!
Was ist also überhaupt der Zweck lokaler Koordinatensysteme? Nennen Sie mindestens drei Vorteile!

Beleuchtungsverfahren

Advanced Lighting Techniques

Lernziel: Überblick über die grundlegenden Verfahren zur globalen Beleuchtungsberechnung
Lernzielkontrolle:

Zeichnen Sie beispielhaft die Licht- bzw. Augpfadem wie sie beim Raytracing und Monte-Carlo Path-Tracing vorkommen und erklären Sie damit, wie die Berechnung eines Einzelbildes bei diesen Verfahren prinzipiell zustande kommt!




Teil #2

3D Hardwarebeschleunigung mit OpenGL




Die Computergrafik-Hardware

Die Computergrafik-Hardware-Pipeline

Lernziel: Überblick über die einzelnen Hardwarekomponenten, aus denen die Grafikhardware besteht und wie diese mit den Komponenten des Rechners kommunizieren.
Lernzielkontrolle:

Wo steckt in Ihrem Rechner die Grafikkarte und wo ist der Bus, über den sie kommuniziert?
Mit welcher Geschwindigkeit bzw. Taktfrequenz geschieht dies?
Wieviele Daten können pro Takt übertragen bzw. verarbeitet werden?

Kartesische Vektorräume

3D Transformationen

Lernziel: Verständnis der Abbildung einer 3D Szene durch eine zusammengestzte Matrixmultiplikation.
Lernzielkontrolle:

Aus welchen Teilen setzt sich eine Modellierungstransformation zusammen?
Was ist der Vorteil der Darstellung der Transformation als Matrizenmultiplikation? Nennen Sie mindestens drei Vorteile!
Nennen Sie die beteiligten Einzeltransformationen und Koordinatensysteme!
Was ist eine Starrkörpertransformation und wie wird diese als Matrix dargestellt?
Ist die Reihenfolge vertauschbar?
Wieso verwenden wir 4×4 und nicht 3×3 Matrizen?
Was ist also die sog. Modellierungstransformation -bzw. Matrix?

Zusammengesetzte 3D Transformationen

OpenGL Grundlagen

Grundlagen der Perspektivischen Darstellung

Lernziel: Verständnis der Kameratransformation und der perspektivischen Transformation.
Lernzielkontrolle:

Wie werden diese Transformationen definiert?
Wie wird die Position und Ausrichtung der Kamera spezifiziert?
Wie kann ich Position und Ausrichtung der Kamera in der Viewing-Matrix ablesen?
Wie kann man die Viewingtransformation durch eine Modellierungstransformation ausdrücken?
Wie wird die perspektivische Transformation erzielt?
Welche Parameter sind bei der Definition des View Frustums beteiligt und was für einen Zweck haben sie jeweils?
Wozu benötigen wir homogene Koordinaten? Nennen Sie mindestens drei Gründe!
Wozu dient der Matrizeneintrag −1?
Was ist also die perspektivische Transformation bzw. Matrix?
Was ist also die sog. Viewingtransformation bzw. Viewing-Matrix?

MVP in Theorie und Praxis

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:

Was sind die beteiligten Einzeltransformationen und Koordinatensysteme bei der MVP? Was ist ein VBO?
In welche Reihenfolge werden die Einzeltransformationen angewandt?
In welcher Reihenfolge werden deren Teil-Matrizen multipliziert?
Wie wird die MVP also konkret berechnet?
Machen Sie ein konkretes Rechenbeispiel zur MVP!
Wofür steht die Abkürzung VBO?
Was für ein Vorteil haben VBOs?
Zeigen Sie ein beispielhaft, wie man einen VBO im Framework verwendet

Rasterisierung mit OpenGL

Rasterisierung von Texturen mit OpenGL

Texturanwendungen

Per-Fragment Operationen

Lernziel: Verständnis des Prinzips der Texturierung und deren Anwendungen
Lernzielkontrolle:

Wie erfolgt die Zuordnung der Textur zu den geometrischen Primitiven?
Wie liegen die Bilddaten im Hauptspeicher vor und wie gelangen Sie auf die GPU?
Was ist der Vorteil von Texture-Objekten und Mip-Maps?
In welcher Stufe der Graphik-Pipeline erfolgt die Texturierung?
Nennen Sie mindestens drei Textur-Anwendungen!




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:

Beschreiben Sie obige Termini mit Ihren eigenen Worten!

GLSL Continued

Lokale Beleuchtung

Lokale Beleuchtungsarten

Lernziel: Wir realisieren mit Hilfe von GLSL das Blinn-Phong Beleuchtungsmodell.
Lernzielkontrolle:

Beschreiben Sie qualitativ, welche Berechnungen konkret für den ambienten, diffusen und spekularen Anteil notwendig sind und in welchem Shader und Koordinatensystem diese Berechungen jeweils stattfinden.

Ray-Casting bzw. Ray-Tracing mit Grafik-Hardware

Lernziel: Wir lernen die Ray-Casting Technik kennen.
Lernzielkontrolle:

Nennen Sie drei Einsatzgebiete, wo Ray-Casting eingesetzt wird und beschreiben Sie die jeweiligen Vorteile.

Post-Processing (mit FBOs)

Multi-Pass Rendering (mit FBOs)

Lernziel: Wir lernen Postprocessing-Effekte lieben und schätzen.
Lernzielkontrolle:

Was ist Ihr Lieblings-Effekt? Beschreiben Sie die Schritte, welche zum Erzielen des Effekts notwendig sind.

Advanced Rendering Techniques

Lernziel: Wir schauen über den Tellerrand und lernen eine Auswahl an weiterführenden graphischen Algorithmen und Postprocessing-Effekten kennen. Lernzielkontrolle:

Analysieren Sie die Auswirkungen, welche obige Techniken auf die Darstellungsgeschwindigtkeit haben.

fin

Options: