Сайт о телевидении

Сайт о телевидении

» » Как редактировать каналы в dds файлы. Зачем нужны DDS файлы. Выполнение заливки канала в Photoshop

Как редактировать каналы в dds файлы. Зачем нужны DDS файлы. Выполнение заливки канала в Photoshop

Файлы.dds не предназначены для рядовых пользователей. Поэтому довольно странно, если вы вдруг обнаружили его случайно на вашем компьютере. Но как и любой другой формат, этот можно открыть, а также отредактировать при помощи специального софта.

Для чего нужен?

Документы формата DDS содержат в себе информацию о 3D-текстурах. Это сжатые растровые изображения , которые применяются во многих 3D-приложениях, в особенности в компьютерных и консольных играх. Алгоритм сжатия позволяет использовать текстуры на таких консолях, как Xbox 360 и Play Station 3: Bethesda особенно часто делает объекты в своих играх через «дидиэс». Формат поддерживается большинством видеокарт , программой DirectX, а также программным обеспечением, которое выпускается производителями видеокарт.

Как открыть DDS?

Файл представляет собой растровую картинку. А значит, его можно открыть через графические редакторы. Вот только не всегда можно редактировать. Существуют специальные конвертеры, которые трансформируют эти файлы в более привычные для стандартного ПО форматы: .bmp, .jpeg и т. п. Это, например, Right Click Image Converter. Утилита быстро переведёт.dds в более «лёгкое» расширение.

С редактированием всё немного сложнее. Здесь уже не обойтись без помощи специальных программ для обработки растровых 3D-изображений. Открыть файл с этим расширением и в дальнейшем редактировать можно через такие программы, как Paint.NET, XnView, Windows Texture Viewer. Но больший интерес для каждого дизайнера представляет, наверное, Photoshop, с помощью которого удобнее работать с этим форматом, да и с другими тоже.

Photoshop

Чтобы открыть файл в Фотошопе , нужен плагин, выпускаемый компанией NVIDIA, - NVIDIA Texture Tools for Adobe Photoshop. Скачивается бесплатно, но, разумеется, нужно иметь уже установленный редактор от Adobe.

Внимание! Уроки расчитаны на пользователей, уже достаточно хорошо освоивших фотошоп. Различные вопросы типа "а где находится эта кнопачка???" здесь не рассматриваются.

Непосредственно перед практической работой с текстурами в игре необходимо ознакомиться с форматом ДДС. Научиться правильно открывать файлы, обрабатываеть и сохранять. У множества людей с этим трудности, поэтому и попробую рассказать все в деталях.

Для начала нужно убедиться, что в фотошопе установлен плагин dds от nVidia. Его можно скачать с моего сайта. После его установки мы получаем возможность работать с форматом.dds в фотошопе.

А теперь немного теории.

Необходимо ознакомиться с такими понятиями как режим формата ддс, альфа, мип-уровни (MIP-maps), скайбокс (cubemap).

Мип-уровни Представим себе старый запорожец. Вот мы подходим к нему вплотную. Ржавчина внизу кузова, трещины на стекле, покосившаяся ручка на дверце, царапина на крыле. все в максимальных деталях. Отходим метров на 30, уже видим все не так четко, можем различить ржавчину, но царапину на крыле уже не увидим. Отойдем еще на 50 метров. Там уж о деталях говорить не приходится, так как видим практически только очертания. отойдем еще на 100 м, и от запора остается только пятно на горизонте.

Примерно так и работают мип уровни. Если объект находится близко, к нему подставляется текстура максимального разрешения, при удалении от объекта текстура заменяется на ее копию, но меньшего разрешения, если еще дальше отойти от объекта, разрешение текстуры будет еще меньше. Это делается для того, чтобы не отрисовывать детали, которые мы все равно не увидим с расстояния, это позволит сэкономить ресурсы системы и избавит картинку от излишней четкости.

