Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

CTPAX-X _ Программы _ .DDS DirectX 10

Автор: -=CHE@TER=- Nov 1 2008, 19:50

Недалее как вчера пришло письмо с жалобой, на то что http://www.ctpax-x.org/index.php?goto=files&show=14 криво распаковывает некоторые .DDS файлы из 3DMarkVista: Vantage. Оказывается он распаковывает нормально, просто у большинства .DDS файлов теперь формат DX10 и что-то, типа BCU4 (или типа того, не помню - удалил уже, снова распаковывать сейчас лень, однако, если кому-то понадобятся "образцы" - могу сделать).
Скачал последнюю версию XnView, InfraView и даже какую-то прогу из раздела SDK с сайта nVIDIA - ни одно из этих средств справиться с новым форматом не смогло.

Внимание вопрос: кто-нибудь знает софт умеющий работать с этим, новым, форматом .DDS?

Автор: -=CHE@TER=- Nov 3 2008, 16:50

Товарищ Jam Jam сообщивший о проблеме с .DDS нашёл программу, которая её разруливает: http://developer.amd.com/tools-and-sdks/archive/games-cgi/the-compressonator/. Правда открывает только ~90% файлов - есть парачка, которые отчего-то не хотят открываться - но это мелочи. И ещё: в виду присущей разработчикам из AMD кривизны рук поменяйте у скачанного .EXE файла расширение в .MSI.

Автор: Axsis Dec 14 2010, 21:07

BC4U открываются, а DX10 - нет. Поиски продолжаются.
Попробую ещё утилитки для разработчиков от зелёного производителя видеокарт.

Добавлено: И они оказались бесполезны.

Автор: Siberian GRemlin Sep 24 2016, 13:27

Было ли найдено решение для конвертирования текстур DX10?

Автор: -=CHE@TER=- Sep 24 2016, 13:56

Я забил тогда, если честно. Но за прошедшие 6 лет какое-то решение, предполагаю, должно было появиться.

Автор: Axsis Sep 24 2016, 15:39

Я тогда написал bms для конвертирования в обычный DDS "обычных" текстур, который работал примерно на 90 процентах текстур которые мне попадались.
Под "обычными" я подразумеваю RGBA, DXT1, DXT3, DXT5 текстуры. Это основные форматы, а вообще их там довольно много бывает, и не у всех есть аналоги в DX9, то есть не любую текстуру DX10 можно сконвертировать в DX9

dx10_to_dds.bms

CODE
IDString "DDS "
GoTo 0x54
GetDString FOURCC 4
If FOURCC == "DX10"
Append
Log MEMORY_FILE 0 0x80
Get DATA_SIZE asize
Math DATA_SIZE -= 0x94
Log MEMORY_FILE 0x94 DATA_SIZE
Math DATA_SIZE += 0x80
Append
GoTo 0x80
Get DXGI_FORMAT long
If DXGI_FORMAT == 0x1D
  Set FOURCC long 0x00000000 #RGBA
  PutVarChr MEMORY_FILE 0x50 0x00000041 long
  PutVarChr MEMORY_FILE 0x58 0x00000020 long
  PutVarChr MEMORY_FILE 0x5C 0x000000FF long
  PutVarChr MEMORY_FILE 0x60 0x0000FF00 long
  PutVarChr MEMORY_FILE 0x64 0x00FF0000 long
  PutVarChr MEMORY_FILE 0x68 0xFF000000 long
ElseIf DXGI_FORMAT == 0x48
  Set FOURCC long 0x31545844 #DXT1
ElseIf DXGI_FORMAT == 0x4B
  Set FOURCC long 0x33545844 #DXT3
ElseIf DXGI_FORMAT == 0x4E
  Set FOURCC long 0x35545844 #DXT5
Else
  Print "Unknown DXGI_FORMAT (%DXGI_FORMAT%)"
  CleanExit
