Was ist die "Dipolnäherung" für die Streuung unter der Oberfläche?

18

Wenn Sie Artikel über Streuung unter der Oberfläche lesen, stoßen Sie häufig auf Verweise auf etwas, das als "Dipol-Approximation" bezeichnet wird. Dieser Begriff scheint auf die Abhandlung Ein praktisches Modell für den unterirdischen Transport von Licht von Henrik Wann Jensen et al. Zurückzugehen, aber diese Abhandlung ist ziemlich schwer zu verstehen.

Kann jemand in relativ einfachen Worten erklären, was die Dipolnäherung ist und wie sie zur Darstellung der Streuung unter der Oberfläche verwendet wird?

Nathan Reed
quelle
1
Es ist in der Tat ein kompliziertes Papier (es gibt mir immer noch ab und zu Albträume!), Aber ich habe versucht, das Ganze ein wenig zu vereinfachen.
Sagen

Antworten:

23

Die Annahme, die einem solchen Modell zugrunde liegt, ist dieselbe wie bei vielen anderen Modellen für das Skin-Rendering. Die Streuung unter der Oberfläche kann als Diffusionsphänomen angenähert werden. Dies ist gut, da bei stark streuenden Medien die Lichtverteilung die Abhängigkeit vom Winkel verliert und zur Isotropie neigt.

Die Dipolnäherung ist eine Formulierung zur analytischen Lösung eines solchen Diffusionsproblems.

Grundsätzlich beginnen sie damit, die BSSRDF als Mehrfachstreu- und Einzelstreukomponente zu approximieren. Die Mehrfachstreuung ist dann definiert als:

Bildbeschreibung hier eingeben

Wobei Ft Fresnel-Terme sind und R das Diffusionsprofil ist, ausgedrückt als Funktion des Abstands zwischen dem Eintritts- und Austrittspunkt.

Dieses R wird als Diffusionsprofil bezeichnet und formulieren dieses Profil über eine Dipolapproximation. Der Beitrag des einfallenden Lichtstrahls wird als eine von zwei virtuellen Quellen angesehen: eine negative unter der Oberfläche und eine positive darüber (deshalb Dipol).

Bildbeschreibung hier eingeben

xich-xO

Dieses Modell berücksichtigt nur mehrere Streuereignisse, aber das ist gut genug für die Haut. Es muss jedoch beachtet werden, dass für einige durchscheinende Materialien (z. B. Rauch und Marmor) die Einzelstreuung von grundlegender Bedeutung ist. Dieses Papier schlägt eine einzelne Streuformulierung vor, ist jedoch teuer.

