Komplexpraktikum Globale Beleuchtung - Wintersemester 2005/06
Lehrstuhl für Computergraphik und Visualisierung
Betreuer: Thomas Räckel
Aufgabenstellung
Für das Komplexpraktikums "Globale Beleuchtung" sollte ein Raytracer in C# erstellt werden, der auch ein Verfahren zur globalen Beleuchtung implementiert. Folgende Basisfeatures mussten dabei realisiert werden:
- Rekursives Raytracing mit Reflexion, Refraktion und Schatten
- Geometrieprimitive: Kugel, Ebene, Quader, Dreieck
- Punktlichtquelle, Direktionale Lichtquelle
- Phongmaterial und Bildtexturen
- Perspektivische Kamera
- Einlesen von XML3d Szenendateien
- Erstellen aussagekräftiger Szenen
Weitere Features konnten von dem Teammitglieder frei ausgesucht werden. Insbesondere eine effiziente Beschleunigungsdatenstruktur und ein Verfahren zur globalen Beleuchtung mussten ausgewählt werden.
Team
- Torsten Schmutzler
- Gunnar Schröder
Softwarearchitektur
Features
- Geometrieprimitive: Torus, Zylinder, Rohr
- Verschiedene Kameramodelle: Perspektivische, Orthogonale und Fischaugenkamera
- Depth of Field
- Antialiasing: Jittered Supersampling
- Edgedetection zur Beschleunigung des Supersampling
- Soft Shadows
- Beschleunigung: Bounding Volume Hierarchies und Shadow Cache
- Globale Beleuchtung: Photon Mapping
Ergebnisbilder
Rendering der DuskShroud Szene(3721 Dreiecke) mit den Standardeinstellungen ohne Pruning
|
Vorbereitungszeit |
Renderzeit |
Summe |
Flat List |
00.04687 s |
25 min 07.79687 s |
25 min 07.84375 s |
Bounding Volume Leaves |
00.04687 s |
4 min 24.85937 s |
4 min 24.90625 s |
BVH Quantative Longest |
00.1602304 s |
15.2118736 s |
15.3721040 s |
BVH Quantative Round Robin |
00.0701008 s |
13.4593536 s |
13.5294544 s |
BVH Spatial Longest |
00.0901296 s |
12.4779424 s |
12.5680720 s |
BVH Spatial Round Robin |
00.1001440 s |
12.6481872 s |
12.7483312 s |
Renderingzeiten der Büstenszene (463949 Dreiecke) in 1024x768 ohne Pruning
|
Vorbereitungszeit |
Renderzeit |
Summe |
BVH QL |
38.26562 s |
12.81250 s |
51.07812 s |
BVH QRR |
24.78125 s |
16.82812 s |
41.60937 s |
BVH SL |
19.81250 s |
12.21875 s |
32.03125 s |
BVH SRR |
21.73437 s |
13.31250 s |
35.04687 s |
BVH SL mit Pruning |
37.12500 s |
11.39062 s |
48.51562 s |
BVH SL mit Flatten |
20.92187 s |
12.35937 s |
33.28125 s |
 |
 |
Links ist ein Kugelfraktal mit Reflektionen zu sehen. Rechts sind unsere unterstützten Primitive dargestellt (der Torusknoton ist ein Dreiecksnetz). Ausserdem kommen Reflektion, Brechung, Scheinwerfer, Flächenlicht und Photon Mapping zum Einsatz. |
 |
 |
Features der Kameraimplementierung. Links: Fischaugenkamera mit 360 grad Blickwinkel. Rechts: Tiefenunschärfe. Die weisse Kugel befindet sich im Focus. |
 |
 |
Links: Cornell Box mit reflektierenden und brechenden Materialen für Kausiken
Rechts: Die klassische Cornell Box. |
 |
 |
Photon Mapping im Einsatz. Links: Eine Klosterszene mit ambienter Beleuchtung. Rechts: Die gleiche Szene mit Globaler Beleuchtung. |
 |
 |
Links: Kaustik von einer transparenten Teekanne. Rechts: Schachbrettszene mit verschiedenen prozeduralen Texturen. (Checker, Marmor, Holz) |