Как правильно конвертировать в формат DDS


Очень часто наблюдается ошибка конвертирования в формат DDS.

Почему это происходит? Попробуем разобраться.


Если вам необходимо получить файл - то скорее всего вам необходимо будет выставить опцию mipmap, в этом случае исходную картинку лучше всего подготовить предварительно - вам потребуется квадратное изображение со сторонами рассчитанное по формуле: 2^N - это значит что вы можете использовать картинки только с размерами (128, 512, 1024 и другие размеры).
Это главная причина почему изображение не может быть сконвертировано, так же если у вас уже есть готовое изображение - вы можете воспользоваться операцией ресайза, просто укажите размеры изображения и снимите флаг "сохранять пропорции". После этого конвертация скорее всего пройдет без ошибок.

Немного теории о формате:


DDS - это графический формат, расшифровывается как "Microsoft® DirectDraw Surface"
Он является стандартным форматом для использования графических данных в Microsoft® DirectX.
Microsoft® DirectDraw Surface (DDS) используется как хранилище данных для поверхностей и текстур. Если в текстурах размер сторон равен 2 в степени N, то можно сохранить уровни mipmap (в полученном файле будет содержаться полный набор размеров исходной картинки - до указанного размера).
Формат DDS может хранить информацию в сжатом и несжатом виде. Если вам необходимо хранить данные в сжатом формате, то используйте тип DXTn.
Данный онлайн конвертер изображений в DDS может сохранять данные изображения со следующими форматами:
  • R8G8B8: (24 bits per pixel, R:8, G:8, B:8)
  • R5G6B5: (16 bits per pixel, R:5, G:6, B:5)
  • A8R8G8B8: (32 bits per pixel, A:8, R:8, G:8, B:8)
  • A8B8G8R8: (32 bits per pixel, A:8, B:8, G:8, R:8)
  • X8R8G8B8: (32 bits per pixel, A:x, R:8, G:8, B:8)
  • X8B8G8R8: (32 bits per pixel, A:x, B:8, G:8, R:8)
  • A1R5G5B5: (16 bits per pixel, A:1, R:5, G:5, B:5)
  • X1R5G5B5: (16 bits per pixel, A:x, R:5, G:5, B:5)
  • L8: (8 bits per pixel, luminance:8)
  • A8L8: (16 bits per pixel, A:8, L:8)
  • DXT1: (compressed, 1-bit alpha)
  • DXT2: (compressed, 4-bit premultiplied alpha)
  • DXT3: (compressed, 4-bit nonpremultiplied alpha)
  • DXT4: (compressed, interpolated premultiplied alpha)
  • DXT5: (compressed, interpolated nonpremultiplied alpha)