Современные видеокарты как правило хранят текстуры в сжатом виде.
И поскольку декодирование аппаратное то это очень положительно сказывается на производительности, т.к. требует меньший объём памяти и уменьшает объём передаваемых данных в 4-8 раз.
Рассмотрим форматы DXT - DirectX Texture Compression и BC 4-5.
DXT 1.
При использовании данного алгоритма сжатия изображение разбивается на фрагменты 4х4 пикселя и для каждого такого фрагмента задаются два основных цвета. Каждый цвет занимает 16 бит в формате RGB 5,6,5 по 5 бит на красный и синий каналы и 6 бит на зелёный. Как видите зелёному уделено больше внимания т.к. человеческий глаз особенно чувствителен именно к зелёной составляющей спектра.
Так же по два бита на каждый пиксель матрицы 4х4 которые позволяют задать один из двух заданных цветов и 2 промежуточных варианта на основе линейной интерполяции. Таким образом в пределах одного блока у нас есть 4 разных цвета, 2 заданных и два промежуточных.
Данный формат не поддерживает ал