EndIf
PutVarChr MEMORY_FILE 0x54 FOURCC long
Get FNAME basename
String FNAME += ".dx9.dds"
Log FNAME 0 DATA_SIZE MEMORY_FILE
Else
Print "Not a DirectX 10 DDS file"
EndIf


dx10_to_dds.cmd
CODE
for /r %%I in (*.dds) do "quickbms.exe" dx10_to_dds.bms %%I %%~dpI >>dx10_to_dds.log

Автор: Grom PE Sep 24 2016, 19:02

ffmpeg поддерживает декодирование dds, вполне возможно, что и поддержка dx10 там есть.

Автор: Axsis Sep 26 2016, 19:14

Я просто оставлю это здесь:
https://software.intel.com/en-us/articles/intel-texture-works-plugin
https://github.com/Microsoft/DirectXTex
_ttp://skyrim.pro/stati/instrumentarij/100-dds-converter

Автор: -=CHE@TER=- Mar 25 2017, 07:20

Не совсем в тему, но всё ж.
http://ctpax-cheater.losthost.org/personal.htm
В самом низу страницы. Утилита конвертирующая .DDS в .TGA, основанная на ReadDXT от nVIDIA из DDS Utilities версии 8.30 от 2007 года. С новыми .DDS (DirectX 10+ и прочие) работать не будет! С исходными кодами на Си (VS C++ 6.0).
Вообще, утилиту писал 12 лет назад, тупо добавив в ReadDXT работу с маской "*.dds". Потом, когда появился The Compressonator и другие утилиты, я её с сайта убрал (лет 10, наверное, назад). Однако, примерно месяц назад со мной связался Aka Sektor и сказал что в сообществе мододелов для S.T.A.L.K.E.R. моей утилитой до сих пор http://modders-wiki.ru/Dds2tga. Попросил поглядеть что там с новыми файлами и прозрачностью - утилита, мол, на них не работает. Однако, исправить я ничего не мог, потому что там .LIB файл без исходных кодов, только с заголовочным файлом. Бибилиотека эта была у меня от версии DDS Utilities 6.74 - я обновил до 8.30 - это последняя на сайте nVIDIA (на сайте написано 8.31, но в библиотеке указано 8.30), до того как они болт на эту библиотеку положили. И тут выяснилось страшное: все .LIB файлы для 8.30 собраны под 7-ой студией, а у меня только 6-ая. Искать и собирать под 7-ку мне очень не хотелось, так что пришлось изрядно попариться (особенно с частью отсутствующих функций), чтобы собрать под 6-ку, но я всё ж собрал и теперь программа будет работать под любым Windows (см. исходные коды - там много интересного). К тому же к новой версии ReadDXT исходных кодов не было (не говоря уже о том, что .LIB переписали на классы) и часть .DDS файлов она не конвертировала, которые конвертировала старая верси 6.74. В общем, Aka Sektor мне присылал .DDS файлы которые неправильно конвертировались старой версией dds2tga или старой они конвертировались, а новой нет. В итоге, общими усилиями, собрали таки обновлённую версию, правда, Volume Mip Map я не проверял, ибо не на чем. И хотя утилита не поддерживает новых расширений .DDS, зато, как сказал Aka Sektor, она небольшая, шустрая и везде работает - за это мододелы её и ценят.
Я думал стоит здесь про это писать или нет, потом вспомнил, что Axsis как-то писал, что утилиты от nVIDIA более или менее правильно .DDS конвертируют, в отличие от многих других, поэтому решил всё же об этой утилите упомянуть - может кому-нибудь тоже пригодится.

Автор: Siberian GRemlin Feb 28 2021, 14:56

Кто-нибудь знает, какая прога оставляет метку «PXDE» в любых DDS? Она как-то иначе сжимает изображение.



То же самое, пересохранёное в «Photoshop».


Автор: necros2k7 Aug 30 2022, 01:39

не знаю в тему нет но DXT1 DXT5 это же сжатие с потерями?

Автор: Siberian GRemlin Aug 30 2022, 07:41

Да.