![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
rudvil |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Вроде как тема относится к файловым форматам, но всеже большая часть относится к DirectX, поэтому создал тему тут.
В "Microsoft DirectX SDK (August 2009)" есть замечательная программа-конвертер "texconv.exe". С её помощью можно легко конвертировать *.dds текстуры в *.jpg и другие форматы. Проблема в том что в самом SDK нету исходников этого конвертера, собственно вопрос, используя какие функц. или классы можно также просто(путь к *.dds и впринципе все...) конвертировать *.dds в *.jpg. Искал в msdn, ничего подходящего не нашел... Это сообщение отредактировал(а) rudvil - 25.11.2009, 17:25 --------------------
xor |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: нет Всего: 146 |
Поищи в поисковике "DXT TOOLS". Там есть статическая библиотека для конвертирования.
|
|||
|
||||
rudvil |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Спасибо, про это я знаю и это не совсем то... Нужна именно реализация на С++, я сразуже наткнулся на библиотеку DevIL, но там столько исходников между собой переплетено... что моего уровня в программирование не хватает чтобы выдрать оттуда конвертирование *.dds в *.jpg :( Поэтому и написал сюда, может ктонибуть знает вариант попроще. P.S. это нужно для личного использования, т.е. если будут варианты как с DevIL но попроще то обязательно предлагайте. Это сообщение отредактировал(а) rudvil - 28.11.2009, 16:03 --------------------
xor |
|||
|
||||
rudvil |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Всеже смог найти то что нужно, правда пришлось извратиться... вот код
Вопрос к специалистам, можно ли как-нибуть обойтись без
Если вместо "hwnd" вписать туда "NULL", то функция "CreateDevice" выполняется некорректно, что в свою очередь приводит в неработоспособность функцию "D3DXCreateTextureFromFile"... Cижу теперь ломаю голову как обойтись без этого хендла, по идее мне эти окна вообще не нужны, простой консоли вполне хватит. Буду благодарен за любую помощь. --------------------
xor |
||||
|
|||||
maxxant |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.9.2009 Репутация: нет Всего: 1 |
||||
|
||||
rudvil |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: нет Всего: 3 |
Если разница и была то очень маленькой иначе я бы это заметил. Во всяком случае в приведенном мною коде потери точно не наблюдается. Опять же хочется увидеть код на чистом Win/DirectX API... но всеравно спасибо за совет. Это сообщение отредактировал(а) rudvil - 3.12.2009, 02:18 --------------------
xor |
|||
|
||||
bugmenot1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 8.5.2008 Репутация: нет Всего: 0 |
rudvil можно указать d3dpp.hDeviceWindow = GetDesktopWindow(); или в третем параметре функции CreateDevice поместить вызов GetDesktopWindow()
Если выбрать первый вариант то третим параметром может быть уже HWND_DESKTOP (тобишь 0) CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, HWND_DESKTOP, ... А вот как быть с размерами и цветовой палитрой получаемой на выходе D3DXSaveTextureToFile? Картинка получается квадратной, по большей стороне загружаемой в D3DXCreateTextureFromFile, цвета блеклые. Это сообщение отредактировал(а) bugmenot1 - 19.3.2010, 16:07 |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |