Lichtpfadnotation

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Die Lichtpfadnotation wird in der Bildsynthese von Computergrafiken verwendet. Es handelt sich um eine Notation, die die Art des Pfads angibt, den ein Lichtstrahl ausgehend von einer Lichtquelle, mit eventuellen Reflexionen, bis zum virtuellen Beobachter (Augpunkt) nimmt. Die verschiedenen Arten von Lichtpfaden unterscheiden sich darin, ob und in welcher Reihenfolge sie auf diffuse oder spiegelnde Oberflächen treffen.

Beispiele für verschiedene Lichtpfade in einer Szene mit globaler Beleuchtung.
1) LDSE, 2) LSSDE und 3) LDDE.

Die Lichtpfadnotation wurde 1990 von Paul Heckbert vorgestellt. Sie basiert auf regulären Ausdrücken und verwendet folgende Symbole:

L bezeichnet die Lichtquelle,
D bezeichnet eine diffuse Oberfläche,
S („specular“) bezeichnet eine spiegelnde Oberfläche (Licht brechende Körper eingeschlossen),
E („eye“) bezeichnet den Augpunkt.

Weiterhin gelten folgende übliche Symbole der regulären Ausdrücke:

| steht für „oder“,
* steht für eine beliebige Anzahl von Reflexionen an Oberflächen des angegebenen Typs,
+ steht für mindestens eine Reflexion,
? steht für höchstens eine Reflexion.

Der Grund für die Unterscheidung zwischen auf diffuse (D) und auf spiegelnde (S) Oberflächen treffende Lichtpfade liegt darin, dass sie zu ihrer Berücksichtigung unterschiedliche Techniken erfordern. Je nach Rendering-Algorithmus können nur bestimmte Lichtpfade simuliert werden.

Der einfachste Fall einer diffusen Oberfläche ist eine lambertsche Fläche, der einfachste Fall einer spiegelnden Oberfläche ein glattes Dielektrikum, dessen Reflexions- und Transmissionsgrade mit Hilfe der Fresnelschen Formeln berechnet werden können. Bei allgemeinen Beleuchtungsmodellen, die auch „glänzende“ Reflexionen umfassen können, ist die Grenze zwischen diffuser und spiegelnder Reflexion nicht klar definiert.

Typische Lichtpfade

[Bearbeiten | Quelltext bearbeiten]

Die Lichtpfadnotation kann dazu verwendet werden, die Fähigkeiten von Rendering-Algorithmen anzugeben. Beispiele sind in folgender Tabelle dargestellt.

Lichtpfad Bedeutung Beispiele für Algorithmen, die zur Simulation dieser Pfade fähig sind
L(D|S)*E Alle möglichen Lichtpfade: ein Lichtstrahl kann auf eine beliebige Anzahl diffuser oder spiegelnder Oberflächen treffen. Die Simulation aller möglichen Lichtpfade entspricht der globalen Beleuchtung. Path Tracing
LD*E Mögliche diffuse Interreflexion (im Beispiel Pfad 3) Einfaches Radiosity
LD?S*E Eventuell diffuse Reflexion, anschließend beliebige spiegelnde Reflexionen (im Beispiel Pfad 1) Rekursives Raytracing (nach Whitted)
LS+DE Kaustiken (im Beispiel Pfad 2). Diese Lichtpfade können mit klassischen Algorithmen (einfaches Radiosity oder Raytracing) nicht simuliert werden. Kaustik-Photon-Mapping

Eric Veach hat die Lichtpfadnotation in seiner Dissertation speziell für E und L so erweitert, dass der Start-/Endpunkt sowie die Menge der ausgehenden/eintreffenden Richtungen spekular oder diffus sein können. Mit diesen erweiterten, regulären Ausdrücken ist es möglich, unterschiedliche Arten von Lichtquellen (z. B. gerichteter Strahler, Punktlichtquelle oder leuchtende Kugel) sowie Kameratypen (z. B. Lochkamera oder Kameras mit Schärfentiefe) zu notieren.

  • Paul Heckbert: Adaptive radiosity textures for bidirectional ray tracing. In ACM SIGGRAPH ’90 Proceedings: 145–154. ACM Press, Dallas 1990, ISBN 0-201-50933-4
  • Eric Veach: Robust Monte Carlo Methods for Light Transport Simulation. Dissertation, Stanford University 1997 (Online)
  • Alan Watt: 3D Computer Graphics, 3. Auflage, S. 281–283. Pearson/Addison-Wesley, Harlow (England) 2000, ISBN 978-0-201-39855-7