Das Diffusionsprofil wird normalerweise für die Echtzeitanwendung als eine Reihe von Gaußschen Unschärfen angenähert (wie in den grundlegenden Arbeiten von D'Eon et al. In GPU Gems 3, die dann für das SSSSS von Jimenez verwendet werden), um es für Echtzeitszenarien praktisch zu machen . In diesem wunderbaren Aufsatz finden sich Details zu einer solchen Annäherung. Ein Bild von diesem Papier zeigt tatsächlich, wie gut diese Formulierung ist:

Bildbeschreibung hier eingeben

Als Randnotiz geht die Dipol-Approximation davon aus, dass das Material halb unendlich ist, diese Annahme gilt jedoch nicht für dünne Platten und mehrschichtiges Material wie die Haut. Aufbauend auf der Dipolarbeit schlugen Donner und Jensen [2005] die mehrpolige Approximation vor, die die Dipolprobleme erklärt. Bei diesem Modell verwenden die Autoren anstelle eines einzelnen Dipols einen Satz von ihnen, um das Streuphänomen zu beschreiben. In einer solchen Formulierung können die Reflexions- und Durchlässigkeitsprofile erhalten werden, indem der Beitrag der verschiedenen beteiligten Dipole summiert wird


BEARBEITEN: Ich stelle hier die Antworten auf ein paar Fragen von @ NathanReed im Kommentarbereich:

Selbst mit der Annäherung an das Diffusionsprofil muss das BSSRDF-Modell noch über einen Radius von nahe gelegenen Punkten auf der Oberfläche integriert werden, um einfallendes Licht zu sammeln. Wie wird das zum Beispiel in einem Pfadfinder erreicht? Müssen Sie eine Datenstruktur erstellen, um Punkte auf der Oberfläche in der Nähe eines bestimmten Punkts abzutasten?

Die BSSRDF-Annäherung muss noch über einen bestimmten Bereich integriert werden, ja.

In dem Artikel verwendeten sie einen Montecarlo Ray-Tracer, der zufällig einen Punkt mit einer Dichte abtastet, die wie folgt definiert ist:

σtre-σtrd

Wo dieser Sigma-Wert der unten definierte effektive Extinktionskoeffizient ist (er ist abhängig vom Streu- und Absorptionskoeffizienten, die Eigenschaften des Materials sind) und d ist der Abstand zu dem Punkt, den wir bewerten. Diese Dichte ist auf diese Weise definiert, da der Diffusionsausdruck einen exponentiellen Abfall aufweist.

In [Jensen und Bühler 2002] schlugen sie eine Beschleunigungstechnik vor. Eines der Hauptkonzepte bestand darin, die Probenahme von der Auswertung des Diffusionsterms zu entkoppeln. Auf diese Weise führen sie eine hierarchische Auswertung der während der Abtastphase berechneten Informationen durch, um entfernte Abtastwerte zusammenzufassen, wenn es um die Auswertung der Diffusion geht. Die im Artikel beschriebene Implementierung verwendet einen Octree als Struktur. Diese Technik ist dem Papier zufolge um eine Größenordnung schneller als die vollständige Monte-Carlo-Integration.
Leider bin ich nie in eine Offline-Implementierung geraten, daher kann ich nicht mehr helfen.

In den Echtzeit-Summen-Gaußschen Näherungen wird implizit der richtige Radius eingestellt, wenn die Varianz der anzuwendenden Gaußschen Unschärfen definiert wird.

Warum ein positives und ein negatives Licht? Ist das Ziel für sie, sich gegenseitig zu stornieren?

Ja, die Dipolquellenmethode (die weit vor Jensens Veröffentlichung liegt) ist so definiert, dass sie eine bestimmte Randbedingung erfüllt. Im Einzelnen muss die Fluenz Null bei einer bestimmten hochgerechneten Grenze sein , die einen Abstand von der Oberfläche hat wo2EIND

Bildbeschreibung hier eingeben

Sein die Fresnel - Reflexionsvermögen der Platte in Betracht gezogen , und dass Sigma - Wert ist die reduzierten Extinktionskoeffizienten unten beschrieben.Fdr


EDIT2: Ich habe einige der Konzepte in dieser Antwort in einem Blog-Beitrag (ein kleines bisschen) erweitert: http://bit.ly/1Q82rqT


Für diejenigen, die keine Angst vor vielen griechischen Buchstaben in einer Formel haben, hier ein Auszug aus meiner These, in der das Reflexionsprofil in jedem Begriff kurz beschrieben wird:

Bildbeschreibung hier eingeben

cifz
quelle
Vielen Dank! Ich frage mich immer noch ein paar Dinge. (1) Auch mit der Diffusionsprofilnäherung muss das BSSRDF-Modell noch über einen Radius von nahe gelegenen Punkten auf der Oberfläche integriert werden, um einfallendes Licht zu sammeln. Richtig? Wie wird das zum Beispiel in einem Pfadfinder erreicht? Müssen Sie eine Datenstruktur erstellen, um Punkte auf der Oberfläche in der Nähe eines bestimmten Punkts abzutasten? Und (2) Warum ein positives und ein negatives Licht? Ist das Ziel für sie, sich gegenseitig zu stornieren?
Nathan Reed
1) Was sie in der Arbeit mit ihrem Monte Carlo Ray Tracer vorschlagen, ist eine stochastische Stichprobe mit einer spezifischen Dichte, die auf Distanz und Extinktionskoeffizient basiert. Ich vermute, Sie können dartwerfen, um Proben zu finden und eine angemessene Akzeptanzwahrscheinlichkeit basierend auf dem Extinktionskoeffizienten zu verwenden. und Entfernung. (1/2)
cifz
Ich weiß, dass Jensen im Jahr 2002 einen hierarchischen Integrationsansatz veröffentlicht hat, den ich leider vor einiger Zeit nur einmal gelesen habe, sodass ich mich nur an wenige Stellen erinnere. Das Kernkonzept bestand darin, die Probenahme von der Diffusionsnäherung und den clusterfernen Proben zu entkoppeln. IIRC verwendeten sie einen Octree als hierarchische Struktur. Ich habe mich nie in eine Offline-Implementierung verwickelt, daher kann ich bei anderen Details hier leider nicht so viel helfen. (2/2)
cifz
2) Auf diese Weise können Sie einige Randbedingungen erfüllen und möchten, dass die Fluenz an einer bestimmten extrapolierten Grenze, die einen bestimmten Abstand zum Medium hat, Null wird. Dieser Abstand wird basierend auf dem Streukoeffizienten und der Streualbedo berechnet.
CIFZ
@ NathanReed Lassen Sie mich wissen, wenn dies etwas geklärt hat, sonst kann ich versuchen, die Gedanken in diesem Kommentar in der Antwort selbst zu erweitern
cifz
3

