Пример текстуры тома DDS
Для текстуры тома используйте флагиDDSCAPS_COMPLEX, DDSCAPS2_VOLUME и DDSD_DEPTH и задайте dwDepth. Текстура объема является расширением стандартной текстуры для Direct3D 9; текстуру тома можно определить с помощью mIP-карт или без нее.
Для томов без MIP-карт каждый срез глубины записывается в файл по порядку. Если включены MIP-карты, все срезы глубины для заданного уровня MIP-карты записываются вместе, при этом каждый уровень содержит половину меньшего количества срезов предыдущего уровня с минимальным количеством 1.
Например, схема томов 64 на 64 на 4 с использованием формата пикселей R8G8B8 (3 байта на пиксель) со всеми уровнями MIP-карты будет содержать следующее:
Компоненты DDS | # Байт |
---|---|
заголовок | 128 байт |
64 на 64 срез 1 из 4 main изображения. | 12288 байт |
64 на 64 срез 2 из 4 main изображения. | 12288 байт |
64 на 64 срез 3 из 4 main изображения. | 12288 байт |
64 на 64 срез 4 из 4 main изображения. | 12288 байт |
32 на 32 срез 1 из 2 MIP-изображения. | 3072 байта |
32 на 32 срез 2 из 2 MIP-изображения. | 3072 байта |
16 на 16 срез 1 из 1 MIP-изображения. | 768 байт |
8 на 8 срез 1 из 1 MIP-изображения. | 192 байта |
4 на 4 срез 1 из 1 MIP-изображения. | 48 байт |
2 на 2 срез 1 из 1 MIP-изображения. | 12 байт |
1 на 1 срез 1 из 1 MIP-изображения. | 3 байта |
Обратите внимание, что наименьший уровень MIP-карты составляет всего 3 байта, так как число битов равно 24 и на этом уровне не добавляется сжатие.
В DirectX 8 добавлена поддержка текстур томов.
Связанные темы