![]() |
Показать все 70 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- Запускаем OpenGL-игры под Direct3D9 (https://hlfx.ru/forum/showthread.php?threadid=2846)
Запускаем OpenGL-игры под Direct3D9
QindieGL - библиотека, эмулирующая OpenGL API средствами Microsoft Direct3D 9.0c. Имеющийся функционал позволяет играть в некоторые OpenGL-игры. Это может быть полезно для тех, у кого есть проблемы с OpenGL-драйверами, а также для использования в сочетании с ENBSeries и подобными Direct3D-модами.
Скачать: https://github.com/crystice-softwor...GL.1.0.rev5.zip (307 кб)
Страница проекта: https://github.com/crystice-softworks/QindieGL
I. Что это такое?
QindieGL (QindieGL Is Not Driver, It's Emulator) - это библиотека, эмулирующая OpenGL API средствами Microsoft Direct3D 9.0c. Эмуляция не является полной - некоторые возможности пока не реализованы. Однако уже имеющийся функционал позволяет играть в некоторое количество OpenGL-игр.
II. Зачем это может понадобиться?
1) Существуют кривые драйвера (особенно этим грешат мобильные радеоны), в которых нет нормальной поддержки OpenGL, а Direct3D поддерживается. Тогда для игры в OpenGL-игру понадобится этот враппер.
2) Возможность легкого портирования OpenGL-игры на Direct3D или, что более актуально, создание мультиграфического рендера - достаточно подставлять ей нужную библиотеку при запуске. В будущем, вероятно, будет создана статическая библиотека для линковки, что позволит внедрять враппер в движок напрямую, обходясь без манипуляций с DLL.
3) Для прикола. Мне было интересно посмотреть, как OpenGL-игры работают на "чужом" API и даже "не подозревают" об этом. =)
III. Установка и настройка
1) Добавьте в реестр информацию из файла setup.reg
2) Положите файл opengl32.dll в папку с исполняемым файлом игры
3) Запускайте игру
4) Если хотите вернуться к обычному OpenGL-режиму, удалите файл opengl32.dll из папки с игрой
ПРЕДУПРЕЖДЕНИЕ:
1) Некоторые античитерские программы распознают такие библиотеки как читы, поэтому убедитесь, что отключили античитерское защитное ПО. Не рекомендуется экспериментировать с играми, распространяемыми через Steam - можете лишиться аккаунта из-за Valve Anti-Cheat.
2) Некоторые разрешения экрана, поддерживаемые OpenGL, не поддерживаются Direct3D. Прежде чем выбрать нестандартное разрешение, убедитесь, что оно присутствует в списке "Свойства экрана" - "Дополнительно" - "Адаптер" - "Список всех режимов".
III. Список поддерживаемых игр и движков
__________________
Воо, зашибись. Теперь кожемяки будут ксаш юзать
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
O_o ты написал аналог вайновского враппера наоборот?
thambs
Ну можно и так сказать.
Хотя принципиальной разницы, что через что эмулировать, нет. Нужно просто хорошо знать оба API.
__________________
Кинул хаммеру, запустил - работает. Интересно, у бедняг с глючными радеонами болезнь с невыделением в 3d-виде пройдет?
Добавлено 26-05-2011 в 11:22:
Кто вас учит опросы составлять? Мне даже кликнуть там некуда, ибо польза очевидна, а варианта под нее нет. ЭОС, короче.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Хаммер, к сожалению, толком не работает. И выделение - не работает в частности, т.к. не поддерживается Select Buffer.
__________________
Тогда бида-бида, а я уж надеялся. Посмотрел - действительно, не работает там выделение.
Добавлено 26-05-2011 в 12:22:
ЭОС - Это Ответ Скрамы
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
fitzquake
первый запуск с дефолтными параметрами показал только черное окно.
второй запуск был 1024х768х32 - без лайтмап
третий запуск с дефолтными параметрами вроде ок
так понял, что лог затирается,п оэтому толкьо второй и третий.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Эх я тоже сразу подумал про хаммер и глюк 3д окна. Жаль, что не помогает
__________________
во второй раз был bjpglquake, я косячнул с батником
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Видя, насколько народ заинтересовался моим проектом, спешу представить обновленную версию - с поддержкой нескольких новых игр и кое-какими исправлениями. Первый пост и архив по ссылке обновлены.
__________________
Я не пишу движки, у моей видимокарты нет проблем с ГЛ *тьфу* *тьфу*, а вот для случаев когда сижу с чужего компа и охота во шо нить погамать, эта фишка очень полезная, давно искал.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Алилуя!
Протестировал Warsow и Galaxy Hack. В Warsow при стрельбе освещается
полностью вся грань, незнаю может это фича у них такая.
А вообще непонятно, почему ATI не сделали такую штуку, им же деньги за это платят, а проблемные видеокарты выпускаются.
__________________
-Мама, что такое земляника?
-Не знаю.
kogemyaka
А какие-нибудь игры из списка поддерживаемых тестил? Есть проблемы?
__________________
kogemyaka
>им же деньги за это платят
ну так потому и не выпускают -- зачем делать хорошо, когда народ и так добровольно жрёт говно и ещё за это приплачивает.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
XaeroX Extrasensoric, Quake 2, Star Wars (Q3 который) работают без проблем.
GoldSrc (OpenGL режим) и Xash3D - в обоих немного проскакивают кадры.
__________________
-Мама, что такое земляника?
-Не знаю.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Небольшое обновление:
1) Протестирована игра Return to Castle Wolfenstein.
2) SSE-оптимизации TexGen-функций.
3) Некоторые мелкие исправления и оптимизации.
__________________
Есть возможность сделать поддержку minecraft? ^^
GSen а что такое майнкрафт и зачем делать его поддержку?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
XaeroX
я его отмазываю от поддержки майнкрафта, а он мне тут пальму показывает.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Прости, я почти не бываю на CSM. Дядя Миша, ну ка не отговаривай!
GSen зашли смс на короткий номер - перестану отговаривать
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
XaeroX тормозит
Дядя Миша лагает это к тормозам по части по сети относится, а так просто тормзоит.
Кстати, если заслать этот враппер к хаммеру, он тормозить перестаёт.
__________________
-Мама, что такое земляника?
-Не знаю.
kogemyaka
Хаммер не работает с этим враппером - нет многих функций.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
У меня такие лаги случались и в оригинальной халфе в режиме Д3д. А на каких-то версиях драйверов - это было даже в режиме опенгл. До сих пор загадка, с чем это связано. Может, это квайри-перфоманс-каунтер шалит, а может, что-то ещё.
__________________
Под Xash'ем в Half-Life некоторые текстуры просвечивают через другие.
thrndm
Я обновил архив по ссылке, попробуй теперь.
__________________
XaeroX
Кровь более не просвечивает, но надпись всё ещё видна.
thrndm
Ну значит у тебя кривая видюха, выброси её на помойку. =\
Добавлено 12-06-2011 в 15:44:
Я не могу подбирать магические константы для полиоффсета для каждой конкретной видеокарты. На моей всё работает идеально.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
ну наконец-то он мне понадобился...
На нетбуке с АТИ мобилити радеон... карточка гадость, враппер конкретно помог,спасибо!
HAWK0044
Поделись уже с народом - какая модель карточки, какие именно игры запускал? Если есть глюки - то какие?
__________________
ну что же, сегодня сделал еще один тест, только уже усложнил задачу.
Нетбук всё тот же.
Карточка ATI Mobility Radeon 4200series.
С шейдерами оно меня послало куда подальше и выбило в винду с acsess violation.
Отключив их всё заработало , кроме вот этого:
void ScreenCopy()
{
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, g_iScreenCopy);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, scr_width->integer,scr_height->integer, 0);
}
но тут у меня походу у самого руки как крюки! Но на персоналке всё нормамльно пашет. Правда и врапера там нет.
Мод свой для кастомного билда ксаша
Добавлено 31-07-2011 в 03:42:
на тестовой карте глюков вроде не было.Если только то ,что модель проподала если не видно её центр.Но это думаю я уже накосячил..
а g_iScreenCopy опять ничему не равен?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
HAWK0044
Враппер пока не реализует функцию glCopyTexImage2D.
__________________
Дядя Миша
"Враппер пока не реализует функцию glCopyTexImage2D."
Вот дядь Миш в чём на этот раз дело. А в тот раз это было вообще нечто...
Добавлено 31-07-2011 в 12:52:
А вообще дяде Мише читать посты с переменной "g_iScreenCopy" строго не рекомендуется т.к у него тут же возникает желание сказать про меня что-нибудь или добавить меня в игнор
HAWK0044
Добавил поддержку glCopyTexSubImage.
glCopyTexImage тоже поддерживается, но только если не надо делать format conversion (т.е. текстура GL_RGB или GL_RGBA) - лениво было делать конверсию.
__________________
Спасибо, но я менее тормозную альтернативу нашел, с ней мороки конечно больше, но всё же она менее тормозная, но статичная, скорее всего для мощных машин буду юзать первый способ ,если нет дровов способ с риппером, а на буке статику.
Но проблема с шейдерами так и не решена. Игру выбивает при попытки запустить glGenProgramm ,т.е они не инцилизированны, но на моей машине всё ок. А значит это просто не держиться буком.
HAWK0044
Какая может быть менее тормозная альтернатива моему врапперу? Поделись ссылкой, что ли.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
нет, просто сделать статичную текстуру для карты. А потом от углов позицию считать.Но вот враппер у меня че-то летать стал, поэтому хотел ксера бы попросить исходники враппера для выяснения причины. Логи не спасают.
Добавлено 02-08-2011 в 08:16:
XaeroX
ну вот , он не поддерживает шойдеры, поэтому летатет, но вроде я шейдеры отключил , но враппер летает всё равно.
HAWK0044
"Летает" в моём понимании значит "быстро работает".
Оригинальная халфа работает с враппером или нет? Если нет, выкладывай лог, будем смотреть. Если да, то проблема уже в твоём коде.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
нее.. дядь Миш, мне их не для того чтоб рыскать надо, а чтоб дебаггером тот момент отловить, где падение происходит!
Добавлено 02-08-2011 в 10:59:
XaeroX
проблема да, в моём коде, но есть вариант такой, что может какого-то расширения не хватает и я просто хочу посмотреть какого, а "летает" на моём "вылетает"(крэшиться).
HAWK0044
Ты уверен, что вылет именно в библиотеке враппера?
Добавлено 02-08-2011 в 14:01:
__________________
XaeroX
Да , дебаггер указывает на Opengl32.dll
Добавлено 02-08-2011 в 11:05:
причём вылетает как на персональном компе, так и на нетбуке
__________________
XaeroX
да. А кстать, лог кишит этой парашей, сам посмотри.
WARNING: wglGetProcAddress: queried unknown proc 'glDrawArrays'
ну это уже слишком...
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
нет конечно, я такое вообще не юзал!
WARNING: wglGetProcAddress: queried unknown proc 'glDrawArrays'
осталось только это
Добавлено 02-08-2011 в 23:19:
ошибка найдена, ну как найдена... ну так:
Старая версия враппера - работает, новая - вылетает!
причём еще до юзания glTexImage2D
__________________
будет ли поддержка мультитекстуринга и шейдеров?
__________________
Ксер, а Анахронокс не пробовал?
__________________
Dr. Bowman: "So what was it?"
Sly: "Anachronox! Man, you guys are dumb."
Dr. Bowman: "But... You said it started with a 'U'."
Sly: "Yeah I know."
qishmish
Так он у меня и без враппера вылетает
__________________
XaeroX
ок, спасибо, шейдеры и отключить можно
нужно видяхи жефорс брать они лучше радионычей)
добавьте поддержку Berserker@Quake3 http://forums.quakegate.ru/index.php?topic=429.1118 , обычный квейк запускается, а этот нет
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
ExAnimo
Враппер поддерживает только OpenGL 1.1 плюс некоторые расширения. Запускать его с играми, активно использующими шейдеры, нет смысла.
__________________
Две новости
1) Враппер теперь называется QindieGL.
Qindie = Qindie Is Not Driver, It's Emulator.
2) Для любителей обмазываться несвежими сорцами и ну вы поняли: исходники отныне доступны под лицензией GPL v.2.
http://code.google.com/p/qindie-gl/
__________________
1 | Games and Engines Supported |
2 | Quake 2 (OpenGL mode) |
3 | Half-Life (OpenGL mode) |
4 | Xash |
5 | Quake 3 |
6 | Serious Sam: First Encounter* |
7 | Serious Sam: Second Encounter* (OpenGL mode) |
8 | Doom 3** |
9 | GLQuake*** |
10 | Extrasensoric |
11 | Tux Racer |
12 | Return to Castle Wolfenstein |
13 | and probably even more... |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Выложил обновлённую ревизию на гитхаб:
https://github.com/crystice-softworks/QindieGL
В основном поправил некоторые некрасивости и UB в коде, а также вылеты при выгрузке враппера.
__________________
Временная зона GMT. Текущее время 11:52. | Показать все 70 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024