HLFX.Ru Forum Страницы (5): [1] 2 3 4 5 »
Показать все 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)


Отправлено XaeroX 25-05-2011 в 17:57:

Запускаем 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. Список поддерживаемых игр и движков



* - не поддерживаются эффекты светорассеивания в связи с тем, что враппер не умеет читать буфер глубины
** - нормально работает только 2D - меню, PDA и т.п. Остальное пока рисуется с глюками, хотя в целом играбельно.
*** - нужно отключить Z-trick (например, написать в консоли gl_ztrick "0")
**** - нужно отключить Z-trick (откройте "OpenGlDrv.ini" и поставьте значение параметра "UseZTrick" в 0).

IV. Поддерживаемые функции

Аккумулятор - нет
Альфа-тест - да
Альфа-блендинг - да
Begin/End - да
Текстурные объекты - да
Дисплейные списки - нет
Culling - да
Clip planes - да
Освещение - да (частично*)
Материалы - да
Вершинные массивы - да
Вычислители - нет
Туман - да
Распаковка пикселей - да
Упаковка пикселей - да (частично**)
Размер точек - да
Толщина линий - нет
Штриховка - нет
Трафарет - да
Индексный режим - нет
Логические операции - нет
Матрицы - да
Сохранение и восстановление атрибутов - да
Приоритеты текстур - да
Чтение пикселей - да (частично***)
Копирование пикселей - нет
Запись пикселей - нет
Переключение ReadBuffer/DrawBuffer - нет
Выбор - нет
Фидбэк - нет
Отсечение (scissor) - да
Polygon Mode - да (частично****)
Polygon Offset - да (частично****)
Генерация текстурных координат - да*****
Множественные контексты - нет
wglUseFontBitmaps/wglUseFontOutlines - нет
Мультисэмплинг - в настройках враппера******

* - не совсем правильно задается позиция источника света, не поддерживается модель двустороннего освещения.
** - пока поддерживается упаковка только в RGB и RGBA.
*** - не поддерживается чтение буфера глубины и трафарета.
**** - только для обеих граней одновременно.
***** - фича реализована программно и может снизить производительность. Используется SSE, если поддерживается (можно отключить, параметр "UseSSE").
****** - параметр "MultiSample". Поставьте его, например, в 8. При включении сглаживания могут возникнуть артефакты со шрифтами в некоторых играх.

V. Поддерживаемые расширения

GL_ARB_multitexture
GL_ARB_texture_border_clamp
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3*
GL_ARB_texture_mirrored_repeat
GL_ARB_texture_non_power_of_two
GL_ARB_transpose_matrix
GL_ATI_texture_mirror_once
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_multi_draw_arrays
GL_EXT_fog_coord
GL_EXT_packed_pixels
GL_EXT_secondary_color
GL_EXT_texture3D
GL_EXT_texture_cube_map
GL_EXT_texture_env_add
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3*
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod
GL_EXT_texture_lod_bias
GL_EXT_stencil_two_side
GL_EXT_stencil_wrap
GL_IBM_texture_mirrored_repeat
GL_NV_blend_square
GL_NV_texgen_reflection**
GL_SGIS_multitexture**
GL_SUN_multi_draw_arrays
WGL_ARB_extensions_string
WGL_EXT_swap_control

* - только режим GL_DOT3_RGBA; GL_DOT3_RGB считается эквивалентным GL_DOT3_RGBA.
** - фича реализована программно и может снизить производительность. Используется SSE, если поддерживается (можно отключить, параметр "UseSSE").
*** - только функции glSelectTexture, glMTexCoord2f и glMTexCoord2fv (достаточные для работы мультитекстурирования в GLQuake и Quake2).


VI. Disclaimer

Ну, как обычно:
Автор не несет ответственности за любые программные и/или аппаратные сбои, которые могут произойти в связи с установкой и использованием враппера.
НЕ УСТАНАВЛИВАЙТЕ библиотеку в папку "WINDOWS/System32"!
Запрещается использовать библиотеку враппера в собственных коммерческих или некоммерческих проектах без письменного разрешения автора. Запрещается распространять библиотеку враппера совместно с какими бы то ни было программными продуктами без письменного разрешения автора.

__________________

xaerox on Vivino


Отправлено Дядя Миша 25-05-2011 в 18:29:

Воо, зашибись. Теперь кожемяки будут ксаш юзать

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено thambs 25-05-2011 в 18:53:

O_o ты написал аналог вайновского враппера наоборот?


Отправлено XaeroX 25-05-2011 в 19:14:

thambs
Ну можно и так сказать.
Хотя принципиальной разницы, что через что эмулировать, нет. Нужно просто хорошо знать оба API.

__________________

xaerox on Vivino


Отправлено Scrama 26-05-2011 в 04:22:

Кинул хаммеру, запустил - работает. Интересно, у бедняг с глючными радеонами болезнь с невыделением в 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


Отправлено XaeroX 26-05-2011 в 04:32:

Хаммер, к сожалению, толком не работает. И выделение - не работает в частности, т.к. не поддерживается Select Buffer.

__________________

xaerox on Vivino


Отправлено Scrama 26-05-2011 в 05:22:

Тогда бида-бида, а я уж надеялся. Посмотрел - действительно, не работает там выделение.

Добавлено 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


Отправлено Scrama 26-05-2011 в 12:37:

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


Отправлено LeFront 26-05-2011 в 13:11:

Эх я тоже сразу подумал про хаммер и глюк 3д окна. Жаль, что не помогает


Отправлено XaeroX 26-05-2011 в 14:01:

Цитата:
Scrama писал:
первый запуск с дефолтными параметрами показал только черное окно.

В логе вот что:
SetupPresentParams: 640 x 400 x 24 (fullscreen)
Я писал в нулевом посте:
Цитата:

...
2) Некоторые разрешения экрана, поддерживаемые OpenGL, не поддерживаются Direct3D. Прежде чем выбрать нестандартное разрешение, убедитесь, что оно присутствует в списке "Свойства экрана" - "Дополнительно" - "Адаптер" - "Список всех режимов".
...

Черный экран - скорее всего именно поэтому.
Если в аттаче третий лог, а не первый, и при этом всё работало - это в высшей степени странно...


Цитата:
Scrama писал:
второй запуск был 1024х768х32 - без лайтмап

В логе все отлично. Значит, надо ставить эту игру и ковырять.

__________________

xaerox on Vivino


Отправлено Scrama 26-05-2011 в 14:26:

во второй раз был 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


Отправлено XaeroX 28-05-2011 в 18:36:

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

__________________

xaerox on Vivino


Отправлено FiEctro 28-05-2011 в 18:54:

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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено kogemyaka 29-05-2011 в 05:41:

Алилуя!

Протестировал Warsow и Galaxy Hack. В Warsow при стрельбе освещается
полностью вся грань, незнаю может это фича у них такая.

А вообще непонятно, почему ATI не сделали такую штуку, им же деньги за это платят, а проблемные видеокарты выпускаются.

__________________
-Мама, что такое земляника?
-Не знаю.


Отправлено XaeroX 29-05-2011 в 07:08:

kogemyaka
А какие-нибудь игры из списка поддерживаемых тестил? Есть проблемы?

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 06:45. Страницы (5): [1] 2 3 4 5 »
Показать все 70 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024