DDS_HEADER structure
Décrit un en-tête de fichier DDS.
Syntaxe
typedef struct {
DWORD dwSize;
DWORD dwFlags;
DWORD dwHeight;
DWORD dwWidth;
DWORD dwPitchOrLinearSize;
DWORD dwDepth;
DWORD dwMipMapCount;
DWORD dwReserved1[11];
DDS_PIXELFORMAT ddspf;
DWORD dwCaps;
DWORD dwCaps2;
DWORD dwCaps3;
DWORD dwCaps4;
DWORD dwReserved2;
} DDS_HEADER;
Membres
-
dwSize
-
Type : DWORD
-
Taille de la structure. Ce membre doit être défini sur 124.
-
dwFlags
-
Type : DWORD
-
Indicateurs pour indiquer quels membres contiennent des données valides.
Indicateur Description Valeur DDSD_CAPS Obligatoire dans chaque fichier .dds. 0x1 DDSD_HEIGHT Obligatoire dans chaque fichier .dds. 0x2 DDSD_WIDTH Obligatoire dans chaque fichier .dds. 0x4 DDSD_PITCH Obligatoire lorsque la tonalité est fournie pour une texture non compressée. 0x8 DDSD_PIXELFORMAT Obligatoire dans chaque fichier .dds. 0x1000 DDSD_MIPMAPCOUNT Obligatoire dans une texture mipmapped. 0x20000 DDSD_LINEARSIZE Obligatoire lorsque la hauteur est fournie pour une texture compressée. 0x80000 DDSD_DEPTH Obligatoire dans une texture de profondeur. 0x800000 Notes
Lorsque vous écrivez des fichiers .dds, vous devez définir les indicateurs DDSD_CAPS et DDSD_PIXELFORMAT, et pour les textures mipmappées, vous devez également définir l’indicateur DDSD_MIPMAPCOUNT. Toutefois, lorsque vous lisez un fichier .dds, vous ne devez pas vous appuyer sur les indicateurs DDSD_CAPS, DDSD_PIXELFORMAT et DDSD_MIPMAPCOUNT définis, car certains enregistreurs d’un tel fichier peuvent ne pas définir ces indicateurs.
L’indicateur DDS_HEADER_FLAGS_TEXTURE, qui est défini dans Dds.h, est une combinaison ou au niveau du bit des indicateurs DDSD_CAPS, DDSD_HEIGHT, DDSD_WIDTH et DDSD_PIXELFORMAT.
L’indicateur DDS_HEADER_FLAGS_MIPMAP, qui est défini dans Dds.h, est égal à l’indicateur DDSD_MIPMAPCOUNT.
L’indicateur DDS_HEADER_FLAGS_VOLUME, qui est défini dans Dds.h, est égal à l’indicateur DDSD_DEPTH.
L’indicateur DDS_HEADER_FLAGS_PITCH, qui est défini dans Dds.h, est égal à l’indicateur DDSD_PITCH.
L’indicateur DDS_HEADER_FLAGS_LINEARSIZE, qui est défini dans Dds.h, est égal à l’indicateur DDSD_LINEARSIZE.
-
dwHeight
-
Type : DWORD
-
Hauteur de la surface (en pixels).
-
dwWidth
-
Type : DWORD
-
Largeur de la surface (en pixels).
-
dwPitchOrLinearSize
-
Type : DWORD
-
Le pitch ou le nombre d’octets par ligne de balayage dans une texture non compressée ; nombre total d’octets dans la texture de niveau supérieur pour une texture compressée. Pour plus d’informations sur le calcul de la hauteur, consultez la section Disposition de fichier DDS du Guide de programmation pour DDS.
-
dwDepth
-
Type : DWORD
-
Profondeur d’une texture de volume (en pixels), sinon inutilisée.
-
dwMipMapCount
-
Type : DWORD
-
Nombre de niveaux mipmap, sinon inutilisés.
-
dwReserved1[11]
-
Type : DWORD
-
Inutilisé.
-
ddspf
-
Type : DDS_PIXELFORMAT
-
Format de pixel (voir DDS_PIXELFORMAT).
-
dwCaps
-
Type : DWORD
-
Spécifie la complexité des surfaces stockées.
Indicateur Description Valeur DDSCAPS_COMPLEX Optionnel; doit être utilisé sur tout fichier qui contient plusieurs surfaces (un mipmap, une carte d’environnement cubique ou une texture de volume mipmapped). 0x8 DDSCAPS_MIPMAP Optionnel; doit être utilisé pour un mipmap. 0x400000 DDSCAPS_TEXTURE Obligatoire 0x1000 Notes
Lorsque vous écrivez des fichiers .dds, vous devez définir l’indicateur DDSCAPS_TEXTURE et, pour plusieurs surfaces, vous devez également définir l’indicateur DDSCAPS_COMPLEX. Toutefois, lorsque vous lisez un fichier .dds, vous ne devez pas vous appuyer sur les indicateurs DDSCAPS_TEXTURE et DDSCAPS_COMPLEX définis, car certains enregistreurs d’un tel fichier peuvent ne pas définir ces indicateurs.
L’indicateur DDS_SURFACE_FLAGS_MIPMAP, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDSCAPS_COMPLEX et DDSCAPS_MIPMAP.
L’indicateur DDS_SURFACE_FLAGS_TEXTURE, qui est défini dans Dds.h, est égal à l’indicateur DDSCAPS_TEXTURE.
L’indicateur DDS_SURFACE_FLAGS_CUBEMAP, qui est défini dans Dds.h, est égal à l’indicateur DDSCAPS_COMPLEX.
-
dwCaps2
-
Type : DWORD
-
Détails supplémentaires sur les surfaces stockées.
Indicateur Description Valeur DDSCAPS2_CUBEMAP Obligatoire pour une carte de cube. 0x200 DDSCAPS2_CUBEMAP_POSITIVEX Obligatoire lorsque ces surfaces sont stockées dans une carte de cube. 0x400 DDSCAPS2_CUBEMAP_NEGATIVEX Obligatoire lorsque ces surfaces sont stockées dans une carte de cube. 0x800 DDSCAPS2_CUBEMAP_POSITIVEY Obligatoire lorsque ces surfaces sont stockées dans une carte de cube. 0x1000 DDSCAPS2_CUBEMAP_NEGATIVEY Obligatoire lorsque ces surfaces sont stockées dans une carte de cube. 0x2000 DDSCAPS2_CUBEMAP_POSITIVEZ Obligatoire lorsque ces surfaces sont stockées dans une carte de cube. 0x4000 DDSCAPS2_CUBEMAP_NEGATIVEZ Obligatoire lorsque ces surfaces sont stockées dans une carte de cube. 0x8000 DDSCAPS2_VOLUME Obligatoire pour une texture de volume. 0x200000 L’indicateur DDS_CUBEMAP_POSITIVEX, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDSCAPS2_CUBEMAP et DDSCAPS2_CUBEMAP_POSITIVEX.
L’indicateur DDS_CUBEMAP_NEGATIVEX, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDSCAPS2_CUBEMAP et DDSCAPS2_CUBEMAP_NEGATIVEX.
L’indicateur DDS_CUBEMAP_POSITIVEY, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDSCAPS2_CUBEMAP et DDSCAPS2_CUBEMAP_POSITIVEY.
L’indicateur DDS_CUBEMAP_NEGATIVEY, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDSCAPS2_CUBEMAP et DDSCAPS2_CUBEMAP_NEGATIVEY.
L’indicateur DDS_CUBEMAP_POSITIVEZ, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDSCAPS2_CUBEMAP et DDSCAPS2_CUBEMAP_POSITIVEZ.
L’indicateur DDS_CUBEMAP_NEGATIVEZ, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDSCAPS2_CUBEMAP et DDSCAPS2_CUBEMAP_NEGATIVEZ.
L’indicateur DDS_CUBEMAP_ALLFACES, qui est défini dans Dds.h, est une combinaison de bits-OR des indicateurs DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ et DDSCAPS2_CUBEMAP_NEGATIVEZ.
L’indicateur DDS_FLAGS_VOLUME, qui est défini dans Dds.h, est égal à l’indicateur DDSCAPS2_VOLUME.
Notes
Bien que Direct3D 9 prenne en charge les mappages de cube partiels, Direct3D 10, 10.1 et 11 nécessite que vous définissiez les six faces de mappage de cube (autrement dit, vous devez définir DDS_CUBEMAP_ALLFACES).
-
dwCaps3
-
Type : DWORD
-
Inutilisé.
-
dwCaps4
-
Type : DWORD
-
Inutilisé.
-
dwReserved2
-
Type : DWORD
-
Inutilisé.
Notes
Incluez des indicateurs dans dwFlags pour les membres de la structure qui contiennent des données valides.
Utilisez cette structure en combinaison avec un DDS_HEADER_DXT10 pour stocker un tableau de ressources dans un fichier DDS. Pour plus d’informations, consultez Tableaux de textures.
DDS_HEADER est identique à la structure DirectDraw DDSURFACEDESC2 sans dépendances DirectDraw.
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|