Partager via


Présentation des textures et des images

Les textures et les images, à un niveau de base, sont uniquement des tableaux de données procurant des détails visuels dans les applications graphiques. Le type de détail fourni par une texture ou une image dépend de son utilisation. Par exemple, citons les échantillons de couleur, les valeurs alpha (transparentes), les normales à la surface, ou encore les valeurs de hauteur. Quelle est la principale différence entre une texture et une image ? Une texture est conçue pour être utilisée avec la représentation d’une forme (généralement un modèle 3D) pour exprimer un objet ou une scène complets, tandis qu’une image est une représentation autonome d’un objet ou d’une scène.

Une texture peut être encodée et compressée de plusieurs manières orthogonales par rapport au type de données contenu dans une texture, à la dimensionnalité ou à la « forme » de la texture. Toutefois, différentes méthodes d’encodage et de compression offrent de meilleurs résultats pour différents types de données.

Vous pouvez utiliser l’éditeur d’images pour créer et modifier des textures et des images avec des méthodes qui ressemblent à d’autres éditeurs d’images. L’éditeur d’images fournit également le mipmapping et d’autres fonctionnalités pour les graphiques 3D. Il prend en charge un grand nombre des formats de textures fortement compressés et à accélération matérielle que DirectX prend en charge.

Note

L’Éditeur d’images ne prend pas en charge les images présentant une couleur faible, comme les icônes ou les curseurs. Pour créer ou modifier ces types d’images, utilisez l’outil Éditeur d’images pour les icônes (C++).

Les types classiques de textures incluent les formats suivants :

Mappages de texture

Les mappages de texture comportent des valeurs de couleur organisées en matrice uni-, bi- ou tridimensionnelle. Elles fournissent des détails de couleur sur l’objet affecté. Le groupe des couleurs, souvent codé à l’aide de canaux de couleurs RVB (rouge, vert, bleu), peut comporter une quatrième composante, alpha, qui représente la transparence. Plus rarement, les couleurs peuvent être codées suivant un modèle différent, ou le quatrième canal peut contenir des données non alpha, par exemple de hauteur.

Mappages de normales

Les mappages de normales comportent des normales à la surface. Elles fournissent des détails d’éclairage sur l’objet affecté. Généralement, les normales sont codées suivant le modèle RVB (rouge, vert, bleu), ceci pour stocker les dimensions x, y et z du vecteur. Toutefois, d’autres encodages existent, comme ceux qui sont basés sur des coordonnées polaires.

Mappages de hauteur

Les mappages de hauteur comportent les données des champs de hauteur. Elles fournissent une forme de détail géométrique sur l’objet affecté (par l’application d’un code de nuanceur pour calculer l’effet escompté), ou elles fournissent des points de données spécifiques pour des cas d’utilisation tels que la génération de terrains. Les valeurs de hauteur sont généralement codées à l’aide d’un canal dans une texture.

Mappages de cube

Les mappages de cube peuvent contenir différents types de données, par exemple, des couleurs ou des normales, mais sont organisées avec six textures sur les faces d’un cube. De ce fait, les mappages de cube ne sont pas échantillonnés en fournissant des coordonnées de texture, mais en fournissant un vecteur dont l’origine est le centre du cube ; l’échantillon est prélevé au point d’intersection entre le vecteur et le cube. Les mappages de cube sont utilisés pour fournir une approximation de l’environnement pouvant être utilisé pour calculer les réflexions, appelée mappage de l’environnement, ou fournir une texture aux objets sphériques avec moins de distorsion que les textures de base, à deux dimensions.

Étapes suivantes

Découvrez comment utiliser l’éditeur d’images dans Visual Studio pour créer et modifier des textures et des images. L’Éditeur d’images prend en charge les formats enrichis de textures et d’images, tels que ceux utilisés dans le développement d’applications DirectX.