DDS_HEADER Struktur

Beschreibt einen DDS-Dateiheader.

Syntax

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;

Member

dwSize

Typ: DWORD

Größe der Struktur. Dieses Element muss auf 124 festgelegt werden.

dwFlags

Typ: DWORD

Flags, um anzugeben, welche Member gültige Daten enthalten.

Flag Beschreibung Wert
DDSD_CAPS Erforderlich in jeder DDS-Datei. 0x1
DDSD_HEIGHT Erforderlich in jeder DDS-Datei. 0x2
DDSD_WIDTH Erforderlich in jeder DDS-Datei. 0x4
DDSD_PITCH Erforderlich, wenn die Tonhöhe für eine nicht komprimierte Textur bereitgestellt wird. 0x8
DDSD_PIXELFORMAT Erforderlich in jeder DDS-Datei. 0x1000
DDSD_MIPMAPCOUNT Erforderlich in einer mipmapped-Textur. 0x20000
DDSD_LINEARSIZE Erforderlich, wenn die Tonhöhe für eine komprimierte Textur bereitgestellt wird. 0x80000
DDSD_DEPTH Erforderlich in einer Tiefentextur. 0x800000

Hinweis

Wenn Sie DDS-Dateien schreiben, sollten Sie die DDSD_CAPS- und DDSD_PIXELFORMAT-Flags festlegen, und für mipmapped-Texturen sollten Sie auch das DDSD_MIPMAPCOUNT-Flag festlegen. Wenn Sie jedoch eine DDS-Datei lesen, sollten Sie sich nicht darauf verlassen, dass die DDSD_CAPS, DDSD_PIXELFORMAT und DDSD_MIPMAPCOUNT-Flags festgelegt werden, da einige Autoren einer solchen Datei diese Flags möglicherweise nicht festlegen.

Das in Dds.h definierte DDS_HEADER_FLAGS_TEXTURE-Flag ist eine bitweise OR-Kombination aus den DDSD_CAPS-, DDSD_HEIGHT-, DDSD_WIDTH- und DDSD_PIXELFORMAT-Flags.

Das in Dds.h definierte DDS_HEADER_FLAGS_MIPMAP-Flag entspricht dem DDSD_MIPMAPCOUNT-Flag.

Das in Dds.h definierte DDS_HEADER_FLAGS_VOLUME-Flag entspricht dem DDSD_DEPTH Flag.

Das in Dds.h definierte DDS_HEADER_FLAGS_PITCH-Flag entspricht dem DDSD_PITCH-Flag.

Das in Dds.h definierte DDS_HEADER_FLAGS_LINEARSIZE-Flag entspricht dem DDSD_LINEARSIZE-Flag.

dwHeight

Typ: DWORD

Oberflächenhöhe (in Pixel).

dwWidth

Typ: DWORD

Breite der Oberfläche (in Pixel).

dwPitchOrLinearSize

Typ: DWORD

Die Tonhöhe oder Anzahl von Bytes pro Scanzeile in einer nicht komprimierten Textur; die Gesamtanzahl von Bytes in der Textur der obersten Ebene für eine komprimierte Textur. Informationen zum Berechnen der Tonhöhe finden Sie im Abschnitt DDS-Dateilayout des Programmierhandbuchs für DDS.

dwDepth

Typ: DWORD

Tiefe einer Volumetextur (in Pixel), andernfalls nicht verwendet.

dwMipMapCount

Typ: DWORD

Anzahl der mipmap-Ebenen, andernfalls nicht verwendet.

dwReserved1[11]

Typ: DWORD

Nicht verwendet.

ddspf

Typ: DDS_PIXELFORMAT

Das Pixelformat (siehe DDS_PIXELFORMAT).

dwCaps

Typ: DWORD

Gibt die Komplexität der gespeicherten Oberflächen an.

Flag Beschreibung Wert
DDSCAPS_COMPLEX Optional; muss für jede Datei verwendet werden, die mehr als eine Oberfläche enthält (eine mipmap, eine kubische Umgebungszuordnung oder eine Mipmapped-Volumetextur). 0x8
DDSCAPS_MIPMAP Optional; sollte für eine mipmap verwendet werden. 0x400000
DDSCAPS_TEXTURE Erforderlich 0x1000

Hinweis

Wenn Sie DDS-Dateien schreiben, sollten Sie das DDSCAPS_TEXTURE-Flag festlegen, und für mehrere Oberflächen sollten Sie auch das DDSCAPS_COMPLEX-Flag festlegen. Wenn Sie jedoch eine DDS-Datei lesen, sollten Sie sich nicht darauf verlassen, dass die DDSCAPS_TEXTURE und DDSCAPS_COMPLEX Flags festgelegt werden, da einige Autoren einer solchen Datei diese Flags möglicherweise nicht festlegen.

