Partager via


Formats Surface (Direct3D 9)

Dans Direct3D, toutes les images à deux dimensions (2D) sont représentées par une plage linéaire de mémoire appelée surface. Une surface peut être considérée comme un tableau 2D où chaque élément contient une valeur de couleur représentant une petite section de l’image, appelée pixel. Le niveau de détail d’une image est défini à la fois par le nombre de pixels nécessaires pour représenter l’image et le nombre de bits nécessaires pour le spectre de couleurs de l’image. Par exemple, une image de 800 pixels de large par 600 pixels de haut avec 32 bits de couleur pour chaque pixel (écrite sous la forme 800x600x32) sera plus détaillée qu’une image de 640 pixels de large par 480 pixels de haut avec 16 bits de couleur pour chaque pixel (écrite en 640 x 480 x 16). De même, l’image plus détaillée nécessite une plus grande surface pour stocker les données. Pour une image de 800 x 600 x 32, les dimensions du tableau de la surface seront de 800 x 600 et chaque élément contiendra une valeur 32 bits pour représenter sa couleur.

Toutes les surfaces ont une taille et stockent un nombre spécifique de bits qui représentent la couleur. Les bits qui représentent la couleur sont séparés en éléments de couleur individuels : rouge, vert et bleu. Dans Direct3D, tous les éléments de couleur sont définis par le type énuméré D3DFORMAT . Un format de couleur Direct3D est divisé en nombre d’byes réservés pour chaque couleur. Par exemple, un format de couleur 16 bits dans Direct3D est défini comme D3DFMT_R5G6B5, où 5 bits sont réservés au rouge (R), 6 bits au vert (G) et 5 bits au bleu (B).

Direct3D Surfaces