Darstellung
Sprache

Zurück zur Übersicht

Showcase 09 · Pathtracing

Licht

Die Werk-App aus dem Ablauf, auf einem Smartphone auf dem Schreibtisch. Das Bild entsteht wie in einem Offline-Renderer: Lichtstrahlen werden physikalisch verfolgt, und mit jedem Durchgang wird es klarer. Ziehen Sie, um die Kamera zu drehen, wählen Sie das Gehäuse und stellen Sie Brennweite und Blende ein.

Standbild: ein Smartphone mit der Werk-App auf einem Schreibtisch, der Bildschirm wirft violettes Licht auf den Tisch, im Vordergrund eine Glaskugel mit weichem Schatten

Die Live-Demo benötigt JavaScript und WebGL 2 mit Float-Rendertargets. Das Bild zeigt ein fertig gerechnetes Einzelbild; die Erklärung unten ist auch ohne sie lesbar.

So funktioniert es

Für jedes Pixel wird ein Lichtweg rückwärts verfolgt: von der Kamera durch eine Linse mit echter Blende, an Tisch, Wand und Gehäuse vorbei, bis er eine Lichtquelle erreicht oder verlischt. Metall und Lack streuen nach einem Mikrofacetten-Modell (GGX), Glas bricht und spiegelt nach den Fresnel-Gleichungen. An jedem Treffer wird zusätzlich gezielt eine Lichtquelle angepeilt, auch der Bildschirm der App, der als Fläche selbst leuchtet (Next Event Estimation mit Multiple Importance Sampling).

Jeder Durchgang liefert pro Pixel eine zufällige Stichprobe; das Bild ist ihr Mittelwert und wird mit jedem Sample ruhiger (Monte-Carlo-Integration). Während Sie die Kamera bewegen, rechnet eine schnelle Vorschau mit weniger Bounces, ein Filter entlang von Kanten, Tiefe und Materialfarbe glättet sie. Sobald die Kamera ruht, sammelt der Renderer bis zur Konvergenz. Auflösung und Samples pro Bild passen sich der Bildrate an; die Farben stammen aus den Design-Tokens.