DXT

Xtreme3D v3

DXT

DXT
Алгоритм сжатия изображения, используемый форматом DDS. Имеет несколько типов: DXT1 (BC1), DXT3 (BC2), DXT5 (BC3), а также DXT1a (BC1a), DXT5n (BC3n), ATI1 (BC4), ATI2 (BC5, LATC, RGTC).
Изображение разбивается на фрагменты 4х4. Все пиксели во фрагменте приводятся к двум усредненным цветам. Фрагмент - тексель - описывается двумя 16-битными значениями цветов и шестнадцатью 2-битными значениями пикселей. Таким образом, получаем 2*16+16*2 = 64 бит на тексель или 64/16 = 4 бит на пиксель.
Альфа-канал обрабатывается различными способами, в зависимости от типа DXT. В DXT1 тексель альфа-канала описывается четырьмя цветами. При максимальной или минимальной прозрачности, на тексель отводится один бит.
В DXT3 и DXT5 альфа-канал задается дополнительным 64-битным блоком для каждого текселя (таким образом, вдвое увеличивая размер изображения). В DXT3 на прозрачность каждого пикселя отводится по 4 бита. В DXT5 для текселя отбирается два 8-битных значения, определяющих диапазон прозрачности. Для каждого пикселя альфа-канала используется три бита, указывющих прозрачность в данном диапазоне.

Как выбрать подходящий тип DXT:
1. Если в изображении не нужен альфа-канал, используйте DXT1.
2. Если в изображении есть плавные градации прозрачности (например, размытие в прозрачность), наиболее высокое качество передаст DXT5.
3. Если, наоборот, переходы прозрачности достаточно резкие, можно выбрать DXT3.


См. также DDS.