Computergraphik II

SS 10


Diese Vorlesung führt in die fortgeschritteneren und komplexeren Methoden der Computergraphik ein. Voraussetzung ist der Stoff aus der Vorlesung "Einführung in die Computer-Graphik" mit ein wenig Zusatzaufwand kann man aber die für die Computergraphik II notwendigen Teile aus der Computergraphik I relativ leicht selbst nachholen).

Die Übungsaufgaben werden zum größten Teil praktisch Programmieraufgaben sein, d.h., gewisse Programmierfähigkeiten in C++ sind nötig.

Geplante Themen (diese können sich im Laufe des Semester leicht ändern):

  1. Texturierung (realistischere Bilder)
  2. Shader-Programmierung, Stream-Processing (Effekte)
  3. Anti-Aliasing (Qualitätssteigerung)
  4. Culling Techniken (Beschleunigung)
  5. Ray-Tracing und Radiosity (photo-realistische Bilder)
  6. ...

Aktuelles


Folien

Die folgende Tabelle enthält die behandelten Themen und die dazugehörigen Folien.

Woche Thema Folien Übungs-
aufgaben
Literatur
1. Orga, Texturen 1 (Definitionen, prozedurale T., 1D- und 3D-Texturen) PDF1 PDF2 WW
2. Texturen 2 (perspektivisch korrekte Interpolation, Beeinflussung der Beleuchtung, alpha-Texturen, Bump-Mapping, Normal-Mapping, Texturen in OpenGL) PDF1 PDF2 Blatt 1 WW
3. Texturen 3 (Textur-Interpolation, MIP-Maps, Verzerrungen vs. Seams, Environment Mapping, Cube Maps, Parallax Mapping); Verallgemeinerte baryzentrische Koordinaten (Definition, Interpolationseigenschaft, allgemeine Konstruktion, Wachspress-Koordinaten, mean value coordinates) PDF1 PDF2 OL
4. Beweis für Mean value coordinates bzgl. nicht-konvexer Polygone, Anwendungen der verallgemeinerten baryzentrischen Koordinaten (image warping, morphing) PDF Blatt 2 OL
5. Parametrisierung (Problemstellung, allg. Ansatz, spezielle Parametrisierungen, Anwendung); Shader-Programmierung 1 (Grafikkarten-Architektur, die programmierbare Pipeline, Vertex- / Fragment-Prozessoren, Einführung in GLSL) PDF1 PDF2 OL
6. Shader-Programmierung 2 (Kommunikation zwischen OpenGl/App und GLSL, Beispiele für die Verwendung von uniform- und varying-Variablen, Toon-Shader, Gooch-Shader, per-pixel lighting); Himmelfahrt PDF OL
7. Shader-Programmierung-Übung Blatt 3
8. Pfingstwoche
9. Tone Mapping 1 (Naives Tone Mapping, point operators, Histogram Stretching, Histogram Equalization) PDF Blatt 4
10. Tone Mapping 2 (psycho-physikalisch basiertes Tone-Mapping, Weber-Fechner-Gesetz, Stevens' Power Law, Tone Mapping auf der GPU); Real-time Rendering by Advanced Visibility Computations (Culling-Arten, normal masks for backface culling, clustered backface culling, hierarchical clustered backface culling) PDF1 PDF2
11. Culling 2 (View Frustum Culling, Occlusion Culling bei Stadtmodellen, allgemeines Occlusion Culling) PDF Blatt 5
12. Culling 3 (Coherent Hierarchical Culling, geometry fusion, portal culling, detail culling);
Ray Tracing 1 (Grundlagen, Kameramodelle, Renderinggleichung, Sekundärstrahlen, die Fresnel-Terme, Dämpfung, Dispersion, Schnittberechnung Strahl-Polygon)
PDF1 PDF2
13. Ray Tracing 2 (weitere Schnitttests: Strahl-Dreieck, Strahl-Box, Strahl-Kugel, Strahl - implizite Fläche, Nullstellensuche, Instancing, Quadriken, Superquadrics, Metaballs, constructive solid geometry) PDF1 Blatt 6
14. Ray Tracing 3 (Vergleich Raytracing - Polygonal Rendering, Distribution Ray Tracing);
Acceleration Data Structures 1 (Light Buffer, Regular Grid, Blocking, Octree, kd-Tree, Surface-Area-Heuristic)
PDF1 PDF2 PDF3
15. Acceleration Data Structures 2 (Parallelisierung, SSE, Packet-Tracing in kd-Trees, Coherent Grid Traversal in Gittern);
Anti-Aliasing (Einführung, verschiedene Super-Sampling-Patterns)
PDF1 PDF2 PDF3


Hier finden Sie Aufzeichnugen auf Video der Vorlesungen vom SS 08.



Literatur

Folgende Literatur eignet sich als begleitende Lehrbücher (in Klammern die oben verwendeten Kürzel):
Achtung: nicht alle in der Vorlesung behandelte Themen sind schon in Lehrbüchern nachzulesen! Daher empfiehlt sich der Besuch der Vorlesung.

Falls Sie sich diese Bücher anschaffen möchten, sollten Sie vielleicht überlegen, gebrauchte Exemplare zu erwerben -- oft gibt es diese zu einem Bruchteil des Neupreises. Zwei gute Internetadressen sind Abebooks und BookButler.

Scheinerwerb

Einen Schein erwirbt man durch erfolgreiche Teilnahme an den Übungen. Das heißt, Sie müssen insgesamt mindestens 50% der maximal erhältlichen Punkte erreichen. (Eine "Schein"-Klausur findet nicht statt.)

Prüfung

Die Vorlesung wird mündlich geprüft. Wer sich prüfen lassen möchte, melde sich bitte wie üblich im Prüfungsamt und bei Frau Cronjäger (IfI, Zimmer 202) an.

Übungen

Übungsblätter
Die Übungsblätter werden jeweils vor der Übung hier ins Netz gestellt.

Die Abgabe der Lösungen findet direkt in der darauf folgenden Übung (also 2 Wochen später) statt. Praktische Aufgaben werden in der Übung am Rechner vorgeführt.

Hinweise und Downloads zur Bearbeitung der Übungsblätter

Die Installation der OpenSource-Version von Qt ist unter Windows und Linux inzwischen sehr einfach. Unter Linux gibt es Qt inzwischen immer als vorgerfertigtes "Package" (RPM oder DEB), das man einfach nur mit dem Package-Manager installieren kann (bei vielen Linuxen ist es auch schon per Default drauf). Für Mac OS muß man meiner Erfahrung nach immer noch das Ganze von Hand durchcompilieren; das dauert dann ca. einen halben Tag, aber läuft anstandslos durch. Auf dieser Download-Seite finden Sie die Pakete für Windows und Mac.

Für die Bearbeitung der Shader-Aufgaben können Sie verschiedene Tools verwenden (s. Vorlesung). Wir würden allerdings, aus verschiedenen Gründen, das "in-house" entwickelte Tool Shader Maker empfehlen.

Hier finden Sie eine kleine Liste mit OpenGL-Materialparametern, die Sie für verschiedene Aufgaben gebrauchen können.

Wer die Entwicklung unter "Mac OS X" machen möchte findet hier eine kurze Anleitung (Dank an Philipp Kraus). Sie behandelt zwar konkret die Arbeit mit einem Raytracing-Framework, aber analog funktioniert es mit allen anderen Programmen ebenso.
Übungsblatt Nr. 1:
texture.zip .
Übungsblatt Nr. 2
Pineda_general_barycentric.zip .
Übungsblatt Nr. 3
shader_2pass.zip .
Übungsblatt Nr. 4
Das Framework zur Tone-Mapping-Aufgabe.
Übungsblatt Nr. 5
Das Framework zur View-Frustum-Culling-Aufgabe.
Übungsblatt Nr. 6
Das Framework zur Raytracing-Aufgabe.

Online Literatur und Resources im Internet

Change Monitoring:

 by ChangeDetection (it's free and it's private).
 by ChangeDetect (it's free and private, too).
If you enter your email adress in one of the boxes above and then press one of the "Monitor" buttons, then either ChangeDetection or ChangeDetect will send you an email whenever I make changes to this page.
Gabriel Zachmann
Last modified: Fri Feb 04 22:57:34 MET 2011