Partilhar via


Exemplo de textura DDS

Para uma textura não comprimida, utilize as bandeiras DDSD_PITCH e DDPF_RGB; Para uma textura comprimida, use os sinalizadores DDSD_LINEARSIZE e DDPF_FOURCC. Para uma textura mapeada, use também os sinalizadores DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP e DDSCAPS_COMPLEX, bem como o membro de contagem de mipmap. Se mipmaps são gerados, todos os níveis até 1-por-1 são geralmente escritos.

Para uma textura comprimida, o tamanho de cada imagem de nível mipmap é tipicamente um quarto do tamanho da anterior, com um mínimo de 8 (DXT1) ou 16 (DXT2-5) bytes (para texturas quadradas). Use a seguinte fórmula para calcular o tamanho de cada nível para uma textura não quadrada:

max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)

Esta tabela lista a quantidade de espaço ocupado por cada camada para uma textura R8G8B8 256x256, sem usar compressão.

Componentes DDS # Bytes
cabeçalho 128
Imagem principal 256x256 196608
Imagem MIPMAP 128x128 49152
Imagem MIPMAP 64x64 12288
Imagem MIPMAP 32x32 3072
Imagem MIPMAP 16x16 768
Imagem MIPMAP 8 por 8 192
Imagem MIPMAP 4 por 4 48
Imagem MIPMAP 2 por 2 12
Imagem MIPMAP 1 por 1 3

 

Esta tabela lista a quantidade de espaço ocupado por cada camada para a mesma textura usando compressão (DXT1).

Componentes DDS # Bytes
cabeçalho 128
Imagem principal 256x64 8192
Imagem MIPMAP 128x32 2048
Imagem MIPMAP 64x16 512
Imagem MIPMAP 32 por 8 128
Imagem MIPMAP 16 por 4 32
Imagem MIPMAP 8 por 2 16
Imagem MIPMAP 4 por 1 8
Imagem MIPMAP 2 por 1 8
Imagem MIPMAP 1 por 1 8

 

Esta tabela lista a quantidade de espaço ocupado por cada camada para a mesma textura usando um formato de compressão DXGI (neste caso, BC3_UNORM) que, portanto, requer o cabeçalho estendido:

Componentes DDS # Bytes
cabeçalho (FourCC definido como "DX10") 128
cabeçalho estendido (formato DXGI definido como DXGI_FORMAT_BC3_UNORM) 20
Imagem principal 256x64 16384
Imagem MIPMAP 128x32 4096
Imagem MIPMAP 64x16 1024
Imagem MIPMAP 32 por 8 256
Imagem MIPMAP 16 por 4 64
Imagem MIPMAP 8 por 2 32
Imagem MIPMAP 4 por 1 16
Imagem MIPMAP 2 por 1 16
Imagem MIPMAP 1 por 1 16

 

Guia de programação para DDS