Je ne sais pas si les ombres douces de la vie réelle (provenant de sources lumineuses proches et grandes) ont une atténuation gaussienne ou linéaire, ou autre chose.
Je travaille sur quelque chose où je peux créer les ombres en manipulant une sorte de texture de dégradé pré-rendu, donc je n'ai pas à me fier aux tampons d'images et aux techniques d'ombrage traditionnelles. Je prévois de cuire le dégradé dans un canal de la texture de mon maillage, puis de manipuler les valeurs en fonction de la quantité d'ombre couvrant chaque quad. Cela est possible parce que je n'ai que des quads alignés comme un zigzag où chaque pic peut projeter une ombre sur le quad adjacent suivant.
Une atténuation linéaire serait donc plus facile (il suffit de soustraire une valeur à un gradient linéaire), mais j'ai du mal à dire ce qui semble réellement réaliste. Existe-t-il une formule mathématique simple qui pourrait être appliquée à un gradient linéaire pour extraire une approximation gaussienne?
Réponses:
Les ombres douces réelles ont une forme qui dépend de la forme de la source de lumière telle qu'elle apparaît du point de vue de la surface ombrée. En effet, les pénombre se produisent en raison de l'occlusion partielle de la source de lumière du point de vue de la surface ombrée. La forme de l'ombre est donc quelque chose comme la forme de l'obturateur convolué avec la forme de la source lumineuse.
Par exemple, le soleil nous apparaît comme un disque, donc les ombres douces dues au soleil sont convolues efficacement avec un filtre à disque. L'atténuation qui en résulte est, dans de nombreux cas, d'apparence similaire à celle d'un gaussien, ce qui peut expliquer pourquoi les gaussiens sont populaires pour le filtrage des ombres.
L'atténuation gaussienne est également très similaire en apparence à la fonction smoothstep , qui est assez peu coûteuse à évaluer et pourrait être un bon choix pour votre shader.
La dépendance de la forme de l'ombre sur la forme de la source lumineuse est démontrée de la manière la plus spectaculaire lors d'une éclipse solaire. Cette photo de l'utilisateur Flickr Cantavestrella, par exemple, a été prise lors d'une éclipse partielle il y a quelques années . L'éclipse a entraîné un croissant de soleil visible entourant la lune, et en conséquence, les ombres d'un arbre montrent une forme de croissant où les feuilles de l'arbre forment un trou d'épingle.
la source