Текстура в формате.dds может содержать в себе несколько своих дубликатов но с разным разрешением. Например, если мы сохраняем текстуру с разрешением 512*512, так же автоматически в файл сохранится эта же текстура с разрешениями 256*256, 128*128, 64*64, 32*32, и т.д. обычно число таких текстур в одном файле достигает 13. И если вспомнить тот запорожец, то когда мы находимся к нему вплотную, на него наложена текстура 512*512, отойдем на 30 метров, разрешение текстуры изменится до 256*256, еще на 30 метров - уже 128*128, и при дальнейшем удалении от запора его текстура будет уменьшаться дальше.

Но далеко не для всех текстур нужны мип-уровни. Если взять например текстуры интерфейса, например кнопки, окна, иконки инвентаря. Мы ведь не можем отойти от них на 100 метров, значит и мип-уровни для них не нужны. Этой логике и нужно следовать, указывая в настройках, сохранять мип-мапы в файл или нет.

Альфа Текстуры перед сохранением в ддс всегда должны быть в формате RGB со сведенными слоями, т.е стандартная прозрачность в ддс не поддерживается. Ее роль играет альфа (A) - 4-й канал формата RGB. Обычно она используется, когда для текстуры необходимо установить прозрачные участки или другие дополнительные свойства. В сталкере на альфу так же может быть повешан глянец для статического освещения. Важно! Текстуры рельефа состоят из 4 каналов, поэтому альфа для них нужна всегда!

Если альфа отвечает за прозрачность, то яркость пикселя обратно пропорциональна прозрачности текстуры. То есть чем темнее участок альфы - тем прозрачнее текстура на этом участке. Если альфа отвечает за глянец, то текстура в тех местах, где альфа светлее, будет блестеть слабее, а в темных местах альфы - сильнее.

Для разных целей необходима альфа разной глубины цвета. Например для всех полупрозрачных объектов, которые должны отбрасывать тень - альфа 1-битная. (т.е. альфа состоит только из черного цвета и белого) К этим объектам относится листва деревьев, сетчатый забор, решетки на полу или потолке, трава. Для объектов, тень от которых не зависит от прозрачности - используется полноцветная альфа (8 бит).

Сохранять или не сохранять альфу в ддс и с какой глубиной цвета - можно указать в настройках при сохранении текстуры.

Режимы формата.dds формат поддерживает множество вариантов сохранения текстур разного количества каналов и их глубины цвета, так же он поддерживает сжатие. При работе с текстурами сталкера не нужно разбираться во всех режимах. Достаточно знать только эти:

8:8:8 RGB - несжатый вариант сохранения текстур БЕЗ альфы

8:8:8:8 ARGB - несжатый вариант сохранения текстур С альфой

DXT1 (без альфы) - сжатый формат сохранения текстур БЕЗ альфы (сжатие до 8 раз).

DXT1 (с альфой 1 бит) - сжатый формат сохранения текстур С 1-битной альфой (сжатие до 8 раз).

DXT3 - сжатый формат сохранения текстур С альфой, имеющей индексированную палитру меньше 256 цветов (сжатие до 4 раз).

DXT5 - сжатый формат сохранения текстур С полноцветной альфой (сжатие до 4 раз).

Сжатие DXT всегда ведет к ухудшению качества текстуры, и при нескольких ее пересохранениях в сжатый формат качество падает до такого уровня, что ее уже нелья восстановить средствами фотошопа. Поэтому настоятельно рекомендую использовать сжатие только в самом последнем шаге, когда текстура полностью готова и не планируется ее дальнейшее изменение.

Сжатый формат DXT поддерживает только разрешения, кратные 8, т.е размеры сторон 8, ... 64, 128, 256, 512... пикс. и т.д. поэтому не пытайтесь сохранять текстуру неподходящего разрешения, например 400х400, кнопка ОК в таких случаях будет серой.

При работе с любой текстурой необходимо точно знать, для чего и как она будет использоваться, чтобы обработать и сохранить ее с нужными параметрами.

А теперь практика.

Попробуем открыть любой файл в формате ддс. Если текстура содержит мип-уровни (MIP-maps), то вылезет такое окно:

Если мы ответили "нет", то открывается обычная текстура, как мы привыкли видеть. Обычно следует отвечать "нет", если конечно у вас нет желания редактировать каждый мип-уровень в отдельности. Лично я никогда этим не пользуюсь, и всегда нажимаю "нет". И Вам не советую. А если мы ответим "да", то перед нами предстанет что то типа этого:

