struttura DDS_HEADER

Descrive un'intestazione di file DDS.

Sintassi

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;

Members

dwSize

Tipo: DWORD

Dimensioni della struttura. Questo membro deve essere impostato su 124.

dwFlags

Tipo: DWORD

Flag per indicare quali membri contengono dati validi.

Flag Descrizione Valore
DDSD_CAPS Obbligatorio in ogni file con estensione dds. 0x1
DDSD_HEIGHT Obbligatorio in ogni file con estensione dds. 0x2
DDSD_WIDTH Obbligatorio in ogni file con estensione dds. 0x4
DDSD_PITCH Obbligatorio quando l'inclinazione viene fornita per una trama non compressa. 0x8
DDSD_PIXELFORMAT Obbligatorio in ogni file con estensione dds. 0x1000
DDSD_MIPMAPCOUNT Obbligatorio in una trama mipmapped. 0x20000
DDSD_LINEARSIZE Obbligatorio quando l'inclinazione viene fornita per una trama compressa. 0x80000
DDSD_DEPTH Obbligatorio in una trama di profondità. 0x800000

Nota

Quando si scrivono file con estensione dds, è necessario impostare i flag DDSD_CAPS e DDSD_PIXELFORMAT e per le trame con estensione mipmapped è necessario impostare anche il flag DDSD_MIPMAPCOUNT. Tuttavia, quando si legge un file con estensione dds, non è consigliabile basarsi sul DDSD_CAPS, DDSD_PIXELFORMAT e sui flag DDSD_MIPMAPCOUNT impostati perché alcuni writer di questo tipo potrebbero non impostare questi flag.

Il flag DDS_HEADER_FLAGS_TEXTURE, definito in Dds.h, è una combinazione bit per bit OR dei flag DDSD_CAPS, DDSD_HEIGHT, DDSD_WIDTH e DDSD_PIXELFORMAT.

Il flag DDS_HEADER_FLAGS_MIPMAP, definito in Dds.h, è uguale al flag DDSD_MIPMAPCOUNT.

Il flag DDS_HEADER_FLAGS_VOLUME, definito in Dds.h, è uguale al flag DDSD_DEPTH.

Il flag DDS_HEADER_FLAGS_PITCH, definito in Dds.h, è uguale al flag DDSD_PITCH.

Il flag DDS_HEADER_FLAGS_LINEARSIZE, definito in Dds.h, è uguale al flag DDSD_LINEARSIZE.

dwHeight

Tipo: DWORD

Altezza della superficie (in pixel).

dwWidth

Tipo: DWORD

Larghezza superficie (in pixel).

dwPitchOrLinearSize

Tipo: DWORD

Il passo o il numero di byte per riga di scansione in una trama non compressa; numero totale di byte nella trama di primo livello per una trama compressa. Per informazioni su come calcolare l'inclinazione, vedere la sezione DDS File Layout della Guida alla programmazione per DDS.

dwDepth

Tipo: DWORD

Profondità di una trama del volume (in pixel), altrimenti inutilizzata.

dwMipMapCount

Tipo: DWORD

Numero di livelli mipmap, altrimenti inutilizzati.

dwReserved1[11]

Tipo: DWORD

Non utilizzato.

ddspf

Tipo: DDS_PIXELFORMAT

Formato pixel (vedere DDS_PIXELFORMAT).

dwCaps

Tipo: DWORD

Specifica la complessità delle superfici archiviate.

Flag Descrizione Valore
DDSCAPS_COMPLEX Opzionale; deve essere usato in qualsiasi file contenente più di una superficie (una mappa mipmap, una mappa di ambiente cubica o una trama del volume mipmapped). 0x8
DDSCAPS_MIPMAP Opzionale; deve essere usato per un mipmap. 0x400000
DDSCAPS_TEXTURE Necessario 0x1000

Nota

Quando si scrivono file con estensione dds, è necessario impostare il flag di DDSCAPS_TEXTURE e per più superfici è necessario impostare anche il flag DDSCAPS_COMPLEX. Tuttavia, quando si legge un file con estensione dds, non è consigliabile basarsi sui flag DDSCAPS_TEXTURE e DDSCAPS_COMPLEX impostati perché alcuni writer di questo file potrebbero non impostare questi flag.

