Что такое формат файла DDS?
Формат файлов .dds (сокращение от DirectDraw Surface) содержит растровые изображения, используемые DirectX. Стандартный файл .dds хранит текстуры, фоны, кубические карты (cubemaps) и карты текстур для компьютерных игр и других 3D-приложений реального времени.
Формат может использовать сжатие для уменьшения размера файла, хотя это не обязательно. .dds использует алгоритм S3 Texture Compression (S3TC), охватывающий семейство BC1-BC3 (также известное как DXT1, DXT3 и DXT5). Более новые режимы BC4-BC7, представленные в Direct3D 10, расширяют поддержку HDR-контента, карт нормалей и высококачественных данных RGBA. Данные файлов .dds могут быть распакованы и отрисованы с помощью стандартных функций библиотек DirectX, а форматы с блочным сжатием декодируются графическим процессором (GPU) нативно без участия центрального процессора (CPU).
.dds был создан для программного обеспечения с рендерингом в реальном времени, например, для компьютерных игр. Предварительно сжатые текстуры .dds позволяют играм быстрее загружать ресурсы и снижают потребление памяти видеокартами, совместимыми с DirectX. Формат также поддерживает встроенные предварительно вычисленные цепочки mipmap-уровней, которые улучшают производительность рендеринга при различных расстояниях обзора.
.dds появился вместе со стандартом DirectX 7.0. Каждая новая версия DirectX добавляла улучшения: DirectX 8.0 добавил поддержку объемных текстур, Direct3D 10 - массивы текстур и блок расширения DDS_HEADER_DXT10, а Direct3D 11 расширил BC7 для высококачественного сжатия текстур RGBA. Каждый файл .dds начинается с четырехбайтовой магической сигнатуры DDS (включая завершающий пробел) со смещением 0. Родственные форматы текстур включают .PNG, .TGA и .KTX для кроссплатформенных конвейеров разработки.
Безопасность и защита
РИСК: LOWDDS - это пассивные данные изображения без исполняемого кода, поэтому их просмотр безопасен. Основные предостережения носят технический характер: при редактировании сохраняйте файл с ПРАВИЛЬНЫМ сжатием (например, DXT5/BC3 или BC7 для цвета с альфа-каналом, BC5 для карт нормалей) и заново генерируйте mipmap-уровни, иначе текстура будет выглядеть неправильно или вызовет сбой в игре; конвертация в JPG портит карты нормалей и отражений. Текстуры игр и модов часто являются объектами авторского права - соблюдайте лицензии. Избегайте подозрительных сайтов-конвертеров DDS, которые могут предлагать загрузку рекламного ПО; используйте проверенные бесплатные инструменты из списка.
Детали формата
в двух словахПрограммы, открывающие файлы DDS
Технические подробности
глубокая спецификация| Тип контейнера | Бинарный контейнер растровых текстур, поддерживающий как блочно-сжатые, так и несжатые пиксельные данные |
| Магические байты | «DDS » (hex 44 44 53 20) со смещением 0, включая завершающий пробел - присутствует в каждом валидном файле .dds |
| Структура заголовка | 4-байтовая сигнатура + 124-байтный DDS_HEADER; файлы, использующие расширение DX10, добавляют блок DDS_HEADER_DXT10 сразу после него |
| Форматы блочного сжатия | BC1 (DXT1), BC2 (DXT3), BC3 (DXT5), BC4, BC5, BC6H (HDR), BC7 (высококачественный RGBA) |
| Несжатые форматы | Поддерживаются - RGBA8888, A8L8, R16G16B16A16F и другие структуры сырых пикселей могут храниться без сжатия |
| Поддержка Mipmap | Предварительно вычисленная цепочка mipmap-уровней встроена в один файл; количество уровней хранится в DDS_HEADER.dwMipMapCount |
| Поддержка кубических карт | Шесть текстур граней куба, закодированных в одном файле; помечаются битами DDSCAPS2_CUBEMAP в DDS_HEADER |
| Объемные текстуры | 3D (объемные) текстуры поддерживаются начиная с DirectX 8.0; срезы хранятся последовательно для каждого mip-уровня |
| Массивы текстур | Массив слоев текстур, хранящийся в одном файле, доступен через расширение заголовка DX10 (Direct3D 10+) |
| Совместимость с GPU | Форматы с блочным сжатием декодируются нативно графическим процессором, что позволяет загружать их напрямую без декомпрессии на CPU |
| Поддержка HDR | BC6H хранит данные яркости HDR с плавающей запятой половинной точности (FP16) для физически корректного рендеринга (PBR) |
| MIME-тип | image/vnd-ms.dds |
| FourCC заголовка DX10 | Файлы с расширением DX10 содержат токен FourCC «DX10» в поле dwFourCC структуры DDS_PIXELFORMAT |
| Типовой сценарий использования | 3D-рендеринг в реальном времени: текстуры игровых движков, скайбоксы, карты нормалей, карты шероховатости/металличности PBR |
| Выпущен | DirectX 7 (1999); modern DX10 header extension added with DirectX 10 (2006) |
| Открыть стандартное | Да · без роялти |
| Спецификация | learn.microsoft.com |
Конвертации DDS
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах DDS.