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 |
|