Um die "Dipoltheorie" leicht zu verstehen, müssen wir zunächst verstehen, woher sie aus der "Diffusionstheorie" stammt.

Und es kommt von der Simulation des Lichttransports in beteiligten Medien durch Lösen der Radiance Transport Equation (RTE).

Die klassische Diffusionsnäherung löst die RTE, indem nur eine sphärische harmonische Ausdehnung erster Ordnung der Strahlung berücksichtigt wird. Wenn wir weiter annehmen, dass die Quellenfunktion eine isotrope Punktquelle mit Einheitsleistung in einem unendlichen homogenen Medium ist, gelangen wir zur klassischen Diffusions-Green-Funktion (Monopol).

Beim Rendern von durchscheinenden Materialien ist es zweckmäßig, dieses Problem in Analogie zum lokalen Oberflächenreflexionsintegral umzuformulieren. Dies führt zu einer Integralgleichung, die die ausgehende Strahlung Lo an Position und Richtung als eine Faltung der einfallenden Beleuchtung Li und der BSSRDF S über alle einfallenden Positionen und Richtungen berechnet.

Jetzt berücksichtigen wir mit der Diffusionsfunktion von Green nicht die Randbedingungen, die durch die Materialoberflächen vorgegeben werden. Diese Bedingungen können einfach gelöst werden, indem für jede positive Quelle innerhalb des Mediums eine gespiegelte negative Quelle außerhalb des Mediums platziert wird, so dass die Fluenz in einem extrapolierten Abstand über der Oberfläche auf Null gesetzt wird. Dies ist die Dipolnäherung.

Ohne Randbedingungen drückt sich unsere Fluenz also volumetrisch im Medium aus. Um Streuung unter der Oberfläche zu erzielen, müssen wir Licht berechnen, das verschiedene Punkte auf der Oberfläche hinterlässt. Dazu müssen wir Diffusionsprofile aufgrund eines Dipols berechnen, um die Richtungsableitung der Fluenz in Richtung der Oberflächennormalen zu bewerten.

Die jüngsten Fortschritte bei BSSRDF resultieren aus der Verlagerung des anfänglichen volumetrischen und partizipativen Medienansatzes mit Ad-hoc-Materialien, die die Randbedingungen auf der Oberfläche besser berücksichtigen.

Wie für die ..

Das BSSRDF-Modell erfordert weiterhin die Integration über einen Radius von nahe gelegenen Punkten auf der Oberfläche, um einfallendes Licht zu sammeln.

Ja, wir integrieren das Auflicht zusammen mit dem BSSRDF über alle Auflichtpositionen und -richtungen.

Jetzt können wir hier eine Brute-Force-Methode oder einen Dart-Wurf-Ansatz mit russischem Roulett anwenden. Aber beide sind naive Ansätze.

SSS wurde in Betrieb genommen (Pixar Renderman), als eine Approximationsmethode entwickelt wurde, die die hierarchische Lichtsammlung mithilfe einer Octree-Datenstruktur verwendet, um diffuses Licht zu backen, das in Clustern für die SSS-Berechnung verfügbar ist. Bei Renderman war dies aufgrund von REYES ein natürlicher Ansatz, sodass jedes aus REYES erzeugte Mikropoligon einfach in einen Punkt „gespritzt“ und in einen Oktree eingefügt werden konnte.

Eine zweite Welle von Verbesserungen stützt sich auf das festplattenbasierte Sampling (Arnold), das mittlerweile für viele SSS-Implementierungen der De-facto-Ansatz ist. Im Allgemeinen definieren wir ein Suchvolumen (Kugel), verteilen die Proben auf der Platte über der Oberfläche und untersuchen sie in normaler und orthogonaler Richtung, um alle Treffer innerhalb des Volumens zu finden.

Max Tarpini
quelle