estructura de DDS_HEADER

Describe un encabezado de archivo DDS.

Sintaxis

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;

Miembros

dwSize

Tipo: DWORD

Tamaño de la estructura. Este miembro debe establecerse en 124.

dwFlags

Tipo: DWORD

Marcas para indicar qué miembros contienen datos válidos.

Marca Descripción Valor
DDSD_CAPS Obligatorio en cada archivo .dds. 0x1
DDSD_HEIGHT Obligatorio en cada archivo .dds. 0x2
DDSD_WIDTH Obligatorio en cada archivo .dds. 0x4
DDSD_PITCH Obligatorio cuando se proporciona un tono para una textura sin comprimir. 0x8
DDSD_PIXELFORMAT Obligatorio en cada archivo .dds. 0x1000
DDSD_MIPMAPCOUNT Obligatorio en una textura mipmapped. 0x20000
DDSD_LINEARSIZE Obligatorio cuando se proporciona un tono para una textura comprimida. 0x80000
DDSD_DEPTH Se requiere en una textura de profundidad. 0x800000

Nota

Al escribir archivos .dds, debe establecer las marcas de DDSD_CAPS y DDSD_PIXELFORMAT y, para las texturas mipmapped, también debe establecer la marca de DDSD_MIPMAPCOUNT. Sin embargo, al leer un archivo .dds, no debe confiar en el DDSD_CAPS, DDSD_PIXELFORMAT y DDSD_MIPMAPCOUNT marcas que se establecen porque es posible que algunos escritores de este archivo no establezcan estas marcas.

La marca DDS_HEADER_FLAGS_TEXTURE, que se define en Dds.h, es una combinación or bit a bit de las marcas de DDSD_CAPS, DDSD_HEIGHT, DDSD_WIDTH y DDSD_PIXELFORMAT.

La marca DDS_HEADER_FLAGS_MIPMAP, que se define en Dds.h, es igual a la marca DDSD_MIPMAPCOUNT.

La marca DDS_HEADER_FLAGS_VOLUME, que se define en Dds.h, es igual a la marca DDSD_DEPTH.

La marca DDS_HEADER_FLAGS_PITCH, que se define en Dds.h, es igual a la marca DDSD_PITCH.

La marca DDS_HEADER_FLAGS_LINEARSIZE, que se define en Dds.h, es igual a la marca DDSD_LINEARSIZE.

dwHeight

Tipo: DWORD

Alto de la superficie (en píxeles).

dwWidth

Tipo: DWORD

Ancho de superficie (en píxeles).

dwPitchOrLinearSize

Tipo: DWORD

Tono o número de bytes por línea de examen en una textura sin comprimir; número total de bytes en la textura de nivel superior para una textura comprimida. Para obtener información sobre cómo calcular el tono, vea la sección Diseño de archivo DDS de la Guía de programación para DDS.

dwDepth

Tipo: DWORD

Profundidad de una textura de volumen (en píxeles), en caso contrario, sin usar.

dwMipMapCount

Tipo: DWORD

Número de niveles de mapa mip; de lo contrario, no se ha usado.

dwReserved1[11]

Tipo: DWORD

Sin usar.

ddspf

Tipo: DDS_PIXELFORMAT

Formato de píxel (vea DDS_PIXELFORMAT).

dwCaps

Tipo: DWORD

Especifica la complejidad de las superficies almacenadas.

Marca Descripción Valor
DDSCAPS_COMPLEX Opcional; debe usarse en cualquier archivo que contenga más de una superficie (un mapa mip, un mapa de entorno cúbico o una textura de volumen mipmapped). 0x8
DDSCAPS_MIPMAP Opcional; se debe usar para un mapa mip. 0x400000
DDSCAPS_TEXTURE Obligatorio 0x1000

Nota

Al escribir archivos .dds, debe establecer la marca DDSCAPS_TEXTURE y, para varias superficies, también debe establecer la marca DDSCAPS_COMPLEX. Sin embargo, al leer un archivo .dds, no debe confiar en el DDSCAPS_TEXTURE y DDSCAPS_COMPLEX marcas que se establecen porque es posible que algunos escritores de este archivo no establezcan estas marcas.

