Les bases de la programmation 3D
CHAPITRE 12
281
Plaquer une texture sur un objet
Le but de cette section est de vous apprendre ce que sont les coordonnées de texture,
comment appliquer une texture sur une face d’un objet, mais aussi comment l’appliquer
sur un objet tout entier.
Texturer une face d’un objet
Pour simplifier les choses, vous allez plaquer une première texture, non pas sur un cube,
mais sur une de ses faces. Nous allons travailler sur un simple carré.
La première chose à comprendre est la notion de coordonnées de texture. Le terme
« coordonnée de texture » désigne tout simplement une position au sein de la texture.
Cette position doit être comprise entre 0 et 1, le point d’origine étant placé sur le coin
supérieur gauche de la texture (figure 12-17). Ainsi, le coin inférieur gauche a pour coordonnées (0 ; 1) et le coin inférieur droit (1 ; 1).
Pour plaquer une texture, il faut associer chaque vertex à une paire de coordonnées de
texture. Ainsi, au lieu d’utiliser des vertices de type VertexPositionColor, nous allons
utiliser ceux de type VertexPositionTexture. Pour chaque vertex, définissez sa position à
l’écran via la propriété Position, mais aussi ses coordonnées de texture grâce à la propriété
TextureCoordinate.
Dans l’exemple suivant, à chaque sommet du carré, vous associez un coin de la texture.
private void InitializeVertices()
{
vertices = new VertexPositionTexture[8];
// Top left corner
vertices[0].Position = new Vector3(-1, 1, 0);
vertices[0].TextureCoordinate = new Vector2(0, 0);
// Bottom right corner
vertices[1].Position = new Vector3(1, -1, 0);
vertices[1].TextureCoordinate = new Vector2(1, 1);
Figure 12-17
Repère de coordonnées
de texture
=Labat FM.book Page 281 Vendredi, 19. juin 2009 4:01 16
Précédent

- 302/366

Suivant