Les gens trouvent souvent un problème ennuyeux lors de l'application de modèles modificateurs de normale à des objets. Il est dit qu'une image vaut un long discours, et cela s'applique ici. Cette image montre deux cas où ce problème apparaît :

Comme vous le notez, il y a deux artefacts évidents dans l'image. La sphère a une ombre rectiligne qui semble non naturelle, et le maillage a une ombre non rectiligne alors qu'elle est supposée en avoir une.
Bien que les artefacts semblent assez différents dans leur nature, ils sont, en fait, causés par le même problème.

On pourrait s'attendre à quelque chose comme cette image (ne faites pas attention à la partie claire sous le maillage de triangles; ce sera expliqué plus tard).
Commençons par la sphère avec sa normale perturbée, parce que c'est le plus simple à expliquer.

Cette image montre graphiquement ce qui arrive.
Le problème arrive sur le "côté obscur" de l'objet, c'est à dire la face qui ne "voit" pas la source de lumière.
Bien que la normale de surface pointe en s'éloignant de la source de lumière (c.a.d. son angle est >90 degrés avec la source de lumière), la normale des points perturbés pointe vers elle (c.a.d. son angle est <90 degrés) et donc, en accord avec le vecteur de normale, la source de lumière devrait éclairer le point en question.
Toutefois, quand il fait son test d'ombre, POV-Ray voit que le rayon de test coupe la surface (dans ce cas, la surface de la même sphère, mais de "l'autre côté"). Alors il décide que la surface en question ombre le point en cours, et donc que la source de lumière ne l'illumine pas.
C'est ce qui cause l'ombre rectiligne exactement où la normale de surface (non perturbée) est exactement à 90 degrés de la source de lumière.
Le problème avec le maillage est plus difficile, mais très similaire (et causé par exactement le même problème).

Cette image montre graphiquement ce qui arrive.
Bien qu'il n'y ait pas de perturbation de normale explicite, le fait que la surface soit un maillage de triangles adoucis signifie qu'il y a une perturbation de normale implicite.
Dans le but d'obtenir une apparence adoucie, chaque sommet a un vecteur de normale et le vecteur de normale de tout point de la surface est calculé par interpolation des vecteurs de normale des sommets.
Là le problème arrive quand la ligne d'ombre doit passer à travers un triangle et que la normale non perturbée de ce triangle pointe en s'éloignant de la source de lumière. Comme vu dans la figure, un triangle qui est proche de la source de lumière ombrera le point du triangle en cours (ce n'est pas nécessairement le triangle adjacent, mais si le maillage est fermé, un triangle ombrera sûrement le point en question).
Cela signifie que ce triangle infortuné sera complètement ombré, provoquant un artefact triangulaire sur la ligne d'ombre du maillage.

L'image sur la gauche montre plus clairement pourquoi la ligne d'ombre du maillage de triangles adoucis est comme elle apparaît sur la première image de cette page.
L'objet à gauche est le même maillage de triangle, mais avec des triangles plats, et l'objet sur la droite est le même objet que celui sur l'image en début de page.
Notez comment les triangles ombrés du maillage plat correspondent exactement aux artefacts dans la ligne d'ombre du maillage adouci. La raison de ceci a été expliquée dans la figure précédente.
Et comment corriger le problème dans la seconde image au début de cette page ?
Premièrement, ne pensez pas que c'est un défaut de POV-Ray. Ce n'est pas un défaut, mais un réel problème causé par le modèle d'illumination utilisé par le moteur de rendu qui est assez difficile à contourner. Ce n'est pas un problème particulier à POV-Ray, mais un problème dans le raytracing en général. Chaque raytraceur aura ce problème lors de l'utilisation de normales de surface perturbées (sauf s'il y a une correction de code).
Les normales de surface perturbées sont utilisées, en fait, pour simuler la perturbation de la surface elle-même. Lors du calcul de l'illumination de l'objet, la perturbation de normale de surface donnera l'impression que la surface elle-même est perturbée (ex. dans les images du début de cette page, la sphère ressemble à une surface bosselée).
Dans les maillages de triangles, l'interpolation de la normale est utilisée pour simuler la courbure de la surface (une courbure qui n'est pas là actuellement).
Toutefois, puisque la perturbation du vecteur de normale n'affecte pas la surface elle-même, cette sorte d'artefact est le prix à payer (une autre conséquence est que même si la surface paraît bosselée ou adoucie, sa silhouette paraîtra tranchée ou à facettes, mais ceci n'est habituellement pas un gros problème).
C'est un réel problème qui arrive même aux meilleurs. Par exemple, voyez ceci Image gagnante du IRTC. Notez l'ombre rectiligne sur les rochers (spécialement sur le plus proche) ?
Toutefois, il y a certaines choses qui peuvent être faites pour alléger le problème.
1) Donc que dois-je faire pour avoir la seconde image du début de cette page ?
J'ai juste rendu les objets sans ombres. Cela débarasse du problème des surfaces ombrant le mauvais point.
Ceci, bien sûr, a de sévères désavantages. Puisque l'objet ne porte pas d'ombres, il ne peut probablement pas être utilisé dans une scène réelle (Bien que le fait d'avoir rendu les rochers sans ombres dans l'image gagnante de l'IRTC, mentionnée au-dessus, aurait peut-être un peu aidé l'image sans la rendre trop irréaliste).
Avec les maillages de triangles adoucis, cela introduit un autre artefact, qui peut être vu dans la seconde image au début de cette page. Je ne connais pas le mécanisme exact de cet artefact, mais c'est une conséquence directe des maillages sans ombres (cela peut avoir quelque chose à voir avec le fait que les triangles adoucis sont doublement illuminés dans POV-Ray).
2) Peut-être une future version de POV-Ray ou une de ses corrections peut introduire une méthode pour stopper l'auto-ombrage (tout en continuant de porter des ombres sur les autres objets).
Cela permettrait de surmonter le problème des objets complètement sans ombre, puisque ces objets peuvent être utilisés dans des scènes, et ils porteront des ombres sur les autres objets sans avoir l'artefact de la ligne d'ombre.
Toutefois, cette solution ne s'applique que sur une petite série d'objets (des objets principalement convexes). Les objets où l'auto-ombrage est essentiel (imaginez une tasse de café, par exemple) auront toujours des problèmes.
3) J'ai proposé cet algorithme sophistiqué pour se débarasser du problème :
Lors des tests d'ombrages, faire la chose suivante :
Si nous voulons être plus sûrs, nous pouvons vérifier aussi si nous avons touché la partie interne de la surface de ce point d'intersection avant de l'ôter. Cela peut être nécessaire pour les surfaces non fermées.
Cet algorithme éliminera les artefacts de ligne d'ombre sans éliminer l'ombrage et l'auto-ombrage de l'objet.
Il a son défaut, bien sûr :
| 2.4.9 L'artefact du triangle adouci |