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:
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).
∥ 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:
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:
σt re- σt rd
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 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: