dds

DDS

DDS (DirectDraw Surface) - растровый графический формат, разработанный корпорацией Microsoft для использования с API DirectX (может также быть использован в OpenGL). Широко применяется в мультимедийных приложениях, в том числе и в 3D-играх. В отличие от обычных форматов сжатия, таких как JPEG и PNG, изображения DDS хранятся в памяти в сжатом виде, а декомпрессия производится видеокартой на лету. Таким образом, использование DDS позволяет понизить требования к видеопамяти и уменьшить время загрузки текстур. Кроме того, DDS поддерживает предрасчет мип-уровней, а также сохранение кубических карт.

Формат поддерживает несколько различных алгоритмов сжатия, объединенных в семейство DXT (DirectX Texture Compression), известное также как S3TC (S3 Texture Compression). Изображение разбивается на фрагменты 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.txt
  • Последнее изменение: 2021/03/15 09:24
  • (внешнее изменение)