3 Punkte von GN⁺ 2024-04-16 | 1 Kommentare | Auf WhatsApp teilen

Ray Tracing über das Spektrum verstehen

Eine Hintergrund­erklärung dazu, warum Wellenlängen beim Ray Tracing wichtig sind und welchen Einfluss spektrales Ray Tracing auf die Computerkunst hat.

Ray Tracing

  • Dabei wird der Weg modelliert, auf dem Lichtstrahlen zwischen einer virtuellen Kamera und Lichtquellen wiederholt an virtuellen Objekten abprallen, um eine Szene zu „beleuchten“
  • Aus Performancegründen werden viele Abkürzungen genutzt
    • Beispiel: Strahlpfade werden rückwärts von der Kamera zur Lichtquelle verfolgt
    • Strahlen werden als Teilchen behandelt, die einen RGB-Vektor transportieren, der „Farbe“ entspricht, während Welleneigenschaften ignoriert werden
  • Die RGB-Abkürzung funktioniert gut, weil unsere Augen so arbeiten
    • Unsere Augen besitzen drei Typen farbempfindlicher Sinneszellen (SML-Zapfen)

Das Spektrum betrachten

  • Die Farben, die wir sehen, bestehen nur selten aus einer einzelnen Wellenlänge, sondern aus einer SPD (spectral power distribution), also einer Verteilung vieler Wellenlängen
  • Einer einzelnen Farbe können mehrere SPDs entsprechen (Metamerie)
    • Beispiel: Gelb entspricht einer Wellenlänge von 580 nm, kann aber auch durch eine Mischung aus rotem und grünem Licht erzeugt werden
  • Die Umwandlung von SPD in Farbe ist rein mathematisch möglich (CIE-1931-Farbraum)
    • Eine quantitative Verbindung zwischen Physik, Physiologie und subjektivem Erleben

Wann Wellenlängen wichtig sind

  • Wenn die Welleneigenschaften von Lichtstrahlen den Weg durch eine Szene direkt beeinflussen
    • Beispiel: Dispersion (Prisma), Dünnschichtinterferenz (Regenbogenmuster auf Seifenblasen)
  • Dünnschichtinterferenz zerlegt das Spektrum nicht in einzelne Wellenlängen, sondern verstärkt oder schwächt die Beiträge bestimmter Spektralanteile und erzeugt so nichtspektrale Farben wie Cyan oder Braun

Spektrales Ray Tracing und Computerkunst

  • Ray Tracing, das die Welleneigenschaften von Lichtstrahlen berücksichtigt
  • Statt RGB-Farben wird für jedes Pixel der Szene eine SPD erzeugt, und Wellenlänge sowie Phase der Strahlen werden genutzt, um Farben besser vorherzusagen
  • Es weckt Neugier darauf, was passiert, wenn man einige Gesetze, die die Lichtausbreitung bestimmen, absichtlich bricht
    • Eine Kamera per Code in einem Universum bauen, das sich leicht von unserem unterscheidet
  • Vorstellung von Werken, die mit einem in JavaScript und GLSL geschriebenen spektralen Ray Tracer erzeugt wurden

Meinung von GN⁺

  • Der Beitrag erklärt physikalische Phänomene, die für realistisches Rendering in der Computergrafik berücksichtigt werden müssen, sehr gut
    • Besonders eindrucksvoll ist der Teil, der dies mit der Art verknüpft, wie unsere Augen Farben wahrnehmen
  • Es ist hilfreich, Beispiele zu sehen, die direkt in der Kunstproduktion eingesetzt wurden, weil dadurch klar wird, wie die theoretischen Inhalte praktisch angewendet werden
    • Es ist faszinierend, durch Abwandlung des Ray-Tracing-Verfahrens unrealistische, aber schöne Bilder zu erzeugen
  • Neben optischer Simulation könnte spektrales Ray Tracing wohl auch in vielen anderen Bereichen eingesetzt werden, etwa bei der Visualisierung wissenschaftlicher Daten, in VR/AR oder bei Film-CG
  • Mit den Fortschritten bei Deep-Learning-basierten Rendering-Techniken erscheinen weiterhin Versuche, die Grenzen des traditionellen Ray Tracing zu überwinden
    • Es bleibt spannend, welche innovativen Rendering-Technologien in Zukunft entstehen werden