Il flag DDS_SURFACE_FLAGS_MIPMAP, definito in Dds.h, è una combinazione bit per bit OR dei flag DDSCAPS_COMPLEX e DDSCAPS_MIPMAP.

Il flag DDS_SURFACE_FLAGS_TEXTURE, definito in Dds.h, è uguale al flag DDSCAPS_TEXTURE.

Il flag DDS_SURFACE_FLAGS_CUBEMAP, definito in Dds.h, è uguale al flag DDSCAPS_COMPLEX.

dwCaps2

Tipo: DWORD

Dettagli aggiuntivi sulle superfici archiviate.

Flag Descrizione Valore
DDSCAPS2_CUBEMAP Obbligatorio per una mappa del cubo. 0x200
DDSCAPS2_CUBEMAP_POSITIVEX Obbligatorio quando queste superfici vengono archiviate in una mappa del cubo. 0x400
DDSCAPS2_CUBEMAP_NEGATIVEX Obbligatorio quando queste superfici vengono archiviate in una mappa del cubo. 0x800
DDSCAPS2_CUBEMAP_POSITIVEY Obbligatorio quando queste superfici vengono archiviate in una mappa del cubo. 0x1000
DDSCAPS2_CUBEMAP_NEGATIVEY Obbligatorio quando queste superfici vengono archiviate in una mappa del cubo. 0x2000
DDSCAPS2_CUBEMAP_POSITIVEZ Obbligatorio quando queste superfici vengono archiviate in una mappa del cubo. 0x4000
DDSCAPS2_CUBEMAP_NEGATIVEZ Obbligatorio quando queste superfici vengono archiviate in una mappa del cubo. 0x8000
DDSCAPS2_VOLUME Obbligatorio per una trama del volume. 0x200000

Il flag DDS_CUBEMAP_POSITIVEX, definito in Dds.h, è una combinazione bit per bit OR dei flag DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_POSITIVEX.

Il flag DDS_CUBEMAP_NEGATIVEX, definito in Dds.h, è una combinazione bit per bit OR dei flag DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_NEGATIVEX.

Il flag DDS_CUBEMAP_POSITIVEY, definito in Dds.h, è una combinazione bit per bit OR dei flag DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_POSITIVEY.

Il flag DDS_CUBEMAP_NEGATIVEY, definito in Dds.h, è una combinazione OR bit per bit dei flag DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_NEGATIVEY.

Il flag DDS_CUBEMAP_POSITIVEZ, definito in Dds.h, è una combinazione bit per bit OR dei flag DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_POSITIVEZ.

Il flag DDS_CUBEMAP_NEGATIVEZ, definito in Dds.h, è una combinazione OR bit per bit dei flag DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_NEGATIVEZ.

Il flag DDS_CUBEMAP_ALLFACES, definito in Dds.h, è una combinazione bit per bit or dei flag di DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ e DDSCAPS2_CUBEMAP_NEGATIVEZ.

Il flag DDS_FLAGS_VOLUME, definito in Dds.h, è uguale al flag DDSCAPS2_VOLUME.

Nota

Anche se Direct3D 9 supporta mappe cubo parziali, Direct3D 10, 10.1 e 11 richiedono la definizione di tutti e sei i visi della mappa del cubo, ovvero è necessario impostare DDS_CUBEMAP_ALLFACES.

dwCaps3

Tipo: DWORD

Non utilizzato.

dwCaps4

Tipo: DWORD

Non utilizzato.

dwReserved2

Tipo: DWORD

Non utilizzato.

Commenti

Includere i flag in dwFlags per i membri della struttura che contengono dati validi.

Usare questa struttura in combinazione con un DDS_HEADER_DXT10 per archiviare una matrice di risorse in un file DDS. Per altre informazioni, vedere Matrici di trame.

DDS_HEADER è identico alla struttura DirectDraw DDSURFACEDESC2 senza dipendenze DirectDraw.

Requisiti

Requisito Valore
Intestazione
Dds.h

Vedi anche

Informazioni di riferimento per DDS