Placage de texture
Par


 
 
Introduction :

Nous allons aujourd'hui nous intéresser à un sujet relativement complexe qui nous occupera pendant deux didacticiels : le placage de texture. Bien souvent, la texture en question est une image et nous aborderons donc également le problème du chargement d'images au format JPEG.

Le placage de texture

Le placage de texture est une technique permettant d'accroître le réalisme d'un rendu 3D. Vous en connaissez sans doute le principe : il consiste à coller une image sur un objet 3D à la manière d'une tapisserie. Dans l'exemple que je vous propose aujourd'hui, nous allons reprendre et modifier le cube tournant que nous avons créé dans un précédent tutoriel pour obtenir un cube en bois. Pour cela, nous allons 'coller' une image de bois sur chacune des faces du cube ( voir figure1).

Il est intéressant de noter que si dans notre cas l'image utilisée est chargée depuis un fichier au format JPEG, il est tout à fait possible d'utiliser des images calculées à partir de fonctions mathématiques. On parle alors de textures procédurales. Les textures procédurales les plus utilisées sont sans doute les textures de type « nuage » et « bruit de Perlin » (figure 2).

Contrairement à ce qu'on pourrait penser, les textures ne se bornent pas aux images en 2 dimensions. OpenGL permet également d'utiliser des textures 1D, peu intéressantes, et des textures 3D. S'il paraît difficile d'obtenir des images en 3 dimensions (bien que ce soit possible), les textures procédurales 3D sont courantes, et elles possèdent de nombreux avantages par rapport aux textures 2D, notamment en ce qui concernent la continuité des textures aux arêtes. Pour s'en convaincre, il suffit de comparer les figures 1 et 2. L'image collée sur chacune des faces du cube de la figure 1 est la même, et le sens des veinures du bois n'est pas cohérent. En revanche, sur la texture procédurale 3D de la figure 2, la continuité de la texture est assurée sur chacune des faces.

Nous implémenterons dans le prochain didacticiel une texture procédurale. Aujourd'hui, notre tâche va se décomposer en deux parties :

1- Lecture d'une image JPEG
2- Exploitation de l'image chargée par placage sur le cube

 

 
Figure 1 : Le programme du mois
  Figure 2 : Une texture procédurale 3D : le bruit de Perlin