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):
Woche | Thema | Übungs- aufgaben |
Literatur |
---|---|---|---|
1. | Orga, Texturen 1 (Definitionen, prozedurale T., 1D- und 3D-Texturen) | WW | |
2. | Texturen 2 (perspektivisch korrekte Interpolation, Beeinflussung der Beleuchtung, alpha-Texturen, Bump-Mapping, Normal-Mapping, Texturen in OpenGL) | 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) | OL | |
4. | Beweis für Mean value coordinates bzgl. nicht-konvexer Polygone, Anwendungen der verallgemeinerten baryzentrischen Koordinaten (image warping, morphing) | 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) | 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 | OL | |
7. | Shader-Programmierung-Übung | Blatt 3 | |
8. | Pfingstwoche | ||
9. | Tone Mapping 1 (Naives Tone Mapping, point operators, Histogram Stretching, Histogram Equalization) | 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) | ||
11. | Culling 2 (View Frustum Culling, Occlusion Culling bei Stadtmodellen, allgemeines Occlusion Culling) | 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) |
||
13. | Ray Tracing 2 (weitere Schnitttests: Strahl-Dreieck, Strahl-Box, Strahl-Kugel, Strahl - implizite Fläche, Nullstellensuche, Instancing, Quadriken, Superquadrics, Metaballs, constructive solid geometry) | 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) |
||
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) |
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.
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.