Das in Dds.h definierte DDS_SURFACE_FLAGS_MIPMAP-Flag ist eine bitweise OR-Kombination aus den DDSCAPS_COMPLEX- und DDSCAPS_MIPMAP-Flags.

Das in Dds.h definierte DDS_SURFACE_FLAGS_TEXTURE-Flag entspricht dem DDSCAPS_TEXTURE-Flag.

Das in Dds.h definierte DDS_SURFACE_FLAGS_CUBEMAP-Flag entspricht dem DDSCAPS_COMPLEX-Flag.

dwCaps2

Typ: DWORD

Zusätzliche Details zu den gespeicherten Oberflächen.

Flag Beschreibung Wert
DDSCAPS2_CUBEMAP Erforderlich für eine Cubezuordnung. 0x200
DDSCAPS2_CUBEMAP_POSITIVEX Erforderlich, wenn diese Oberflächen in einer Cubezuordnung gespeichert werden. 0x400
DDSCAPS2_CUBEMAP_NEGATIVEX Erforderlich, wenn diese Oberflächen in einer Cubezuordnung gespeichert werden. 0x800
DDSCAPS2_CUBEMAP_POSITIVEY Erforderlich, wenn diese Oberflächen in einer Cubezuordnung gespeichert werden. 0x1000
DDSCAPS2_CUBEMAP_NEGATIVEY Erforderlich, wenn diese Oberflächen in einer Cubezuordnung gespeichert werden. 0x2000
DDSCAPS2_CUBEMAP_POSITIVEZ Erforderlich, wenn diese Oberflächen in einer Cubezuordnung gespeichert werden. 0x4000
DDSCAPS2_CUBEMAP_NEGATIVEZ Erforderlich, wenn diese Oberflächen in einer Cubezuordnung gespeichert werden. 0x8000
DDSCAPS2_VOLUME Erforderlich für eine Volumetextur. 0x200000

Das in Dds.h definierte DDS_CUBEMAP_POSITIVEX-Flag ist eine bitweise OR-Kombination aus den DDSCAPS2_CUBEMAP- und DDSCAPS2_CUBEMAP_POSITIVEX-Flags.

Das in Dds.h definierte DDS_CUBEMAP_NEGATIVEX-Flag ist eine bitweise OR-Kombination aus den DDSCAPS2_CUBEMAP- und DDSCAPS2_CUBEMAP_NEGATIVEX-Flags.

Das in Dds.h definierte DDS_CUBEMAP_POSITIVEY-Flag ist eine bitweise OR-Kombination aus den DDSCAPS2_CUBEMAP- und DDSCAPS2_CUBEMAP_POSITIVEY-Flags.

Das in Dds.h definierte DDS_CUBEMAP_NEGATIVEY-Flag ist eine bitweise OR-Kombination aus den DDSCAPS2_CUBEMAP- und DDSCAPS2_CUBEMAP_NEGATIVEY-Flags.

Das in Dds.h definierte DDS_CUBEMAP_POSITIVEZ-Flag ist eine bitweise OR-Kombination aus den DDSCAPS2_CUBEMAP- und DDSCAPS2_CUBEMAP_POSITIVEZ-Flags.

Das in Dds.h definierte DDS_CUBEMAP_NEGATIVEZ-Flag ist eine bitweise OR-Kombination aus den DDSCAPS2_CUBEMAP- und DDSCAPS2_CUBEMAP_NEGATIVEZ-Flags.

Das in Dds.h definierte DDS_CUBEMAP_ALLFACES-Flag ist eine bitweise OR-Kombination aus den Flags DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ und DDSCAPS2_CUBEMAP_NEGATIVEZ.

Das in Dds.h definierte DDS_FLAGS_VOLUME-Flag entspricht dem DDSCAPS2_VOLUME-Flag.

Hinweis

Obwohl Direct3D 9 partielle Cubezuordnungen unterstützt, erfordern Direct3D 10, 10.1 und 11, dass Sie alle sechs Cubezuordnungsflächen definieren (d. h. Sie müssen DDS_CUBEMAP_ALLFACES festlegen).

dwCaps3

Typ: DWORD

Nicht verwendet.

dwCaps4

Typ: DWORD

Nicht verwendet.

dwReserved2

Typ: DWORD

Nicht verwendet.

Bemerkungen

Schließen Sie Flags in dwFlags für die Member der Struktur ein, die gültige Daten enthalten.

Verwenden Sie diese Struktur in Kombination mit einem DDS_HEADER_DXT10 , um ein Ressourcenarray in einer DDS-Datei zu speichern. Weitere Informationen finden Sie unter Texturarrays.

DDS_HEADER ist mit der DirectDraw DDSURFACEDESC2-Struktur ohne DirectDraw-Abhängigkeiten identisch.

Anforderungen

Anforderung Wert
Header
Dds.h

Siehe auch

Referenz für DDS