TUD Logo

TUD Startseite » ... » WS 05/06 » Komplexpraktikum Globale Beleuchtung » Raytracer GLB

Computergraphik

Raytracer GLB

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

UML Übersicht

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

Die DuskShroud Szene Eine Büste

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

Kugelfraktal
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.

Fischaugenkamera Depth of Field
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)
Stand: 1.2.2010, 15:04 Uhr
Autor: Dipl.-Inf. (FH) Benjamin Neidhold