Einführung in die Computergraphik - WS 11/12


Diese Vorlesung soll eine Einführung in die theoretischen und methodischen Grundlagen der Computergraphik geben, als auch die Grundlagen für die praktische Implementierung von computergraphischen Systemen legen.

Der Schwerpunkt liegt auf Algorithmen und Konzepten zur Repräsentation und Visualisierung von polygonalen, 3-dimensionalen graphischen Szenen. Die Übungsaufgaben werden teils theoretisch, teils praktisch sein, wobei die praktischen Aufgaben gewisse Programmierfähigkeiten in C++ verlangen. (Zu Beginn der Vorlesung wird deshalb nochmals ein kurzer "Refresh" Ihrer C/C++-Kenntnisse gemacht.)

Aus dem Inhalt:

  1. Mathematische Grundlagen
  2. OpenGL and C++
  3. 2D Algorithmen der Computergraphik (Scan Conversion, Visibility Computations, etc.)
  4. Theorie der Farben, Farbräume (hauptsächlich physikalische, neurologische, und technische Aspekte)
  5. 3D Algorithmen der Computergraphik (Rendering Pipeline, Transformationen, Beleuchtung, etc.)
  6. Techniken zum Echtzeit-Rendering
  7. Shader
  8. Texturierung

Aktuelles

Denglisch von den Wise Guys.

Folien

Die folgende Tabelle wird die behandelten Themen und die dazugehörigen Folien enthalten.

Woche Thema Folien Übungs-
aufgaben
1. Orga, Intro, Geschichte, Displays, Gammakorrektur,
Mathe Wdhg. 1 (Koordinatensysteme, Eigenschaften von Skalar- und Kreuzprodukt)
PDF1 PDF2 PDF3 Blatt 1
2. Mathe Wdhg. 2 (Flächeninhalte, Spatprodukt, Volumeninhalte, geometrische Prädikate, lineare Interpolation);
Wiederholung bzw. Einführung in C++
PDF1 PDF2 Blatt 2
3. Übersicht über die Grafik-Pipeline;
Einführung in OpenGL;
Scanline-Konvertierung von Linien mit Midpoint-Algorithmus, optimale Beschleunigung mit Span-Algorithmus, Anwendung im Raytracing
PDF1 PDF2 PDF3 Blatt 3
4. Ray-Tracing von Terrain,
Baryzentrische Koordinaten
PDF Blatt 4
5. Triangulierung in 2D (Existenz, Anzahl, Algorithmus);
Scan Conversion für Dreiecke, Füllen nicht-einfacher Polygone und beliebiger Regionen (Odd-Even-Test, Winding-Number-Test) Visibility Computations 1 (Painter's Algo, Z-Buffer, Hierarchischer Z-Buffer)
PDF1 PDF2 Blatt 5
6. Visibility Computations 2 (BSP-Tree, Warnock Algo, Double & Quad Buffer) PDF Blatt 6
7. Stencil Buffer, Spiegelungen, Rendering von Schatten mittels Shadow-Volumes
Clipping (Einzelnes Liniensegment, Outcodes, Cyrus-Beck-Algo, Sutherland-Hodgeman)
PDF1 PDF2 Blatt 7
8. Transformationen (Einordnung in die Pipeline, homogene Koordinaten, einfache Transformationen, Konkatenierung) PDF Blatt 8
9. Transformationen 2 (Euler-Winkel, Gimbal Lock, Rotation um beliebige Achse, Zerlegung von Rotationsmatrizen, Anatomie einer Matrix, Transformationen in OpenGL, relative Transformationen, Objekthierarchien, Matrix-Stack, Klassifikation, Quaternionen)
PDF Blatt 9
10. Projektionen und Perspektive (Einordnung in die Pipeline, orthographische und perspektivische Projektion, Eigenschaften, Viewing-Transformation, Proj. in OpenGL) PDF Blatt 10
11. Farben 1 (Einführung, Chromatizität, reflectance spectrum, spektrale Empfindlichkeit, Metamere, Grassmann'sche Experimente, CIE-XYZ, opponent color model, RGB, CMY) PDF Blatt 11
12. Farben 2 (HSV, Konvertierung, HLS, Anwendung, Interpolation, Uniforme Farbräume, CIE Lab);
Lighting (Lambert'sches und Phong-Beleuchtungsmodell, Blinn-Phong, Gouraud-Shading, Phong-Shading, Mach-Bänder, Beleuchtung in OpenGL);
PDF1 PDF2 Blatt 12
13. Shader-Programmierung (GLSL, Gooch-Shader, Per-Pixel-Lighting, Early-Z, Deferred Shading / Deferred Lighting, Depth-of-Field) PDF
14. Texturen (Texturarten, Interpolation der Texturkoordinaten, perspektivisch korrekte Interpolation, Modulation der Beleuchtung, Bump-Mapping, Alpha-Blendung und Alpha-Texturen, Texturen in OpenGL, Textur-Interpolation, MIP-Maps, Einfache Parametrisierung) PDF

Literatur

Folgende Literatur eignet sich als begleitende Literatur:
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 30% der maximal erhältlichen Punkte erreichen. (Eine "Schein"-Klausur findet nicht statt.)

Punktestände
Matr.Nr. Punkte Note
393122 147.0 1.3
315506 75.0 3.3
349745 88.0 3.0
394714 105.0 2.3
375845 112.5 2.3


Übungsbetrieb

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 ist jeweils am Mittwoch zwei Wochen später direkt in der Vorlesung bzw. in der Übung. Theoretische Aufgaben werden schriftlich abgeliefert, praktische Aufgaben werden in der Übung am Rechner vorgeführt.

Hinweise und Downloads zur Bearbeitung der Übungsblätter
Übungsblatt Nr. 2
Das Framework cpp_Framework.zip, in dem Sie schon ein Gerüst für die zu erstellenden Klassen vorfinden.
Übungsblatt Nr. 4
Das Simple GL-Framework, in dem Sie schon ein Gerüst für die zu erstellenden Methoden vorfinden.
Übungsblatt Nr. 6
Das BSP-Framework zum Rendering transparenter Objekte mittels BSPs.
Übungsblatt Nr. 8
Das Framework für die Billiard-Simulation.

Online Literatur und Resources

Change Monitoring:

 by ChangeDetection (it's free and it's private).
If you enter your email adress in the box above and then press the "Monitor" button, then ChangeDetection will send you an email whenever I make changes to this page.
Gabriel Zachmann
Last modified: Wed Jun 27 16:20:08 MDT 2012