Пример текстуры DDS
Для несжатой текстуры используйте флаги DDSD_PITCH и DDPF_RGB; для сжатой текстуры используйте флаги DDSD_LINEARSIZE и DDPF_FOURCC. Для текстуры mipmapped используйте DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP и флаги DDSCAPS_COMPLEX, а также элемент счетчика MIP-карты. Если создаются MIP-карты, обычно записываются все уровни вплоть до 1-1.
Для сжатой текстуры размер каждого изображения на уровне MIP обычно составляет один четвертый размер предыдущего изображения с минимумом 8 (DXT1) или 16 (DXT2-5) байт (для квадратных текстур). Используйте следующую формулу, чтобы вычислить размер каждого уровня для некверной текстуры:
max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)
В этой таблице перечислены объем пространства, занимаемого каждым слоем для текстуры 256 на 256 R8G8B8 без сжатия.
Компоненты DDS | # Байт |
---|---|
заголовок | 128 |
256-к-256 главное изображение | 196608 |
Изображение mipmap с 128 по 128 | 49152 |
Изображение mip с 64 по 64 | 12288 |
Изображение mip с 32 по 32 | 3072 |
Изображение mipmap с 16 по 16 | 768 |
Изображение mipmap с 8 на 8 | 192 |
Изображение mipmap с 4 по 4 | 48 |
Изображение mipmap с 2 по 2 | 12 |
Изображение mipmap с 1 по 1 | 3 |
В этой таблице перечислены объем пространства, занимаемого каждым слоем для одной текстуры с помощью сжатия (DXT1).
Компоненты DDS | # Байт |
---|---|
заголовок | 128 |
Основное изображение 256 на 64 | 8192 |
Изображение mipmap 128 by-32 | 2048 |
Изображение mipmap 64 by-16 | 512 |
32-по-8 mipmap image | 128 |
Изображение mip с 16 по 4 | 32 |
Изображение mipmap с 8 на 2 | 16 |
Изображение mipmap с 4 по 1 | 8 |
Изображение mipmap с 2 по 1 | 8 |
Изображение mipmap с 1 по 1 | 8 |
В этой таблице перечислены объем пространства, занимаемого каждым слоем для одной текстуры с использованием формата сжатия DXGI (в данном случае BC3_UNORM), поэтому для этого требуется расширенный заголовок:
Компоненты DDS | # Байт |
---|---|
заголовок (FourCC, для параметра "DX10") | 128 |
расширенный заголовок (для формата DXGI задано значение DXGI_FORMAT_BC3_UNORM) | 20 |
Основное изображение 256 на 64 | 16384 |
Изображение mipmap 128 by-32 | 4096 |
Изображение mipmap 64 by-16 | 1024 |
32-по-8 mipmap image | 256 |
Изображение mip с 16 по 4 | 64 |
Изображение mipmap с 8 на 2 | 32 |
Изображение mipmap с 4 по 1 | 16 |
Изображение mipmap с 2 по 1 | 16 |
Изображение mipmap с 1 по 1 | 16 |
Связанные темы