vers l'index général de l'aide - index des matériaux

texture

texture est une structure qui permet de regrouper des définitions de pigment, normal et finish, et permet également d'autres manipulations.

texture {...}

Voici la forme la plus classique d'une texture :

texture {
 pigment {...}
 normal {...}
 finish {...}
}

La principale utilité de cette structure est de déclarer tout un ensemble de définitions plus ou moins complexes d'un seul coup :

#declare MaTexture = 
texture {
 pigment {...}
 normal {...}
 finish {...}
}

object {...
        texture {MaTexture} 
       }

Bien entendu, toutes les sous-structures ne doivent pas forcément être présentes, et on peut très bien 'compléter' une texture au moment où on l'appelle :

#declare MaTexture =
 texture {
  pigment {Red}
  normal {crackle .5}
}

object {...
        texture {MaTexture} 
        finish {reflection {.1 .5}}
}

Mais vous ne pouvez pas, par exemple, modifier la couleur du pigment qui était défini dans la texture !

texture avec motif et palette de textures

Équivalent du pigment_map pour les pigments, voici texture_map :

texture {
 gradient y
 texture_map {
   [0.0 MaTexture1]
   [0.5 pigment {Red} finish {phong .7}]
   [1.0 MaTexture2]
 }
}

texture avec material_map

Ce type particulier de texture permet de répartir des textures sur une surface, dont les zones sont déterminées par les couleurs d'une image bitmap.

texture {
 material_map {
           png / tga / ppm / pgm / jpeg / tiff / sys 
           "Nom_du_Fichier"
           (map_type 0 / 1 / 2 / 5)
           (once)

 }
 texture {...} //texture pour l'index 0
 texture {...} //texture pour l'index 1
 texture {...} //texture pour l'index 2
 ...
}

Pour la première partie de la syntaxe, voyez la page du motif image_pattern.

Lorsque l'image ne comporte pas de palette indexée, c'est la composante rouge qui détermine la valeur d'une zone (entre 0 et 255).

De nos jours, cette structure est plutôt obsolète, et sera avantageusement remplacée par une texture_map utilisant le motif image_pattern.

textures 'en couches'

On peut superposer des textures différentes, très simplement, en spécifiant les textures les unes après les autres, en allant des plus opaques aux plus transparentes (sinon ça ne sert pas à grand chose !) :

object {Palissade
         texture {Bois} 
         texture {Peinture_Ecaille}
       }