vers l'index général de l'aide
vers l'index des matériaux
Une texture peut être simplement le regroupement d'un pigment, un finish et une normal, mais également abriter des structures plus complexes.
#declare MaTexture01 = texture { pigment {Red filter .5} normal {dents .4 scale .1} finish {reflection .7 phong .2} scale 2 rotate <30,5,12> }
On peut utiliser n'importe quel motif existant pour créer un enchevêtrement de textures différentes, comme on le fait avec les couleurs qui composent un pigment. Le mot clé texture_map joue alors un rôle similaire à celui de color_map.
#declare BozoTex = texture { bozo texture_map { [0.0 Tex1] [0.2 texture {pigment {Red} finish {phong .7}}] [0.4 BoisClair] [1.0 Tex1] } }
Les éléments de la texture_map peuvent être des identificateurs de textures prédéfinis (comme "BoisClair"), ou une définition directe de texture. Il est beaucoup plus pratique de travailler avec des textures préalablement définies.
Les motifs qui travaillent avec des listes (sans "map") s'utilisent de cette façon :
#declare Carrelage = texture { checker texture {T_Grnt9} texture {T_Stone10} }
Les textures peuvent être disposées en "couches" successives sur les objets. Il suffit de déclarer les couches les unes après les autres, comme ceci :
object {... texture {Tex1} //couche de "fond" texture {Tex2B} //première texture ajoutée texture {PetitesTaches} //et ainsi de suite... ... }
Bien entendu, on a intérêt à ce que les couches deviennent de plus en plus transparentes.
Attention : une texture formée de couches de textures ne peut pas faire partie d'une texture_map.
Bienvenue à l'atelier marqueterie ! En effet, une material_map permet d'utiliser une image (et ses valeurs d'index) comme référence pour la juxtaposition de plusieurs textures. Il suffit de spécifier quelle texture sera attribuée à quelle valeur d'index, et les couleurs de l'image seront miraculeusement remplacées par vos textures.
Pour l'utilisation détaillée des différents modes de plaquage des images sur un objet, voyez la section "image_map".
object {... texture { material_map { png "machin.png" //paramètres spécifiques au plaquage de l'image interpolate 2 //.. once //.. texture { BoisClair } // texture de l'index 0 de la palette texture { pigment { Red } } // ... index 1 texture { Marbre12 } // ... index 2 texture { Chrome_Metal } // ... index 3 ... } } }
On comprend aisément, vu la syntaxe, qu'on a intérêt à travailler avec peu de textures différentes (et à bien contrôler l'index de sa palette).
auteur : Fabien Mosen