vers l'index général de l'aide
vers la page générale des motifs
Il s'agit d'un motif particulier, applicable partout où un motif est demandé, qui, au lieu d'utiliser une color_map, va puiser des informations dans une image bitmap (en mode point).
POV-Ray 2.0 +sup.
image_map { png | tga | ... //type de fichier graphique, parmi ceux qui sont supportés "Nom_du_Fichier" [map_type Type] //Type = type de projection, 0,1,2,... [once] //force l'image à ne pas se répéter [interpolate Type_Interp] //type d'adoucissement de l'image [filter ... transmit ...] //transparence de l'image }
Voici l'image (bien pixellisée, pour faciliter la compréhension) que nous utiliserons pour les illustrations :
Les types de projection disponibles sont 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 |
On peut, pour les images comprenant une palette (généralement 256 couleurs), spécifier un taux de filter et de transmit pour chaque valeur d'index de la palette :
filter 12,.5 //un filter de 0.5 est appliqué à la couleur dont l'index est 12 transmit 45,.7 //idem pour transmit
Le mot clé all désigne toutes les couleurs de la palette à la fois, ce qui permet d'appliquer une transparence uniforme à l'ensemble de l'image, y compris les images sans palette.
filter all .2 //un filter de 0.2 est appliqué à toute l'image
Bien entendu, l'impossibilité d'appliquer filter sur du noir est toujours présente. Voyez la section consacrée aux transparences pour plus de détails.
Enfin, si votre image (PNG ou TGA) comprend un canal alpha, POV-Ray l'interprétera comme des valeurs de transmit.
sphere {<0,0,0>,5 pigment {image_map {png "rayures" 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).