Schatten in partizipierenden Medien
Die Berechnung der Interaktion des Lichts mit Partizipierenden Medien ist sehr aufwändig. Darum kommen in interaktiven Anwendungen vereinfachte Modelle wie homogene Medien und Single Scattering zum Einsatz. Doch trotz der Vereinfachungen zeigen sich interessante Phänomene, wie Lightshafts und Godrays, die radial von der Lichtquelle auszugehen scheinen. Diese Entstehen durch Objekte, die Schatten innerhalb des partizipierenden Mediums werfen.
Volumerendering mit Raymarching ist die traditionelle Methode, mit der man Single Scattering berechnet. Es kann jedoch sehr rechenintensiv sein, damit ein qualitativ hochwertiges Ergebnis zu erzielen. In den hier vorgestellten Forschungsarbeiten wird die Epipolargeometrie genutzt, um die Anzahl der benötigten Samples für das Raymarching zu reduzieren, oder dieses mit Hilfe hierarchischer Datenstrukturen zu beschleunigen.
Inhalt
- Grundlagen
- Scattering Modell
- Epipolargeometrie
- Epipolar Sampling
- Reduzierung der Raymarchingamples durch ausnutzung der Epipolargeometrie
- Zusätzliche Samples am Rand von Schatten werfenden Objekten
- Berechnung des finalen Bildes mit bilinearer Interpolation
- Hierarchical Volumetric Shadows / 1D Min-Max Mipmaps
- Orthogonale Sicht- und Lichtstrahlen
- Berechnung des gestreuten Lichts als Summe von äußeren Produkten von Vektoren mit Hilfe einer Singulärwertzerlegung
- Beschleunigung der Berechnung durch Partial Sum Tree
- Beschleunigung der Berechnung durch 1D Min-Max Mipmap auf der GPU
- Prefiltered Single Scattering
- Convolution Shadow Maps
- Darstellung der Sichtbarkeit durch Basisfunktionen
- Filterung der Sichtbarkeitsfunktion vor dem eigentlichen Schattentest
Literatur
- Engelhardt und Dachsbacher: Epipolar Sampling for Shadows and Crepuscular Rays in Participating Media with Single Scattering
- Baran et al.: A Hierarchical Volumetric Shadow Algorithm for Single Scattering
- Chen et al.: Real-Time Volumetric Shadows using 1D Min-Max Mipmaps
- Klehm, Seidel und Eisemann: Prefiltered Single Scattering