Condividi tramite


Esempio di trama DDS

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

Per una trama compressa, le dimensioni di ogni immagine del livello mipmap sono in genere una quarta la dimensione del precedente, con un minimo di 8 (DXT1) o 16 (DXT2-5) byte (per le trame quadrate). 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 256-by-256 R8G8B8, senza usare la compressione.

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

 

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

Componenti DDS # Byte
intestazione 128
Immagine principale 256 by-64 8192
Immagine mipmap 128-by-32 2048
Immagine mipmap 64 by-16 512
Immagine mipmap 32-by-8 128
Immagine mipmap da 16 a 4 32
Immagine mipmap da 8 a 2 16
Immagine mipmap da 4 a 1 8
Immagine mipmap 2 by-1 8
Immagine mipmap da 1 a 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 impostato su "DX10") 128
intestazione estesa (formato DXGI impostato su DXGI_FORMAT_BC3_UNORM) 20
Immagine principale 256 by-64 16384
Immagine mipmap 128-by-32 4096
Immagine mipmap 64 by-16 1024
Immagine mipmap 32-by-8 256
Immagine mipmap da 16 a 4 64
Immagine mipmap da 8 a 2 32
Immagine mipmap da 4 a 1 16
Immagine mipmap 2 by-1 16
Immagine mipmap da 1 a 1 16

 

Guida alla programmazione di per DDS