Поделиться через


Пример текстуры тома DDS

Для текстуры тома используйте DDSCAPS_COMPLEX, DDSCAPS2_VOLUMEи флаги DDSD_DEPTHи задайте dwDepth. Текстура тома — это расширение стандартной текстуры для Direct3D 9; Текстура тома может быть определена с помощью mIP-карт или без нее.

Для томов без MIP-карт каждый срез глубины записывается в файл по порядку. Если включены mipmapы, все срезы глубины для заданного уровня MIP-карты записываются вместе, с каждым уровнем, содержащим половину срезов, как и предыдущий уровень с минимальным количеством 1.

Например, карта тома размером 64–64-4 с использованием формата пикселей R8G8B8 (3 байта на пиксель) со всеми уровнями MIP-карты будет содержать следующее:

Компоненты DDS # Байт
заголовок 128 байт
64-к-64 срез 1 из 4 основного изображения. 12288 байт
64-к-64 срез 2 из 4 основного изображения. 12288 байт
64-к-64 срез 3 из 4 основного изображения. 12288 байт
64-к-64 срез 4 из 4 основного изображения. 12288 байт
32-по-32 срез 1 из 2 mipmap изображения. 3072 байта
32-к-32 срез 2 из 2 mipmap изображения. 3072 байта
16-по-16 срез 1 из 1 mipmap изображения. 768 байт
8-к-8 срез 1 из 1 mipmap изображения. 192 байта
4-к-4 срез 1 из 1 mipmap изображения. 48 байт
2-по-2 срез 1 из 1 mipmap изображения. 12 байт
1-по-1 срез 1 из 1 mipmap изображения. 3 байта

 

Обратите внимание, что наименьший уровень mipmap составляет всего 3 байта, так как битовая запись составляет 24, и на этом уровне не добавляется сжатие.

Добавлена поддержка текстур тома в DirectX 8.

Руководство по программированию для DDS