La marca DDS_SURFACE_FLAGS_MIPMAP, que se define en Dds.h, es una combinación OR bit a bit de las marcas de DDSCAPS_COMPLEX y DDSCAPS_MIPMAP.

La marca DDS_SURFACE_FLAGS_TEXTURE, que se define en Dds.h, es igual a la marca DDSCAPS_TEXTURE.

La marca DDS_SURFACE_FLAGS_CUBEMAP, que se define en Dds.h, es igual a la marca DDSCAPS_COMPLEX.

dwCaps2

Tipo: DWORD

Detalles adicionales sobre las superficies almacenadas.

Marca Descripción Valor
DDSCAPS2_CUBEMAP Necesario para un mapa de cubo. 0x200
DDSCAPS2_CUBEMAP_POSITIVEX Se requiere cuando estas superficies se almacenan en un mapa de cubo. 0x400
DDSCAPS2_CUBEMAP_NEGATIVEX Se requiere cuando estas superficies se almacenan en un mapa de cubo. 0x800
DDSCAPS2_CUBEMAP_POSITIVEY Se requiere cuando estas superficies se almacenan en un mapa de cubo. 0x1000
DDSCAPS2_CUBEMAP_NEGATIVEY Se requiere cuando estas superficies se almacenan en un mapa de cubo. 0x2000
DDSCAPS2_CUBEMAP_POSITIVEZ Se requiere cuando estas superficies se almacenan en un mapa de cubo. 0x4000
DDSCAPS2_CUBEMAP_NEGATIVEZ Se requiere cuando estas superficies se almacenan en un mapa de cubo. 0x8000
DDSCAPS2_VOLUME Necesario para una textura de volumen. 0x200000

La marca DDS_CUBEMAP_POSITIVEX, que se define en Dds.h, es una combinación or bit a bit de las marcas DDSCAPS2_CUBEMAP y DDSCAPS2_CUBEMAP_POSITIVEX.

La marca DDS_CUBEMAP_NEGATIVEX, que se define en Dds.h, es una combinación or bit a bit de las marcas DDSCAPS2_CUBEMAP y DDSCAPS2_CUBEMAP_NEGATIVEX.

La marca DDS_CUBEMAP_POSITIVEY, que se define en Dds.h, es una combinación or bit a bit de las marcas DDSCAPS2_CUBEMAP y DDSCAPS2_CUBEMAP_POSITIVEY.

La marca DDS_CUBEMAP_NEGATIVEY, que se define en Dds.h, es una combinación or bit a bit de las marcas DDSCAPS2_CUBEMAP y DDSCAPS2_CUBEMAP_NEGATIVEY.

La marca DDS_CUBEMAP_POSITIVEZ, que se define en Dds.h, es una combinación or bit a bit de las marcas de DDSCAPS2_CUBEMAP y DDSCAPS2_CUBEMAP_POSITIVEZ.

La marca DDS_CUBEMAP_NEGATIVEZ, que se define en Dds.h, es una combinación or bit a bit de las marcas DDSCAPS2_CUBEMAP y DDSCAPS2_CUBEMAP_NEGATIVEZ.

La marca DDS_CUBEMAP_ALLFACES, que se define en Dds.h, es una combinación or bit a bit de las marcas de DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ y DDSCAPS2_CUBEMAP_NEGATIVEZ.

La marca DDS_FLAGS_VOLUME, que se define en Dds.h, es igual a la marca DDSCAPS2_VOLUME.

Nota

Aunque Direct3D 9 admite mapas de cubo parciales, Direct3D 10, 10.1 y 11 requieren que definas las seis caras de mapa de cubo (es decir, debes establecer DDS_CUBEMAP_ALLFACES).

dwCaps3

Tipo: DWORD

Sin usar.

dwCaps4

Tipo: DWORD

Sin usar.

dwReserved2

Tipo: DWORD

Sin usar.

Comentarios

Incluya marcas en dwFlags para los miembros de la estructura que contienen datos válidos.

Use esta estructura en combinación con un DDS_HEADER_DXT10 para almacenar una matriz de recursos en un archivo DDS. Para obtener más información, consulte matrices de texturas.

DDS_HEADER es idéntico a la estructura DDSURFACEDESC2 de DirectDraw sin dependencias de DirectDraw.

Requisitos

Requisito Value
Encabezado
Dds.h

Consulte también

Referencia de DDS