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.
Argomenti correlati