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.