estrutura DDS_HEADER
Descreve um cabeçalho de arquivo DDS.
Sintaxe
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;
Membros
-
dwSize
-
Tipo: DWORD
-
Tamanho da estrutura. Esse membro deve ser definido como 124.
-
dwFlags
-
Tipo: DWORD
-
Sinalizadores para indicar quais membros contêm dados válidos.
Sinalizador Descrição Valor DDSD_CAPS Obrigatório em cada arquivo .dds. 0x1 DDSD_HEIGHT Obrigatório em cada arquivo .dds. 0x2 DDSD_WIDTH Obrigatório em cada arquivo .dds. 0x4 DDSD_PITCH Necessário quando o pitch é fornecido para uma textura descompactada. 0x8 DDSD_PIXELFORMAT Obrigatório em cada arquivo .dds. 0x1000 DDSD_MIPMAPCOUNT Necessário em uma textura mipmapped. 0x20000 DDSD_LINEARSIZE Necessário quando o pitch é fornecido para uma textura compactada. 0x80000 DDSD_DEPTH Necessário em uma textura de profundidade. 0x800000 Observação
Ao gravar arquivos .dds, você deve definir os sinalizadores DDSD_CAPS e DDSD_PIXELFORMAT e, para texturas mipmapped, você também deve definir o sinalizador DDSD_MIPMAPCOUNT. No entanto, ao ler um arquivo .dds, você não deve contar com os sinalizadores DDSD_CAPS, DDSD_PIXELFORMAT e DDSD_MIPMAPCOUNT que estão sendo definidos porque alguns gravadores desse arquivo podem não definir esses sinalizadores.
O sinalizador DDS_HEADER_FLAGS_TEXTURE, que é definido em Dds.h, é uma combinação bit a bit or dos sinalizadores DDSD_CAPS, DDSD_HEIGHT, DDSD_WIDTH e DDSD_PIXELFORMAT.
O sinalizador DDS_HEADER_FLAGS_MIPMAP, que é definido em Dds.h, é igual ao sinalizador DDSD_MIPMAPCOUNT.
O sinalizador DDS_HEADER_FLAGS_VOLUME, que é definido em Dds.h, é igual ao sinalizador DDSD_DEPTH.
O sinalizador DDS_HEADER_FLAGS_PITCH, que é definido em Dds.h, é igual ao sinalizador DDSD_PITCH.
O sinalizador DDS_HEADER_FLAGS_LINEARSIZE, que é definido em Dds.h, é igual ao sinalizador DDSD_LINEARSIZE.
-
dwHeight
-
Tipo: DWORD
-
Altura da superfície (em pixels).
-
Dwwidth
-
Tipo: DWORD
-
Largura da superfície (em pixels).
-
dwPitchOrLinearSize
-
Tipo: DWORD
-
O tom ou o número de bytes por linha de verificação em uma textura descompactada; o número total de bytes na textura de nível superior para uma textura compactada. Para obter informações sobre como calcular o pitch, consulte a seção Layout de Arquivo DDS do Guia de Programação para DDS.
-
dwDepth
-
Tipo: DWORD
-
Profundidade de uma textura de volume (em pixels), caso contrário, não utilizado.
-
dwMipMapCount
-
Tipo: DWORD
-
Número de níveis de mipmap, caso contrário, não utilizados.
-
dwReserved1[11]
-
Tipo: DWORD
-
Não utilizado.
-
ddspf
-
Tipo: DDS_PIXELFORMAT
-
O formato de pixel (consulte DDS_PIXELFORMAT).
-
dwCaps
-
Tipo: DWORD
-
Especifica a complexidade das superfícies armazenadas.
Sinalizador Descrição Valor DDSCAPS_COMPLEX Opcional; deve ser usado em qualquer arquivo que contenha mais de uma superfície (um mipmap, um mapa de ambiente cúbico ou textura de volume mipmapped). 0x8 DDSCAPS_MIPMAP Opcional; deve ser usado para um mipmap. 0x400000 DDSCAPS_TEXTURE Obrigatório 0x1000 Observação
Ao gravar arquivos .dds, você deve definir o sinalizador DDSCAPS_TEXTURE e, para várias superfícies, também deve definir o sinalizador DDSCAPS_COMPLEX. No entanto, ao ler um arquivo .dds, você não deve confiar no DDSCAPS_TEXTURE e DDSCAPS_COMPLEX sinalizadores que estão sendo definidos porque alguns gravadores desse arquivo podem não definir esses sinalizadores.
O sinalizador DDS_SURFACE_FLAGS_MIPMAP, que é definido em Dds.h, é uma combinação bit a bit or dos sinalizadores DDSCAPS_COMPLEX e DDSCAPS_MIPMAP.
O sinalizador DDS_SURFACE_FLAGS_TEXTURE, que é definido em Dds.h, é igual ao sinalizador DDSCAPS_TEXTURE.
O sinalizador DDS_SURFACE_FLAGS_CUBEMAP, que é definido em Dds.h, é igual ao sinalizador DDSCAPS_COMPLEX.
-
dwCaps2
-
Tipo: DWORD
-
Detalhes adicionais sobre as superfícies armazenadas.
Sinalizador Descrição Valor DDSCAPS2_CUBEMAP Necessário para um mapa de cubo. 0x200 DDSCAPS2_CUBEMAP_POSITIVEX Necessário quando essas superfícies são armazenadas em um mapa de cubo. 0x400 DDSCAPS2_CUBEMAP_NEGATIVEX Necessário quando essas superfícies são armazenadas em um mapa de cubo. 0x800 DDSCAPS2_CUBEMAP_POSITIVEY Necessário quando essas superfícies são armazenadas em um mapa de cubo. 0x1000 DDSCAPS2_CUBEMAP_NEGATIVEY Necessário quando essas superfícies são armazenadas em um mapa de cubo. 0x2000 DDSCAPS2_CUBEMAP_POSITIVEZ Necessário quando essas superfícies são armazenadas em um mapa de cubo. 0x4000 DDSCAPS2_CUBEMAP_NEGATIVEZ Necessário quando essas superfícies são armazenadas em um mapa de cubo. 0x8000 DDSCAPS2_VOLUME Necessário para uma textura de volume. 0x200000 O sinalizador DDS_CUBEMAP_POSITIVEX, que é definido em Dds.h, é uma combinação bit a bit or dos sinalizadores DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_POSITIVEX.
O sinalizador DDS_CUBEMAP_NEGATIVEX, que é definido em Dds.h, é uma combinação or bit a bit dos sinalizadores DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_NEGATIVEX.
O sinalizador DDS_CUBEMAP_POSITIVEY, que é definido em Dds.h, é uma combinação bit a bit or dos sinalizadores DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_POSITIVEY.
O sinalizador DDS_CUBEMAP_NEGATIVEY, que é definido em Dds.h, é uma combinação bit a bit or dos sinalizadores DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_NEGATIVEY.
O sinalizador DDS_CUBEMAP_POSITIVEZ, que é definido em Dds.h, é uma combinação bit a bit or dos sinalizadores DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_POSITIVEZ.
O sinalizador DDS_CUBEMAP_NEGATIVEZ, que é definido em Dds.h, é uma combinação bit a bit or dos sinalizadores DDSCAPS2_CUBEMAP e DDSCAPS2_CUBEMAP_NEGATIVEZ.
O sinalizador DDS_CUBEMAP_ALLFACES, que é definido em Dds.h, é uma combinação bit a bit do DDS_CUBEMAP_POSITIVEX, DDS_CUBEMAP_NEGATIVEX, DDS_CUBEMAP_POSITIVEY, DDS_CUBEMAP_NEGATIVEY, DDS_CUBEMAP_POSITIVEZ e sinalizadores DDSCAPS2_CUBEMAP_NEGATIVEZ.
O sinalizador DDS_FLAGS_VOLUME, que é definido em Dds.h, é igual ao sinalizador DDSCAPS2_VOLUME.
Observação
Embora o Direct3D 9 dê suporte a mapas de cubo parciais, Direct3D 10, 10.1 e 11 exigem que você defina todas as seis faces de mapa de cubo (ou seja, você deve definir DDS_CUBEMAP_ALLFACES).
-
dwCaps3
-
Tipo: DWORD
-
Não utilizado.
-
dwCaps4
-
Tipo: DWORD
-
Não utilizado.
-
dwReserved2
-
Tipo: DWORD
-
Não utilizado.
Comentários
Inclua sinalizadores em dwFlags para os membros da estrutura que contêm dados válidos.
Use essa estrutura em combinação com um DDS_HEADER_DXT10 para armazenar uma matriz de recursos em um arquivo DDS. Para obter mais informações, consulte matrizes de textura.
DDS_HEADER é idêntico à estrutura DDSURFACEDESC2 do DirectDraw sem dependências DirectDraw.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|