Condividi tramite


Esempio di trama DDS

Per una trama non compressa, usare i flag di DDSD_PITCH e DDPF_RGB; per una trama compressa, usare i flag di DDSD_LINEARSIZE e di DDPF_FOURCC. Per una trama mipmapped, usare i DDSD_MIPMAPCOUNT, i DDSCAPS_MIPMAP e i flag di DDSCAPS_COMPLEX, nonché il membro del conteggio mipmap. Se vengono generati mipmap, tutti i livelli fino a 1 by-1 vengono in genere scritti.

Per una trama compressa, le dimensioni di ogni immagine a livello di mipmap sono in genere una quarta la dimensione della precedente, con un minimo di 8 (DXT1) o 16 (DXT2-5) byte (per trame quadratiche). Usare la formula seguente per calcolare le dimensioni di ogni livello per una trama non quadrata:

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

Questa tabella elenca la quantità di spazio occupato da ogni livello per una trama da 256 a 256 R8G8B8, senza usare la compressione.

Componenti DDS # Byte
header 128
256 by-256 immagine principale 196608
Immagine mipmap 128 by-128 49152
Immagine mipmap di 64 by-64 12288
Immagine mipmap 32 by-32 3072
Immagine mipmap 16 by-16 768
Immagine mipmap di 8 by-8 192
Immagine mipmap da 4 by-4 48
Immagine mipmap 2 by-2 12
Immagine mipmap 1 by-1 3

 

Questa tabella elenca la quantità di spazio occupato da ogni livello per la stessa trama usando la compressione (DXT1).

Componenti DDS # Byte
header 128
256 by-64 immagine principale 8192
Immagine mipmap 128 by-32 2048
Immagine mipmap 64 by-16 512
Immagine mipmap di 32 by-8 128
Immagine mipmap di 16 by-4 32
Immagine mipmap di 8 by-2 16
Immagine mipmap da 4 by-1 8
Immagine mipmap 2 by-1 8
Immagine mipmap 1 by-1 8

 

Questa tabella elenca la quantità di spazio occupato da ogni livello per la stessa trama usando un formato di compressione DXGI (in questo caso BC3_UNORM) che richiede quindi l'intestazione estesa:

Componenti DDS # Byte
intestazione (FourCC impostata su "DX10") 128
intestazione estesa (formato DXGI impostato su DXGI_FORMAT_BC3_UNORM) 20
256 by-64 immagine principale 16384
Immagine mipmap 128 by-32 4096
Immagine mipmap 64 by-16 1024
Immagine mipmap di 32 by-8 256
Immagine mipmap di 16 by-4 64
Immagine mipmap di 8 by-2 32
Immagine mipmap da 4 by-1 16
Immagine mipmap 2 by-1 16
Immagine mipmap 1 by-1 16

 

Guida alla programmazione per DDS