Condividi tramite


Esempio di trama del volume DDS

Per una trama del volume, usare i flag DDSCAPS_COMPLEX, DDSCAPS2_VOLUMEe DDSD_DEPTHe impostare dwDepth. Una trama di volume è un'estensione di una trama standard per Direct3D 9; una trama di volume può essere definita con o senza mipmap.

Per i volumi senza mipmap, ogni sezione di profondità viene scritta nel file in ordine. Se sono incluse mipmap, tutte le sezioni di profondità per un determinato livello mipmap vengono scritte insieme, con ogni livello contenente metà di sezioni del livello precedente con un minimo di 1.

Ad esempio, una mappa del volume da 64 a 64 by-4 usando un formato pixel di R8G8B8 (3 byte per pixel) con tutti i livelli mipmap conterrà quanto segue:

Componenti DDS # Byte
intestazione 128 byte
64-by-64 sezione 1 di 4 immagine principale. 12288 byte
64-by-64 sezione 2 di 4 immagine principale. 12288 byte
64-by-64 sezione 3 di 4 immagine principale. 12288 byte
64-by-64 sezione 4 di 4 immagine principale. 12288 byte
32 per 32 sezione 1 di 2 immagine mipmap. 3072 byte
32-by-32 sezione 2 di 2 immagine mipmap. 3072 byte
16 per 16 sezione 1 di 1 immagine mipmap. 768 byte
8 per 8 sezione 1 di 1 immagine mipmap. 192 byte
4 per 4 sezione 1 di 1 immagine mipmap. 48 byte
2 per 2 sezione 1 di 1 immagine mipmap. 12 byte
1 per 1 sezione 1 di 1 immagine mipmap. 3 byte

 

Si noti che il livello mipmap più piccolo è solo di 3 byte perché il conteggio bit è 24 e non esiste alcuna compressione aggiunta a questo livello.

Il supporto per le trame dei volumi è stato aggiunto in DirectX 8.

Guida alla programmazione di per DDS