Je voudrais ajouter la diffusion volumétrique Monte-Carlo complète à mon traceur de trajectoire, mais j'ai du mal à rechercher comment le faire. Permettez-moi d'expliquer ce que je voudrais faire: un rayon pénètre dans un matériau, et nous appliquons le BTDF, puis après une certaine distance, un événement de diffusion volumétrique se produit, après quoi (dans le cas isotrope), le rayon se diffuse dans n'importe quelle direction dans le sphère. Cela se répète jusqu'à ce que le rayon quitte le matériau avec un autre BTDF.
Mes questions sont les suivantes:
- Comment choisir la distance entre les événements de diffusion? L'intuition me dit qu'il devrait y avoir une sorte de scatter pdf, qui donne la probabilité de se disperser après une certaine distance?
- Serait-ce correct?
- Le pdf serait-il une fonction linéaire pour les matériaux isotropes?
- Cette fonction a-t-elle un nom ou quelque chose que je peux Google?
- Beer-Lambert s'appliquerait-il toujours entre les événements scatter?
- Je pense que non. Étant donné que Beer-Lambert est une simplification des calculs de diffusion réels.
- Là encore, peut-être que Beer-Lambert est un calcul à la micro-échelle, et le traçage de chemin est à une macro-échelle.
- Quel est l'équivalent volumétrique d'un BSDF? Il semble que je puisse utiliser une fonction de phase comme Henyey-Greenstein pour déterminer la nouvelle direction, mais que dois-je utiliser pour l'atténuation?
- Enfin, quelles sont les meilleures phrases Google pour la diffusion volumétrique Monte-Carlo?
- La recherche par diffusion volumétrique, ou SSS, finit par donner des articles, des méthodes et des articles de blog sur les simplifications de la simulation Monte-Carlo complète (dipôle, in-scattering, out-scattering, diffusion, etc.)
la source