Напоминаю. Если текстура с альфой сохраняется для дальнейших тестов, то используем режим (8:8:8:8 ARGB), а если вариант текстуры окончателен, то сохраняем в DXT5 или DXT1 (с альфой 1 бит).

Для варианта текстуры без альфы используем (8:8:8 RGB) - для дальнейшей обработки, DXT1 (без альфы) - окончательный вариант.

После обработки нужно сохранить текстуру. Если обработка незначительная, и не было добавлено новых слоев, то используем меню "сохранить", а если созданы дополнительные слои, то удобно использовать "сохранить как...", при этом сведение слоев производить не нужно.

При сохранении текстуры в ддс появляется вот это окно. Здесь много кнопочек, но разобраться здесь не трудно, так как разбираться во всех не нужно.

В группе "Save format" указывается режим сохранения текстуры, а так же тип текстуры из трех: "2D texture" (обычная текстура), "cubemap" (скайбокс), "volume texture" (судя по всему текстура рельефа, я никогда этот тип не использовал). Про скайбоксы будет сказано ниже.

В группе "Mip-map generation" указывается, сохранять или нет мип-уровни в текстуру. первый флажок - сохранять, третий - не сохранять, а второй - это для спецов, тех, кто ответил "да" на вопрос "загружать ли мип-уровни" при открытии текстуры.

Image options - позволяет настроить некоторые параметры сохранения текстур, например качество сохранения, сглаживание альфы, смена каналов местами и т.д. Так как эти опции не имеют прямого влияния на саму работу с форматом ддс, оставлю их вам на изучение методом тыка, понятней будет.

Sharpening - здесь можно изменить четкость мип-уровней. Режим легкого заострения (sharpen soft) позволит немного повысить детализацию объектов вдалеке. я всегда пользуюсь этим режимом.

Config - здесь настраивается работа плагина в целом. например если мы хотим отключить вопрос при открытии текстуры "загружать или нет мип-уровни", то нужно снять галку с опции "Ask to load mip-maps".

Остальное нам не пригодится. Выставив нужные опции в вышеописанных параметрах, жмем "Save"

Теперь подробнее о некоторых специфических типах текстур:

