Computergraphik II

SS 07


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". Die Übungsaufgaben werden zum größten Teil praktisch sein, d.h., gewisse Programmierfähigkeiten in C++ sind nötig.

Geplante Themen:

  1. Ray-Tracing und Radiosity
  2. Texturierung
  3. Shader-Programmierung, Stream-Processing
  4. Randrepräsentationen und Szenengraphen
  5. OpenSG
  6. Occlusion Culling
  7. Schatten
  8. Non-Photorealistic Rendering
  9. ...

Aktuelles


Folien

Die folgende Tabelle enthält die behandelten Themen und die dazugehörigen Folien. Je nach Bedarf können sich Verschiebungen ergeben.

Woche Thema Folien, 4up Folien, 2up Übungs-
aufgaben
Literatur
1. Ray-Tracing (Prinzip, physikalische Effekte, Schnittberechnungen, Objektrpräsentationen) PDF PDF Blatt 1 PS, AG
2. Ray-Tracing 2 (Metaballs, CSG, Height Fields, Implementierung) PDF PDF OL
3. Ray-Tracing 3 (Distribution Ray Tracing, Anti-Aliasing, Soft Shadows, Tiefenunschärfe, Motion Blur) PDF PDF Blatt 2 AG, PBRT
4. Ray-Tracing Acceleration (light buffer, beams, cones, grids, blocking, proximity clouds) PDF PDF WW, PBRT
5. Ray-Tracing Acceleration 2 (Octree, 5D Octree, kd-Tree) PDF PDF Blatt 3 FvD, PBRT
6. Ray-Tracing Acceleration 3 (SAH, BVHs) PDF PDF PBRT
7. Ray-Tracing Acceleration 4 (BVH Aufbau, Packet Tracing durch kd-Tree, dynamische Szenen)
Texturen (Mapping, Beleuchtung, OpenGL)
PDF1 PDF2 PDF1 PDF2 Blatt 4
8. Texturen 2 (Perspektivisch korrekte Interpolation, Bump Mapping & Co., Parametrisierung) PDF PDF FvD, PS, WW, MH
9. Texturen 3 (Atlas, Seams, Cubemaps, Filterung, Environment-Mapping)
Shader 1 (Hardware-Architektur, GLSL-Intro)
PDF1 PDF2 PDF1 PDF2 Blatt 5 WW, MH
10. Shader 2 (Erste Shader, NPR-Shader, prozedurale Texturen, Noise) PDF PDF Blatt 5 OL
11. Shader 3 (Lichtbrechung, GPGPU, Matrix-Mult, Bildverarbeitung)
Szenengraphen (Semantik, VRML)
PDF1 PDF2 PDF1 PDF2 OL

Here you can find the source code of the shader examples that were discussed in class.
They basically comprise: All demos should compile and run out-of-the-box under Linux and Mac OS X 10.4. (Actually, the executables contained in the zip file should run under MAC OS X 10.4 PPC.)

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.

Übungsbetrieb

Übungsblätter
Die Übungsblätter werden jeweils am Donnerstag im Lauf des Tages auf der Homepage der VL (also hier) ins Netz gestellt.

Die Abgabe der Lösungen findet direkt in der Übung statt. Praktische Aufgaben werden in der Übung am Rechner vorgeführt.

Hinweise und Downloads zur Bearbeitung der Übungsblätter

Hier finden Sie einige Testszenen für Ihren Raytracer.
Übungsblatt Nr. 1:
Hier finden Sie das Rahmenprogramm für Aufgabe 1 und 2: RayTracingTemplate.zip
Wer die Entwicklung unter "Mac OS X" machen möchte findet hier eine kurze Anleitung (Dank an Philipp Kraus).
Für Aufgabe 2 benötigen Sie außerdem Sourcecode zur Nullstellenberechnung (gemäß Laguerre's Methode). Eine Dokumentation liegt dem File bei. Bitte achten Sie auf die, meiner Meinung nach, sehr fragwürdige Indizierung von Arrays, die in allen Codes von Numerical Recipes angewendet wird (s. README.txt und c1-2.pdf)!
Dieses kleine Programm erzeugt eine Menge von Kugeln, die sich auf der Oberfläche von sog. Steinbach-Screws befinden, und exportiert sie als XML-Szenen für den Raytracer.
Hier finden Sie eine kleine Liste mit OpenGL-Materialparametern, die Sie auch im Raytracer ausprobieren können.
Übungsblatt Nr. 2:
Hier finden Sie das Rahmenprogramm für Aufgabe 1 und 2: RayTracingTemplateB2.zip.
Auf dieser Webseite finden Sie Informationen zum Aufbau des OBJ-Dateiformats.
Hier finden Sie das Rahmenprogramm für Aufgabe 1 und 2 inklusive der Ray Tracing Methoden des 1. Übungsblattes: RayTracingTemplateB2ML.zip.
Übungsblatt Nr. 3:
Hier finden Sie das Rahmenprogramm für die Aufgabe des 3. Übungsblatts (inklusive Dreieck-Strahl-Schnittest): RayTracingTemplateB3.zip

Übungsblatt Nr. 4:
Hier finden Sie das Rahmenprogramm incl. Beispieldatensätze für das Übungsblatt 4.

Übungsblatt Nr. 5:
Zu Aufgabe 1 steht ein Framework und je ein Video ( Watereffect, Morphing und BumpMapping) pro Teilaufgabe zur Verfügung. Das Framework zu Aufgabe 2 finden Sie hier

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: Thu May 22 22:55:27 MDT 2008