vers l'index général de l'aide - vers l'index des matériaux - vers l'index des motifs
Ce motif tire ses valeurs d'une image bitmap. C'est une généralisation du principe de l'image_map.
POV-Ray 3.5
pigment { // par exemple... image_pattern { png / tga / ppm / pgm / jpeg / tiff / sys "Nom_du_Fichier" (map_type 0 / 1 / 2 / 5) (once) (interpolate 2 / 4) (use_alpha) } }
Voici l'image (bien pixellisée, pour faciliter la compréhension) que nous utiliserons pour les illustrations :
Le premier mot clé spécifie le type d'image utilisé, parmi ceux disponible. Il est suivi du nom du fichier, avec ou sans extension. Voyez la page des formats bitmaps pour plus de détails.
map_type permet de spécifier le mode de projection parmi les suivants :
type 0 : (par défaut, s'il n'est pas spécifié) projection plane, l'image est projetée sur le rectangle <0,0,0>,<1,1,0>, comme si un projecteur se trouvait du côté de -z, et projetait vers +z.
type 1 : projection sphérique, l'image est projetée dans toutes les directions (à 360°) à partir de l'origine <0,0,0>. La jonction entre les bords droit et gauche de l'image se fait sur l'axe +x. Attention, même si ce plaquage est appliqué sur une sphère, la projection se fait toujours à partir de l'origine, peu importe le centre de la sphère (veillez donc à les faire coïncider).
type 2 : projection cylindrique, l'image est projetée à partir de l'axe y, à 360° autour de cet axe, la hauteur de l'image étant située entre y=0 et y=1. La jonction entre les bords droit et gauche de l'image se fait sur l'axe +x.
types 3 et 4 : sont "en développement" depuis POV-Ray 1.0 !! Passons...
type 5 : projection toroïdale, l'image est projetée à partir du grand rayon (de valeur 1) d'un tore horizontal, centré sur l'origine (un tore qui n'a pas été déplacé, quoi !). Le dessus et le dessous de l'image se rejoignent à l'intérieur du tore.
once ("une fois") indique à POV-Ray qu'il ne doit pas répéter le motif au-delà d'une seule projection de l'image. Ceci est valable pour les projections planes et cylindriques (et n'a pas de sens pour les autres).
interpolate permet de venir à bout des limites nettes entre les pixels d'une image, en produisant des couleurs intermédiaires calculées d'après les pixels voisins. interpolate 2 enclenche l'interpolation "bilinéaire", interpolate 4 enclenche l'interpolation par "distance normalisée", (un chouïa) plus rapide mais moins "juste".
![]() | ![]() |
bilinéaire | distance normalisée |
Enfin, si votre image (PNG ou TGA) comprend un canal alpha, l'emploi du mot clé use_alpha indiquera à POV-Ray d'utiliser celui-ci plutôt que l'image elle-même pour trouver ses valeurs. Cette option est utile pour créer des "masques" dans des structures plus complexes telles que texture_map.
sphere {<0,0,0>,5 pigment {image_pattern {png "rayures.png" map_type 1 interpolate 2}}}
Le fameux "UV-mapping", qui permet de plaquer une image en suivant les circonvolutions d'une surface (et pas par projection "au travers") n'est pas détaillé ici, car ce n'est pas un motif (il n'existe pas dans les trois dimensions) et sa syntaxe est très différente. Une section particulière lui est donc consacrée.
Attention aux transformations (rotate, scale,...), prenez soin de bien structurer la définition de la texture comprenant un plaquage, afin que l'image suive bien l'objet comme voulu, malgré les contraintes décrites plus haut (le cas de la sphère, par exemple).