Карты рельефа (bump и bump#) Эти текстуры сохраняются так же как и обычные текстуры с полноцветной альфой, т.е. либо (8:8:8:8 ARGB), либо DXT5. Далее, не следует буквально воспринимать цвета текстур рельефа, наподобие "в сталкире бамп зиленый, а фильтр нвидии делает синий, как быть???" Причина здесь только в порядке каналов. Обычно 3 карта нормалей, которая обычно является белой, находится на канале B, и придает тем самым синий оттенок текстуре в целом. В сталкере же эта карта находится на канале G, поэтому оттенок зеленый. При этом если карту интенсивности блика (канал R) сделать светлой, то в целом текстура bump сталкера будет выглядеть желтоватой.

Скайбоксы (cubemap) Это файлы в формате.dds, которые содержат в себе 6 разных текстур одинакового разрешения, и не имеют мип-мапов. Обычно используются для оформления небесного свода, построенного в виде куба. В фотошопе все 6 текстур для удобства работы выстроены в ряд, (например в Гимпе они расположены на разных слоях):

Порядок следования текстур стандартизован. В интернете можно найти множество заготовок скайбоксов, выстроенных именно в этом порядке.

При сохранении скайбоксов необходимо указывать в "Save format" режим "cubemap", отключать мип-уровни и альфу. Ну вот и все, что необходимо знать по ддс smile Удачи в работе!

Фильтрация мип-уровней

В сталкере, как и в остальных играх, существует технология мип-уровней. Основная цель этой технологии - сохранение разрешения текстуры при удалении от камеры и устранение некрасивого муара, который может появляться по мере приближения камеры к текстуре. Поскольку MIP-карты создаются заранее, данная технология мало загружает текстурную память, давая значительный выигрыш качества картинки и облегчая вычисления в реальном времени.

Мип уровни, которые создаются при увеличении/уменьшении изображения, следуют определённому алгоритму, который задает параметры для их создания. Здесь предоставлены основные фильтры мип-фильтрации, которые наиболее часто встречаются в современных 3Д-играх:

Interpolated Filters (Интерполированные фильтры - простые)

Adwanced – расширенная версия Box, вблизи градиент немного мягче, вдали сильнее перепады.

Box - При уменьшении изображения он будет усреднять и объединять пиксели вместе. Чем меньшее изображение, тем больше пикселей будет усредняться. Любой пиксель который попадает в “box” будет непосредственно использоваться для расчета цвета нового пикселя.

Point - Использование настроек данного фильтра, практически означает то же, что и использовать не масштабированный фильтр интерполяции.

Triangle - Билинейный интерполяционный фильтр, просто берет интерполяцию ближайшей окрестности на один шаг вперёд. Вместо, того чтобы непосредственно усреднять близкие друг к другу пиксели, как это делает “Box”, он оценивает их по тому, как близко новые позиции пикселей к исходным пикселям в окрестности. Чем ближе новый пиксель к исходному пикселю изображения, тем больше цвета этот пиксель даёт. Это в результате дает более глобальное усреднение цветов, когда изображение уменьшено в размере.

Blurring Filters (блюревые фильтры)

Gaussian - очень полезный фильтр для изображений, так как он гарантирует хорошее удаления высокочастотного шума, и этим можно хорошо управлять (удалением шума.

Quadratic - совсем чуть-чуть более блюровый чем Gaussian.

Cubic Filters (Кубические фильтры)

Cubic - даёт эффект мыльности, размытия при уменьшении масштаба, но это хороший фильтр для увеличения масштаба.

Catrom - фильтр представляет собой хорошо известный стандартный Cubic фильтр, зачастую используется как функция интерполяции, и доступный под тем же именем. Этот фильтр даёт достаточно острые края, но без выраженного изменения в градиенте на больших увеличениях масштаба изображения.

Mitchell - производит более четкое изображение, чем Catrom и может добиться лучших результатов с изображением с высокой детализацией.

Загрузка сжатых текстур из файлов формата DDS.

Большинство программ для хранения сжатых текстур используют формат DDS (Direct Draw Surface). Как видно из названия, этот формат предназначен для приложений, использующих API DirectDraw и Direct3D. Формат DDS обладает следующими преимуществами по сравнению с другими распространёнными форматами: возможность хранения текстуры вместе со всеми MipMap-уровнями в одном файле, возможность сохранения 6-ти двухмерных текстур кубической текстуры в одном файле и, наконец, поддержка форматов сжатых текстур S3TC (DXT1, DXT2, DXT3, DXT4 и DXT5). Причём, не смотря на то, что этот формат был разработан для API DirectX, его можно довольно легко "подружить" и с OpenGL.

Существует множество утилит для создания DDS файлов: плагины для Photoshop, 3DS MAX и т.д. Для создания DDS файлов для этой статьи я использовал утилиту nvdxt, которую можно скачать либо с сайта NVIDIA Developer (http://developer.nvidia.com/), либо в составе примеров с этого сайта (). Хотя данная утилита и предназначена для работы в командной строке, ей очень просто пользоваться. Создавая примеры для этой статьи, я использовал команды следующего формата:

nvdxt.exe -file "имя файла" {-формат сжатия=dxt1/dxt3/dxt5}.

Т.е. если нам необходимо сжать файл wood.tga в wood.dds используя формат DXT5, то можно воспользоваться командой

Nvdxt.exe -file WOOD.TGA -dxt5.

Мы рассмотрим работу с файлами формата DDS с использование класса CTexture из состава NVIDIA OpenGL SDK. Конечно, с файлами формата DDS можно работать и напрямую, как мы поступили с форматом SCI, но это лишь усложнит программу и увеличит вероятность появления ошибок. Но если вам всё таки необходимо работать с DDS-файлами напрямую, то можно посоветовать посмотреть исходники класса CTexture.

Перед использованием этого класса в каталог с проектом программы следует скопировать файлы nv_dds.h и nv_dds.cpp, которые находятся в каталогах ":\include\shared" и ":\src\shared" соответственно. После этого первый файл подключается к программе директивой #include, второй - через меню Visual Studio (Project -> Add New Item ..., см. рис. 5).

Рисунок 5.

Использование этого класса проще всего показать на примере - модификации программы Ex03 из предыдущей части статьи, в которую добавлена поддержка чтения текстур из DDS-файлов (Ex04):

//Создание объекта для работы с файлами формата DDS CDDSImage image; if (!image.load(filename) ) { console.add("Bad file or file not found" ) ; glCompressedTexImage2DARB(texture0.target, 0 , image.format, image[ 0 ] .width, image[ 0 ] .height, 0 , image[ 0 ] .size, image[ 0 ] ) ; char str[ 200 , image[ 0 ] .mipmaps.size() ) ; console.add(str) ; //Загрузка остальных MipMap-уровней в видеопамять for (int i=0 ; i< image[ 0 ] .mipmaps.size() ; i++) { glCompressedTexImage2DARB(texture0.target, i+1 , image.format, image[ 0 ] .mipmaps[ i] .width, image[ 0 ] .mipmaps[ i] .height, 0 , image[ 0 ] .mipmaps[ i] .size, image[ 0 ] .mipmaps[ i] ) ; }

Как видно, работа с файлами формата DDS осуществляется при помощи объекта класса CDDSImage. Загрузка текстуры осуществляется методом load(), который в случае успешной загрузки возвращает ненулевое значение. Обратите внимание, что на самом деле метод load() принимает ещё и второй аргумент flipImage, который по умолчанию равен true. Если этот параметр равен true, то текстура переворачивается при загрузке. Загруженные текстуры сохраняются в объектах класса CTexture, которые находиться поле-векторе images класса CDDSImage, доступ которому возможен и использованием перегруженного оператора . Однако, если вы не используете кубических текстур, в поле images будет храниться всего одна текстура. Ширина, высота, формат пикселей и размер текстуры хранятся в полях width, height, format и size соответственно. Указатель на образ сжатой текстуры хранится в поле pixels подобъекта image, имеющего класс CSurface, причём доступ к полю pixels может быть осуществлен при помощи перегруженного оператора operator char* класса CTexture, т.е. вместо ссылки на образ сжатой текстуры можно просто указывать экземпляр класса CDDSImage.

Если DDS-файл содержит MipMap-уровни, то они будут размещены в объектах класса CSurface, которые находятся в поле-векторе image соответствующих объектов класса CTexture. Класс CSurface так же имеет поля width, height, format и size, которые аналогичны полям класса CTexture.

Как указывалось выше, файлы формата DDS могут содержать и образа несжатых текстур. Поэтому реальное приложение должно сначала определить формат пикселей текстуры, а затем использовать команды glTexImage() и glCompressedTexImage() для загрузки соответственно несжатых и сжатых текстур.

Стоит так же отметить небольшую модификацию интерактора консоли glut_console, в которую была добавлена поддержка истории команд.

Загрузку DDS файлов можно ещё упростить, воспользовавшись методом upload_texture_2D класса CDDSImage, использование которого продемонстрировано в следующем примере (Ex05):

CDDSImage image; if (!image.load(filename) ) { console.add("Bad file or file not found" ) ; return ; } //При использовании обычных (не кубических) текстур, первый параметр всегда равен 0. if (!image.upload_texture2D(0 , texture0.target) ) { console.add("Unsupported type of texture" ) ; return ; }

Кроме того, в этот пример добавлена поддержка работы с файлами tga. Это сделано для более точного анализа потери качества текстур при S3TC-компрессии, т.к. JPG-текстуры даже максимального качества всё равно проигрывают в качестве оригинальным текстурам.

В заключение обзора работы со сжатыми текстурами я хотел обратить ваше внимание на то, что хранение текстур на диске в сжатом виде связано с потенциальной опасностью. Дело в том, что если приложение запустится на видеокарте, которая не поддерживает сжатие текстур, то использовать эти текстуры будет невозможно. Кроме того, возможна ещё более неприятная ситуация - видеокарта поддерживает работу со сжатыми текстурами, но не поддерживает формат сжатия, в который использует сжатая текстура. Поэтому, если вы рассчитываете, что вашу программу будут использовать на ускорителях 4-х летней давности и ваше приложение очень критично к занимаемому месту на диске, то сжатые текстуры лучше всего хранить в JPG-файлах, а при загрузке в видеопамять использовать автокомпрессию текстур.

Расширения ARB_texture_compression и EXT_texture_compression_s3tc поддерживаются всеми видеокартами NVIDIA начиная с GeForce256.

На этом всё.

Часто возникает необходимость создать такую текстуру, в которой определённая часть изображения является прозрачной, например, при текстурировании забора замысловатой формы или кованого балкона. Моделировать такие узоры достаточно трудоёмко. Для упрощения модели используются текстуры с альфа каналом.

Сначала разберёмся с понятием канала. Каждый канал представляет одну составляющую цветовой модели. Каждое пиксельное изображение представляет собой набор каналов, число которых соответствует числу составляющих цветовой модели. Если исходить из этого определения, то получается, что в зависимости от цветовой модели изображения, число каналов в каждом изображении различно. И это действительно так. Например, в цветовой модели RGB только три канала, по одному на каждый основополагающий цвет - Красный, Зеленый и Синий. В цветовых моделях HSB и Lab тоже по три канала (H, S, B и L, a, b). А в цветовой модели CMYK четыре канала, по числу основополагающих цветов - Голубой, Пурпурный, Желтый и Черный. В изображении, основанном на цветовой модели Grayscale (Градации серого) всего один канал. По одному каналу имеют также Bitmap (Битовый формат), Duotone (Дуплексы) и изображения с Indexed Color (Индексированные цвета).

Все эти каналы называются цветовыми. Они предназначены для хранения цветовых параметров каждого изображения. Цветовые каналы создаются автоматически при создании изображения согласно выбранной цветовой модели. Все изменения на изображении немедленно фиксируются в соответствующих цветовых каналах.

Каждый канал можно представить себе как тонкую, полностью прозрачную кальку, налагаемую друг на друга, с определенными параметрами, в результате чего получается полноцветное изображение. Каждый канал можно отключать и делать невидимым. С каждым каналом можно работать самостоятельно и независимо от других каналов в этой же цветовой модели.

Кроме основных цветовых каналов в приложении Adobe PhotoShop можно создавать дополнительные каналы. Общее число каналов не может быть больше 24. Дополнительные каналы называются альфа-каналами (alpha channels). Каждой точке каждого канала соответствует 8 бит данных, или на каждый пиксель каждого канала (за исключением черно-белого штрихового изображения) отводится по одному байту. Отсюда можно сделать вывод, при работе с изображением не рекомендуется создавать много альфа-каналов, так как это ведет к увеличению объемов файла.

Для работы с каналами предусмотрена специальная палитра Channels (Каналы). Для включения или выключения каждой строки в палитре Channels (Каналы) имеется специальный значок в виде открытого глаза (). Этот значок располагается в специальном поле, которое расположено в левой части каждого канала или режима. Наличие этого значка говорит о том, что данный канал или режим включен и видим. Отсутствие значка «глаза» говорит о том, что данный канал или режим выключен и его не видно на изображении. Одновременно все цветовые каналы и режим отключить невозможно, так как хотя бы один канал обязательно останется включенным и активным.


В палитре Channels (Каналы) создается по умолчанию столько каналов, сколько их имеется в данной цветовой модели, на основе которой создается изображение +1. Этот дополнительный канал называется совмещенным каналом. Этот канал, который мы назвали +1, является общим полноцветным режимом, который объединяет все входящие в этот режим каналы и который мы видим в конечном результате на изображении. Совмещенный канал отображается только тогда, когда все цветовые каналы являются видимыми. При включении пиктограммы глаза () у совмещенного канала все остальные цветовые каналы также автоматически включаются. При выключении видимости хотя бы у одного канала, видимость совмещенного канала также отключается, так как это нарушает его целостность и неделимость.

Исключением из этого правила добавления одного совмещенного канала являются два цветовых режима - Grayscale (Градации серого) и Indexed Color (Индексированные цвета). В этих моделях всего один канал, поэтому этот единственный канал в любом случае будет являться совмещенным. При работе с этими моделями просто нет смысла создавать копию этого же единственного канала.

Альфа-каналы (alpha channels) нужны, прежде всего, для хранения выделений на изображении. Например, создали Вы выделение. Проработали с ним. Затем пришлось выполнить операцию вне этого выделения. Затем снова пришлось вернуться к предыдущему выделению. Но сделать этого невозможно в принципе: нельзя с точностью до 1 пикселя выделить два раза одно и то же. Как бы Вы не выделяли, это выделение будет хотя бы немного, но другое. Поэтому создав сложное выделение, его можно сохранить в альфа-канале, а затем использовать это выделение не только в этом изображении, но и во всех изображениях.

Рассмотрим создание текстуры с альфа каналом на примере моделирования узорчатой кованой арки под козырьком крыльца. Для этого используем фотографию и сделаем видимыми металлические элементы арки, а все остальное должно быть прозрачным, затем сохраним текстуру в DDS формате.

Сегодня обзор будет посвящен достаточно редкому формату файлов – DDS. Встречаются в повседневной работе за компьютером такие файлы крайне редко, часто пользователи даже не догадываются, что такие расширения существуют, что уж говорить про более насущные вопросы – чем можно открывать такие файлы и какими программами это лучше сделать, для чего их вообще открывать и кому это может понадобиться, что они в себе хранят и для чего используются, и многие другие.

Зачем нужны DDS файлы

Файлы с расширением dds предназначены для хранения изображений растрового формата. Рассматриваемый формат был разработан компанией Microsoft и изначально был создан SDK.

Что хранится в DDS файлах

Чаще всего файлы формата dds содержат данные о трехмерных текстурах. Они используются во многих программах для работы с 3d графикой, а также в современных играх с трехмерной графикой. В последнем случае в таких файлах хранятся текстуры и карты окружающей среды, которые задействуются в игровых приложениях. Кроме того, в файлах формата dds могут храниться заставки рабочего стола.

Формат.DDS разработан MS в целях использования в DirectX — он хранит данные о трехмерных текстурах, которые используются, к примеру, в играх

Одно из преимуществ формата заключается в том, что его поддерживают видеокарты DXTn, драйвера которых способны сжимать текстуры «на лету», что обеспечивает быстродействие. Сами файлы dds могут содержать текстуры в несжатом и в сжатом виде. Это позволяет широко применять такие файлы в современных консолях Play Station 3 и Xbox360.

Как открывать файлы DDS

Если вас интересует, как открыть dds файл с целью «просто посмотреть, что там внутри», то достаточно будет обычной программы-конвертера.

Очень удобно для этой цели приложение Right Click Image Converter, с помощью которого за несколько секунд можно конвертировать файл формата dds в , png и другие наиболее популярные форматы. Вам нужно будет просто щелкнуть правой кнопкой мышки по файлу и выбрать пункт “Convert to” (здесь надо будет выбрать необходимое расширение). Файл в выбранном формате будет сохранен в этой же папке.

Если вам надо редактировать файл dds или создать собственный, то можно воспользоваться, например, . Предварительно с ресурса developer nvidia com (предварительно пробелы необходимо заменить на точки) нужно загрузить NVIDIA Texture Tools для Фотошоп. Данный инструмент позволяет открыть файл dds и сохранить с тем же расширением. Для других программ, которые работают с графикой, разработаны свои фильтры, предоставляющие возможность просматривать файлы dds.

Ну а для того, чтобы полноценно работать с форматом dds в разных программах (в 3D-редакторах и других приложениях, обеспечивающих импорт/экспорт игровых моделей с текстурами), скачайте утилиту nVidia DDS Utilities – она доступна на сайте NVIDIA.

Итак, мы убедились, что открыть файл dds не так сложно – необходимо просто установить нужные приложения и фильтры к ним.