Si vous lisez des articles sur la diffusion souterraine, vous rencontrerez fréquemment des références à quelque chose appelé "approximation dipolaire". Ce terme semble revenir à l'article Un modèle pratique pour le transport de lumière souterraine par Henrik Wann Jensen et al, mais cet article est assez difficile à comprendre.
Quelqu'un peut-il expliquer en termes relativement simples ce qu'est l'approximation dipolaire et comment elle est utilisée dans le rendu de la diffusion souterraine?
rendering
subsurface-scattering
Nathan Reed
la source
la source
Réponses:
L'hypothèse sous-jacente à ce modèle est la même que celle de nombreux autres modèles de rendu de peau; la diffusion souterraine peut être approchée comme un phénomène de diffusion. C'est bien car dans les milieux très diffusants, la distribution de la lumière perd sa dépendance de l'angle et tend à l'isotropie.
L'approximation dipolaire est une formulation pour la résolution d'un tel problème de diffusion d'une manière analytique.
Fondamentalement, ils commencent par approximer le BSSRDF en tant que composant de diffusion multiple et de diffusion unique. La diffusion multiple est alors définie comme:
Où sont des termes de Fresnel et est le profil de diffusion exprimé en fonction de la distance entre le point d'entrée et le point de sortie.Ft R
Ce est appelé profil de diffusion et ils formulent ce profil via une approximation dipolaire. La contribution du rayon lumineux entrant est considérée comme l'une des deux sources virtuelles: une négative sous la surface et une positive au-dessus (c'est pourquoi le dipôle)R
Ici dans l'image r est leau dessus. La contribution de ces sources de lumière dépend de divers facteurs tels que la distance de la lumière à la surface, le coefficient de diffusion, etc. (voir ci-dessous pour une description plus détaillée de la formule elle-même).∥ xje- xo∥
Ce modèle ne prend en compte que plusieurs événements de diffusion, mais c'est assez bien pour la peau. Il faut cependant noter que pour certains matériaux translucides (par exemple la fumée et le marbre) la diffusion unique est fondamentale. Cet article propose une formulation de diffusion unique, mais est coûteux.
Le profil de diffusion est généralement approximé pour une application en temps réel sous la forme d'une série de flous gaussiens (comme dans les travaux fondateurs de D'Eon et al. Dans GPU Gems 3 puis utilisés pour le SSSSS de Jimenez) afin de le rendre pratique pour des scénarios en temps réel . Dans ce merveilleux article, il y a des détails sur une telle approximation. Une image de cet article montre à quel point cette formulation est bonne:
Comme note latérale, l'approximation dipolaire suppose que le matériau est semi-infini, mais cette hypothèse ne tient pas avec les dalles minces et les matériaux multicouches tels que la peau. S'appuyant sur les travaux dipolaires, Donner et Jensen [2005] ont proposé l'approximation multipolaire qui tient compte des problèmes dipolaires. Avec ce modèle au lieu d'un seul dipôle, les auteurs en utilisent un ensemble pour décrire le phénomène de diffusion. Dans une telle formulation, les profils de réflectance et de transmittance peuvent être obtenus en résumant la contribution des différents dipôles impliqués
EDIT: Je mets ici les réponses à quelques questions de @NathanReed dans la section des commentaires:
Oui, l'approximation BSSRDF doit encore être intégrée sur une certaine zone.
Dans l'article lié, ils ont utilisé un traceur de rayons Montecarlo échantillonnant au hasard autour d'un point avec une densité définie comme:
Lorsque cette valeur sigma est le coefficient d'extinction effectif défini ci-dessous (il dépend du coefficient de diffusion et d'absorption, qui sont les propriétés du matériau) et d est la distance jusqu'au point que nous évaluons. Cette densité est ainsi définie car le terme de diffusion a une chute exponentielle.
Dans [Jensen et Buhler 2002], ils ont proposé une technique d'accélération. L'un des principaux concepts était de dissocier l'échantillonnage de l'évaluation du terme de diffusion. De cette façon, ils effectuent une évaluation hiérarchique des informations calculées pendant la phase d'échantillonnage pour regrouper des échantillons distants lorsqu'il s'agit d'évaluer la diffusion. L'implémentation décrite dans l'article utilise un octree comme structure. Cette technique, selon l'article, est d'un ordre de grandeur plus rapide que l'intégration complète de Monte Carlo.
Malheureusement, je ne me suis jamais lancé dans une implémentation hors ligne, donc je ne peux pas aider plus que cela.
Dans les approximations de la somme des Gaussiennes en temps réel, le rayon correct est implicitement défini lors de la définition de la variance des flous gaussiens qui doivent être appliqués.
Oui, la méthode de la source dipolaire (qui date bien avant l'article de Jensen) est définie de manière à satisfaire une condition aux limites. Plus précisément, la fluence doit être nulle à une certaine limite extrapolée qui a une distance de la surface de où2 A D
Étant la réflectivité de Fresnel de la dalle considérée et cette valeur sigma est le coefficient d'extinction réduit décrit ci-dessous.Frér
EDIT2: J'ai développé (un tout petit peu) certains des concepts de cette réponse dans un article de blog: http://bit.ly/1Q82rqT
Pour ceux qui ne sont pas effrayés par beaucoup de lettres grecques dans une formule, voici un extrait de ma thèse où le profil de réflectance est brièvement décrit dans chaque terme:
la source
Pour comprendre facilement la «théorie dipôle», nous devons d'abord comprendre d'où elle vient de la «théorie de la diffusion».
Et cela vient de la simulation du transport de la lumière dans les médias participants en résolvant l'équation de transport de radiance (RTE).
L'approximation de diffusion classique résout le RTE en considérant uniquement une expansion harmonique sphérique de premier ordre du rayonnement. Si nous supposons en outre que la fonction source est une source ponctuelle isotrope de puissance unitaire dans un milieu homogène infini, nous arrivons à la fonction classique de Green de diffusion (monopôle).
Lors du rendu de matériaux translucides, il est commode de reformuler ce problème par analogie avec l'intégrale de réflexion de surface locale. Il en résulte une équation intégrale qui calcule le rayonnement sortant, Lo, à la position et la direction comme une convolution de l'illumination incidente, Li, et le BSSRDF, S, sur toutes les positions et directions incidentes.
Maintenant, avec la fonction de diffusion de Green, nous ne tenons pas compte des conditions aux limites imposées par les surfaces des matériaux. Ces conditions peuvent être simplement gérées en plaçant une source négative en miroir à l'extérieur du milieu pour chaque source positive à l'intérieur du milieu de telle sorte que la fluence soit mise à zéro à une distance extrapolée au-dessus de la surface. Il s'agit de l'approximation dipolaire.
Donc, sans conditions aux limites, notre fluence est exprimée volumétriquement dans le milieu. Pour rendre la diffusion souterraine, nous devons calculer la lumière en laissant divers points sur la surface. Pour cela, nous devons calculer les profils de diffusion dus à un dipôle afin d'évaluer la dérivée directionnelle de la fluence dans la direction de la normale de surface.
Les dernières avancées sur BSSRDF proviennent du changement de l'approche volumétrique initiale et des médias participants avec des éléments ad hoc qui prennent mieux en compte les conditions aux limites de la surface.
En ce qui concerne la ..
Oui, nous intégrons la lumière incidente au BSSRDF sur toutes les positions et directions d'incident.
Nous pouvons maintenant adopter ici une méthode de force brute ou une approche de lancer de fléchettes avec le roulet russe. Mais ce sont deux approches naïves.
SSS est entré en production (Pixar Renderman) lorsqu'une méthode d'approximation a été développée pour utiliser la collecte de lumière hiérarchique en utilisant une structure de données octree où cuire un éclairage diffus pour être disponible en grappes pour le calcul SSS. Avec Renderman, c'était une approche naturelle en raison de REYES, de sorte que chaque micropoligon généré à partir de REYES pouvait être facilement «éclaboussé» en un point et inséré dans un octree.
Une deuxième vague d'améliorations repose sur l'échantillonnage d'importance basé sur disque (Arnold) qui est maintenant l'approche de facto pour de nombreuses implémentations SSS dans le monde. Généralement, nous définissons un volume de recherche (sphère), distribuons des échantillons sur le disque au-dessus de la surface et sondons le long des directions normales et des directions orthogonales pour trouver tous les hits à l'intérieur du volume.
la source