1 Kommentare

 
GN⁺ 2024-04-16
Hacker-News-Kommentare
  • Das kostenlose E-Book "Ray Tracing Gems II" behandelt GPU-Ray-Tracing in Echtzeit mit modernen APIs und Hardware-Beschleunigung und enthält ein Kapitel über spektrales Rendering (Chapter 42: Efficient spectral rendering on the GPU for predictive rendering)
  • Beispiele für spektrale Ray Tracer werden genannt, darunter Mitsuba, Maxwell und Manuka von Wētā FX
    • Mitsuba: Open-Source-Forschungsrenderer. Bietet verschiedene Funktionen wie differenzierbares Rendering
    • Maxwell: Bietet zwei spektrale Modi mit unterschiedlicher Genauigkeit. Die komplexere Variante wird häufig in der Optik verwendet
    • Manuka: Basiert auf spektralem Rendering und wurde in mehreren Filmen eingesetzt
  • Kommentar des Autors des Originalbeitrags:
    • Spektrales Rendering ist ein Beispiel dafür, dass Ray Tracing selbst nicht das Endziel des Renderings ist. Es gibt zwar die Ansicht, dass Rendering mit Echtzeit-Ray-Tracing gelöst sei, das ist aber weit von der Realität entfernt
    • Die meisten spektralen Rendering-Systeme behandeln weder Dünnschichtinterferenz noch andere wellenbasierte Effekte. In der Realität gibt es erstaunlich viele Details
  • Vorschlag zur Erzeugung hyperspektraler Bilder (mehr als 3 Kanäle):
    • Mit Betonung des Spektrums möglicherweise für den Farbunterricht von Kindern nutzbar
    • Hyperspektrale Bilder und Kameras sind selten und traditionell teuer, könnten aber durch synthetische Bilder ersetzt werden
    • Vielleicht wäre ein Renderer mit sehr niedriger Auflösung im Browser möglich, mit dem sich Beleuchtung und Materialien interaktiv steuern lassen
    • Rendering aus der Perspektive von Menschen mit atypischem Farbsehen, von Menschen, die nach einer Kataraktentfernung sogar UV sehen können, von farbenblinden Säugetieren oder von tetrachromatischen Karpfen möglich
  • Es ist überraschend einfach, Ray Tracing selbst zu implementieren. Empfohlen werden kostenlose Bücher oder GPU-Tutorials auf Basis von Unity
    • Man kann mit einer Grundimplementierung herumspielen und dabei Intuition gewinnen (z. B. Strahlen als Partikel implementieren, die von Objekten angezogen oder abgestoßen werden, oder sich den letzten Reflexionswinkel merken und ihn für das nächste Material nutzen)
    • Das meiste sah nicht besonders gut aus, half aber dabei, Intuition zu entwickeln. Auch ein leichtes Bewegen der Kamera war hilfreich
  • Es stellt sich die Frage, ob für die Schönheit angepasste Inhalte auch für andere Visualisierungen nützlich sein könnten
  • Jemand versucht, Brechung in einem verteilten Ray Tracer zu implementieren
    • Die Frequenz wird zufällig gesampelt, die Farbe berechnet und damit die Strahlfarbe moduliert
    • Da die reine Brechungsfarbe nur 1/3 der Helligkeit hat, muss das Ergebnis mit 3 multipliziert werden
  • Man würde gern mehr über das am Ende des Beitrags geteilte Artwork erfahren. Die Idee, eine Realität zu rendern, in der Licht auf eine andere Weise wirkt als bei uns, ist faszinierend
  • Man möchte verstehen, wie sich die Modellierung einer spektralen Verteilung statt von RGB-Pixeln auf die Leistung eines Ray Tracers auswirkt