Le placage de texture |
||||||||||||||||||||
DÉFINITION
|
Placage (ou plaquage, ou mappage) de texture: Technique visant à dessiner un objet de manière à ce que les surfaces apparaissant sur cet objet soient revêtues dune image. Problème : Attribuer une teinte à tout pixel appartenant à un objet en fonction :
Méthodologie On dispose dune surface paramétrique sur laquelle on désire plaquer une texture. Problème: Associer à chaque pixel de limage une couleur puisée dans limage à plaquer. Simplification: On considère le placage dune image sur une seule facette. Problème : Définir un changement de repère M(xfac,yfac,zfac) -> (xima,yima), permettant dassocier à chaque point de la facette, un point à lintérieur de limage à plaquer.
Exemple
|
|||||||||||||||||||
Implantation au sein des librairies graphiques Une méthode unique:
Opération de texturage gèrée de manière transparente par la librairie. Problème Placer la même texture sur plusieurs facettes jointives: -> des difficultés pour obtenir la continuité de la texture quand on passe dune facette à une autre.
Une même classe de problèmes se pose pour les objets paramétriques. L'utilisation des équations paramétriques fournit une solution au problème des discontinuités, mais produit des écrasements et des distensions tels que l'origine 2D de la texture est clairement visible. Exemple
Limage source est une bitmap. Chaque point p = (xima,yima) correspondant à un pixel pf = (xfac,yfac,zfac) de la facette sera naturellement associé à un pixel (xb,yb) d'une bitmap. Intérêt:
Inconvénient:
Evolutions
Exemple
Texture mathématique ou paramétrique Utilisation dune fonction Couleur(x,y) pour définir limage source. Chaque point p = (x,y) correspondant à un pixel pf = (xfac,yfac,zfac) de la facette permettra de calculer la couleur Couleur(x,y) du pixel pf. Les textures mathématiques sont fréquemment utilisées pour représenter des surfaces naturelles non régulières. Elles sont alors basées sur des fractales ou des fonctions de bruit Brownien fractionnaire approximées par des techniques à base de subdivision récursive. C'est par exemple le cas des textures à base de bruit de Perlin (Perlin Noise). Intérêt :
Inconvénient:
Exemples
Problème: Les textures définies précédemment peuvent laisser apparaître leurs origines 2D. Exemple: Le placage dune texture représentant du bois sur une sphère, un cône, un cube, montrera que la texture est peinte car elle ne fera pas apparaître correctement les veinures.
Solution: Utiliser une texture solide cest à dire une texture dans laquelle la fonction couleur nest plus une fonction de R2 mais une fonction de R3. A chaque point p = (x,y,z) de lespace global correspondant à un pixel affiché (xfac,yfac,zfac) sur une facette à lécran correspondra directement une couleur Couleur(x,y,z). La définition dune texture solide est généralement toujours mathématique, car le stockage dun espace voxel demande beaucoup de mémoire (pour un espace de 256 sur 256 sur 256 voxels en 24bits -> 256*256*256*3 = 48Mo).
Un vase
Un cube érodé
Une sphère érodée
Modulation de la normale : Bump Mapping La technique de Bump Mapping est basée sur une modulation de la normale (utilisée pour les calculs déclairement) permettant de faire apparaître des fluctuations d'éclairage sur des surfaces planes. On peut ainsi donner l'illusion d'un relief. Exemple On peut ainsi donner l'illusion d'un relief. Exemple
Image utilisée comme Bump
Résultat après placage sur des sphères Le placage de texture est très largement utilisé en synthèse d'images pour améliorer la qualité des vues obtenues. Le bump-mapping correspond plutôt à un souci de simplification des scènes par diminution du nombre de facettes et introduction d'un relief de surface simulé. Ces deux techniques sont assez gourmandes en temps de calcul et/ou en mémoire. |