Все о файлах DDS
Формат текстур Microsoft для игр и 3D-приложений
DDS — это аббревиатура от DirectDraw Surface, формат файлов, разработанный Microsoft для хранения текстур и данных поверхностей в 3D-приложениях. Этот формат был введен вместе с DirectX 7 для хранения как сжатых, так и[1] несжатых текстур. Заголовок напрямую происходит от структур DirectDraw 7, и хотя сам DirectDraw уже давно считается устаревшим API, формат файлов продолжает существовать и по-прежнему широко используется[2]. Любой, кто когда-либо распаковывал игровые файлы или даже создавал модификации для игр, почти наверняка сталкивался с файлами .dds — и, возможно, не мог их сразу просмотреть.
Техническая справка
В то время видеокарты часто имели всего 8 МБ видеопамяти, и несжатые текстуры за считанные секунды ее исчерпывали. Решение предложила компания S3 Graphics, которая разработала технологию S3 Texture Compression (S3TC), позволяющую сжимать данные текстур до размера от четверти до шестой части их первоначального объема, при этом видеокарта не должна была сначала тратить время на распаковку данных перед рендерингом. В марте 1998 года Microsoft лицензировала эту технологию для DirectX[3]. S3TC изначально был разработан для видеокарты Savage 3D, а в 1997 году[4] на него была подана заявка на патент. Microsoft выбрала именно этот алгоритм, поскольку он обеспечивал наилучшее качество изображения и мог быть реализован в аппаратном [3]обеспечении с минимальными затратами. С DirectX 7 сжатый файл текстуры получил свой собственный контейнер: формат DDS.
Дальнейшее развитие формата
То, что в 1999 году начиналось как простой контейнер текстур, с годами было значительно расширено. С DirectX 8.0 добавилась поддержка объемных текстур, а начиная с Direct3D 10 поддерживаются также массивы текстур[1]. При этом был введен расширенный заголовок (DX10-Extension), который решил довольно неприятную проблему: названия форматов из Direct3D 9 и Direct3D 10 конфликтовали друг с другом, что без нового заголовка привело бы к [2]неоднозначностям при загрузке. С DirectX 11 были добавлены дополнительные методы сжатия, которые, среди прочего, позволяют использовать HDR-текстуры (для реалистичного освещения) и обеспечивают в целом более высокую точность цветопередачи.
DDS — формат изображения или контейнер?
DDS — это не столько классический формат изображения, сколько формат контейнера. Один файл DDS может содержать не только простые 2D-текстуры, но и кубические карты (шесть сторон отражения окружающей среды, которые нужны, например, для неба или зеркальных поверхностей), объемные текстуры (для таких эффектов, как туман или дым) и полные цепочки мип-карт. Последние представляют собой варианты текстур с понижающимся разрешением, чтобы объект, находящийся на расстоянии, не загружал ту же текстуру с высоким разрешением, что и объект, расположенный непосредственно перед камерой. Пять исходных форматов сжатия DXT1–DXT5 были переименованы в Direct3D [4]10 в BC1–BC3, при этом DXT2 и DXT4 практически не использовались.
Области применения файлов DDS
Этот формат поддерживается практически всеми крупными игровыми движками, включая Unreal Engine, Unity и CryEngine. Типичные области применения — это диффузные карты (фактическая расцветка поверхности), карты нормалей (симулированные детали поверхности, такие как бороздки или неровности), карты бликов (управление блеском и отражениями) и все другие типы текстур, которые используются в современных 3D-играх.
Хотя DDS изначально был разработан для DirectX, его можно использовать и в OpenGL через расширение [4]GL_EXT_texture_compression_s3tc. Поэтому те, кто считает, что DDS — это исключительно Windows-формат, ошибаются. Этот формат используется и за пределами игровой индустрии, например, в архитектурной визуализации или симуляциях.
Программная поддержка
Для открытия и редактирования файлов DDS доступны различные программы, в том числе Adobe Photoshop (с плагином), GIMP (с плагином DDS), Paint.NET и IrfanView. Microsoft поддерживает на GitHub собственные библиотеки с открытым исходным кодом DirectXTex и DirectXTK, которые полностью поддерживают этот формат. В качестве альтернативы файлы DDS можно конвертировать прямо в браузере с помощью ru.file-converter-online.com в распространенные форматы, такие как PNG или JPG.
Источники
[1] Microsoft Learn: DDS — Win32 apps
[2] Chuck Walbourn / Microsoft DirectX SDK Blog: The DDS File Format Lives
[3] Microsoft Licenses 3-D Graphics Technology From S3 Incorporated
[4] Wikipedia S3 Texture Compression
Конвертируйте, открывайте и редактируйте файлы DDS
Информация о файлах DDS
- Программное обеспечение для открытия файлов DDS
- Adobe Photoshop (Plugin) GIMP (Plugin) Paint.NET IrfanView
- Программное обеспечение для редактирования файлов DDS
- Adobe Photoshop (Plugin) GIMP (Plugin)
- MIME-тип для DDS
- image/vnd-ms.dds
Комментариев нет