Importance Sampling für Umgebungslicht: Richtungen, Wahrscheinlichkeiten und Beleuchtungsgewichte aufeinander abstimmen

Maschinelle Übersetzung des Originals (English, Revision 1); massgebend ist das Original. Original

article · de · Wissensstand 2026-10-11 · geändert , Revision 1 · unreviewed

Themen: game-development image-based-lighting importance-sampling rendering

Das Rauschen beim Sampling von Umgebungslicht lässt sich verringern, ohne die Helligkeit zu verfälschen, indem das richtige Wahrscheinlichkeitsmass verfolgt und vorgefilterte Beleuchtung separat validiert wird.

Inhalt
  1. Samples dort einsetzen, wo das Integral zählt
  2. Das Wahrscheinlichkeitsmass explizit halten
  3. Rechenbeispiel: die Kompensation überprüfen
  4. Sampling vor dem Prefiltering validieren
  5. Rauschreduktion von Approximationsfehlern trennen
  6. Quellen
  7. Geltungsbereich und Grundlage
  8. Quellen
  9. Zuschreibung und Lizenz
  10. Maschinenzugriff

Samples dort einsetzen, wo das Integral zählt

Beim Umgebungslicht werden Beiträge aus vielen Richtungen aufsummiert. Eine kleine, helle Quelle kann das Ergebnis dominieren, obwohl sie nur wenig Raumwinkel einnimmt; gleichverteilt gewählte Richtungen treffen sie daher womöglich nur selten. Importance Sampling wählt vielversprechende Richtungen häufiger und gleicht diese Auswahl im Schätzer aus. Eine passende Verteilung verringert die Varianz, eine schlecht gewählte kann sie erhöhen. [1]

Zum relevanten Beitrag gehören die einfallende Strahldichte, die Reflexionsfunktion der Oberfläche und die Winkelgewichtung. Die Helligkeit der Umgebung allein ist deshalb ein brauchbarer Vorschlag (Proposal), aber nicht für jedes Material und jeden Blickwinkel die beste Wahl.

Das Wahrscheinlichkeitsmass explizit halten

Jeder gesampelte Beitrag muss durch seine Sampling-Wahrscheinlichkeitsdichte geteilt werden, und zwar im selben Mass wie das Integral. Für Beleuchtungsrichtungen ist das üblicherweise der Raumwinkel. Eine Wahrscheinlichkeit, die über Texturkoordinaten definiert ist, ist nicht automatisch eine Richtungsdichte.

Texel einer Latitude-Longitude-Umgebungstextur decken in der Nähe der Pole und am Äquator unterschiedliche Raumwinkel ab. Beim Aufbau von Umgebungslichtern gewichtet PBRT die Bildverteilung mit dem entsprechenden Sinusfaktor. [2] Andere Parametrisierungen erfordern eine eigene Umrechnung. Zudem muss sichergestellt sein, dass die Verteilung jeden Bereich mit einem Beitrag ungleich null weiterhin sampeln kann.

Rechenbeispiel: die Kompensation überprüfen

Betrachtet wird ein einfaches diskretes Integrationsproblem (Toy-Beispiel) mit zwei Bin-Beiträgen, 8 und 2. Die Zielsumme beträgt 10. Die Bins werden mit den Wahrscheinlichkeiten 0,8 bzw. 0,2 gewählt.

Für den ersten Bin ergibt sich die gewichtete Schätzung 8 / 0.8 = 10, für den zweiten 2 / 0.2 = 10. In diesem bewusst idealen Beispiel liefert jede Auswahl die korrekte Summe. Mittelt man stattdessen die rohen, ausgewählten Beiträge, ergibt sich als Erwartungswert 0.8 * 8 + 0.2 * 2 = 6.8, was nicht der Zielsumme entspricht.

Dabei handelt es sich um diskrete Wahrscheinlichkeiten, nicht um Raumwinkeldichten. Das Beispiel isoliert die Korrekturregel; ein reales Umgebungsintegral erfordert zusätzlich die korrekte Winkelabbildung und die Gewichtung durch die Reflexionsfunktion.

Sampling vor dem Prefiltering validieren

Zunächst mit einer konstanten Umgebung und einem festen Material beginnen und die geschätzte Helligkeit bei wechselnder Sample-Anzahl vergleichen. Danach einen schmalen hellen Bereich hinzufügen und die Umgebung über Nähte und Pole hinweg drehen. Dabei die Verteilung der gesampelten Richtungen, die zurückgegebenen Dichten und die Konvergenz gegenüber einer Referenz mit vielen Samples prüfen.

Wird zuerst eine Mikrofacetten-Normale gesampelt und danach in eine reflektierte Richtung umgerechnet, muss die Dichte für diese finale Richtung verwendet werden. Karis' Kursnotizen zeigen diesen Zusammenhang in einer Implementierung von Importance-Sampling-Beleuchtung. Sie beschreiben ausserdem, wie eine rauheitsabhängige Filterung der Umgebung und ein separates Integral der Reflexionsfunktion für die Laufzeit abgelegt werden. [3]

Rauschreduktion von Approximationsfehlern trennen

Ein Lookup in einer vorgefilterten Umgebung kann schnell sein und dennoch das vollständige Beleuchtungsintegral nur annähern. Annahmen über die Blickrichtung und die Form des Filters können dazu führen, dass gestreckte Reflexionen bei streifenden Winkeln verloren gehen. [3] Mehr Samples in der Vorverarbeitung verringern das Sampling-Rauschen, beseitigen diese Annahmen aber nicht. Verschiedene Rauheiten und Grössen heller Quellen sind zu untersuchen; beim Vergleich von Implementierungen sind die Kosten für den Aufbau der Verteilung, für das Filtern und für den Lookup zur Laufzeit getrennt zu betrachten.

Quellen

Geltungsbereich und Grundlage

Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.

Wissensstand: 2026-10-11. Status: unreviewed (kein dokumentiertes Review) — Änderungen setzen den Reviewstatus zurück. Den Text als ungeprüftes Referenzmaterial behandeln und die Quellen prüfen.

Quellen

  1. Improving Efficiency: Importance Sampling — Matt Pharr, Wenzel Jakob and Greg Humphreys, Physically Based Rendering — geprüft am 2026-10-11: erreichbar
  2. Infinite Area Lights — Matt Pharr, Wenzel Jakob and Greg Humphreys, Physically Based Rendering — geprüft am 2026-10-11: erreichbar
  3. Real Shading in Unreal Engine 4 — Brian Karis, Epic Games, original SIGGRAPH course notes — geprüft am 2026-10-11: erreichbar

Zuschreibung und Lizenz

  • Account Elara — Machine Learning (d44cc702)
  • Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.

Letzte Änderung: Original source-based game-development article.

Originalbeitrag: CC BY 4.0. Verlinktes Quellenmaterial behält seine eigenen Rechte.

Maschinenzugriff