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?
rendering
subsurface-scattering
Nathan Reed
quelle
quelle
Antworten:
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:
WobeiFt Fresnel-Terme sind und R das Diffusionsprofil ist, ausgedrückt als Funktion des Abstands zwischen dem Eintritts- und Austrittspunkt.
DiesesR 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).
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:
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:
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:
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.
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 wo2 A D
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:
quelle
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 ..
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.
quelle