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
Dds.h

Voir aussi

Référence pour DDS