Condividi tramite


Esempio di trama del volume DDS

Per una trama del volume, usare i flag DDSCAPS_COMPLEX, DDSCAPS2_VOLUME e DDSD_DEPTH e impostare dwDepth. Una trama del volume è un'estensione di una trama standard per Direct3D 9; una trama del 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 di 64 by-64 by-4 usando un formato pixel di R8G8B8 (3 byte per pixel) con tutti i livelli mipmap conterrà quanto segue:

Componenti DDS # Byte
header 128 byte
64 per 64 sezione 1 di 4 immagine principale. 12288 byte
64 per 64 sezione 2 di 4 immagine principale. 12288 byte
64 per 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 per 32 sezione 2 di 2 immagine mipmap. 3072 byte
16 per 16 sezione 1 di 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 è di soli 3 byte perché il numero di bit è 24 e non esiste alcuna compressione aggiunta a questo livello.

Il supporto per le trame del volume è stato aggiunto in DirectX 8.

Guida alla programmazione per DDS