Как запустить игру directx на opengl

Обновлено: 02.07.2024

Изображение

Это библиотека, эмулирующая 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. Прежде чем выбрать нестандартное разрешение, убедитесь, что оно присутствует в списке "Свойства экрана" - "Дополнительно" - "Адаптер" - "Список всех режимов".

  • Quake 2 (в режиме OpenGL)
  • Half-Life (в режиме OpenGL; там также есть свой Direct3D-рендерер)
  • Xash
  • Quake 3
  • Serious Sam: First Encounter*
  • Serious Sam: Second Encounter* (в режиме OpenGL; там также есть свой Direct3D-рендерер)
  • Doom 3**
  • GLQuake***
  • Extrasensoric
  • Tux Racer
  • Return to Castle Wolfenstein
  • Unreal Tournament****
  • Doom2 (Doomsday)
  • Kingpin
  • Может работать и с другими.

* - не поддерживаются эффекты светорассеивания в связи с тем, что враппер не умеет читать буфер глубины
** - нормально работает только 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"!


По всей видимости, очень многие пользователи, в частности, все те, кто предпочитает использовать компьютер для установки и прохождения современных ресурсоемких игр, знают, что в настройках графики можно использовать специальные средства ускорения вывода изображения и повышения качества картинки OpenGL или DirectX. Что лучше задействовать для полного использования всех скрытых ресурсов компьютерной системы и добиться максимальной производительности? Вопрос этот является достаточно спорным, и ответить однозначно в пользу какой-то одной платформы обычно не представляется возможным, поскольку все зависит от конкретной цели, которую ставит перед собой пользователь или разработчик, а также от каждой конкретной ситуации, которая частично может быть связана с «железным» оборудованием в виде графического ускорителя, его программной поддержкой в виде драйверов и некоторыми дополнительными аспектами. Попробуем разобраться, что лучше - OpenGL или DirectX, - обратившись и к официальным источникам информации, и опираясь на мнения пользователей и разработчиков программного обеспечения, которое может требовать поддержку таких технологий.

Что такое OpenGL и DirectX?

Начнем с того, что среди рядовых пользователей бытует ошибочное мнение, что эти два описываемых компонента представляют собой графические движки. Отсюда и возникают некорректные вопросы по поводу того, какой движок лучше - OpenGL или DirectX?

Компоненты API в разработке игр

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

Для чего используются эти технологии

Естественно, очень часто можно встретить и вопросы по поводу того, какая графика лучше - OpenGL или DirectX? Такая постановка тоже частично является некорректной, поскольку речь может идти не только о задействовании ресурсов видеокарт, но и звуковых или любых других «железных» и виртуальных устройств мультимедиа. Но чаще всего речь действительно идет именно о графических ускорителях. При этом нужно четко понимать, что выбор в пользу того или иного «моста», обеспечивающего взаимодействие видеокарты с установленной игрой или любой другой программой, где это необходимо, может зависеть и от того, насколько обязательной является такая поддержка.

Пример современной компьютерной игры

В современных играх со сложными текстурами и досконально пририсованными динамическими сценами такая поддержка крайне необходима. Но проблема в том, что далеко не все графические ускорители могут корректно использовать такую поддержку. В этом случае все зависит уже от драйверов. Будь карта какой угодно ультрамодной, но с устаревшим управляющим ПО (драйверами) она не сможет использовать все те возможности, которые изначально были заявлены производителем. Тем не менее в большинстве игр или в программах для работы с мультимедиа (например, для обработки видео) очень часто и приходится выбирать, какую именно поддержку устанавливать в настройках противопоставляя одну платформу другой (в английском варианте это обычно выглядит как «OpenGL vs DirectX»).

Основные отличия DirectX и OpenGL

Что же касается основных отличий, не вдаваясь в технические аспекты функционирования, сразу же можно отметить, что платформа DirectX, являющая эксклюзивной разработкой корпорации Microsoft, предназначена исключительно для применения в Windows-системах и частично на Xbox, а OpenGL представляет свободно распространяемую кроссплатформенную технологию, применимую в других ОС (даже в мобильных). Лицензия GNU позволяет любому желающему вносить в компоненты этого API собственные изменения и дополнения, касающиеся ее усовершенствования с целью повышения производительности тех же видеокарт, в то время как улучшений DirectX приходится ждать только по мере выхода новых версий платформы. При этом даже с самыми новыми драйверами при использовании на старых версиях моста графические ускорители не выдают заявленных производителем показателей.

Главные преимущества и недостатки

Говоря о том, что лучше - OpenGL или DirectX 11 (12), отдельно стоит отметить, что первая платформа предназначена только для графики, а вторая может использоваться вообще для всего того, что относится к мультимедиа (за графику в данном случае отвечает компонент Direct3D).

OpenGL против DirectX 11

Кроме того, многим экспертами отмечается, что в очень высокой степени выбор в пользу того или иного моста может зависеть и от типа графической карты. Но, если подходить к сравнению непредвзято, считается, что в плане охвата платформ лучше выглядит OpenGL, но DirectX выигрывает в плане того, что является готовым программным продуктом вроде класса Plug&Play. Однако не стоит забывать и том, что инструментальный набор DirectX последних версий и так доступен в OpenGL, а вот обратной поддержки нет.

OpenGL или DirectX: что лучше для игр?

Что же касается игр, и тут однозначного ответа дать нельзя. Так, например, довольно часто можно встретить комментарии по поводу того, что графические чипы линейки Radeon 9800 лучшие результаты в тестах показывают на основе DirectX, а карты GeForce серии 5XXX – при использовании OpenGL. Зато у DirectX есть еще одно неоспоримое преимущество.

Ошибка загрузки модулей OpenGL при использовании видеокарт NVIDIA

Поскольку мост OpenGL изначально создавался для других платформ, с ним в Windows возможно появление разного рода багов, а вот DirectX позволяет довольно сносно пользоваться играми даже на относительно устаревших компьютерах без всяких торможений (яркий пример тому – игра Age Of Empires).

Производительность разных платформ в сравнении

Бывает и наоборот. Так, например, некоторые пользователи отмечают, что DOOM 3 на картах серии Radeon X1XXX с использованием OpenGL просто «летает», а Half-Life 2 очень часто «тормозит». Но тут, видимо, все зависит еще и от драйверов.

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

Что лучше для BlueStacks: DirectX или OpenGL?

Достаточно часто можно встретить и вопросы по поводу использования одного из самых популярных эмуляторов Android-систем под названием BlueStacks. Какую платформу предпочесть в BlueStacks - OpenGL или DirectX? Увы, и тут однозначного ответа дать нельзя.

Настройки графики в BlueStacks

Однако негласно считается, что в случае установки через этот эмулятор именно игр, лучше задействовать OpenGL, а вот, если игра будет тормозить, тогда придется переключиться на DirectX. Но, опять же, все это касается только игровой графики. В случае с профессиональной обработкой и рендерингом видео придется достаточно серьезно экспериментировать.

Рекомендации разработчикам

Наконец, если говорить о том, что лучше - OpenGL или DirectX – для разработчика, который только начинает освоение этих технологий и делает первые шаги, большинство специалистов в этой области отмечают, что сначала лучше ознакомиться с принципами функционирования и инструментальным набором DirectX, поскольку эта платформа выглядит для новичка более простой, и для нее постоянно выпускаются неплохие комплекты SDK, предназначенные как раз для упрощения адаптации программных продуктов к "железу", а только потом переходить к изучению OpenGL.

Комплекты разработчика SDK для DirectX

Впрочем, многое может зависеть и от того, какую конечную цель вы перед собой ставите и какой именно функционал каждой платформы будет использоваться в каждом конкретном случае (только графика, только звук или какие-то объединенные решения).

Краткие выводы

Подводя итоги, как уже понятно, однозначного вывода в пользу одного или другого компонента сделать достаточно сложно. Между этими платформами идет постоянное соревнование. Иногда новая версия DirectX по своим параметрам опережает OpenGL, но по мере устаревания, а также внесения в OpenGL каких-то инноваций начинает проигрывать. В целом же при выборе следует отталкиваться исключительно от общеизвестного принципа, что истина познается в сравнении. Пробуйте и то и другое! Только после получения конкретных результатов и для каждого конкретного случая и будет ясно, к какой чаше весов склонится ваш выбор.


Ты чушь по моему говоришь! OpenGL поддерживают даже встроееные видяхи. Че у тя за видюха.
Если не знаешь - Правой кнокой на мой комп - свойства - закладка оборудование - видеоадаптеры.


G-man,как бы тебе объяснить . Попробуй запустить какую-нибудь старую игруху в режиме 3DFX (так по-моему),если можно будет. И хоть твоя видеокарта гораздо круче какой-нибудь Vodoo всё равно не запустишь. Так и здесь. Надеюсь ты поймёшь,а то я пока не могу найти подходящих слов,чтобы это объяснить


Если игра очень старая, то найди в интернете фан-сайт, где есть инструкции по запуску на современных системах.
ЗЫ Вообще, очень напоминает топик "где взять pixel shaders?"


Ты имеешь ввиду что стары игры тормозят на новых видюхах или вообще не запускаются. Ну да. Это проблема старых игр. Они слишком быстро работают и по этому системе приходится их тормозить.
А Ledy jeday тут причем?? Она ж на Q3 сделанна.


У меня видео карта ati radeon ve sdr. С этой видео картой я уже так намучился, а бобла на новую нет. Эта видеокарта старая старая.
Я так мечтал что найдется какой нибудь сайт где помогают людям с дибильными видео картами. Да кстати модель радеона у меня 7000.
Если незнаете чем помочь, то хотябы дайте точную ссылку где скачать драйвер опенЖл.





Привет всем! А у меня вот проблема с Star Wars Knights of the Old Republic и 2-ой частью. Сканер игры просит какие-то Non-Windows Generic OpenGL 1.4.0 а находит только 1.1.0. При запуске экран тухнет, комп думает, а затем выкидывает и предлагает "отправлять или не отправлять отчет". Карта Albatron GeForce 9600 GT 512Mb(256разрядность). Драйвера на карте и на директе самые последние. Может кто знает чем тут можно помочь? Заранее благодарю!

Уже несколько лет назад разработчики добавили в клиент поддержку технологий OpenGL и Vulkan. Мы вам рассказываем, что это за технологии, как их скачать и установить, а также почему поддержка данных API настолько важна для корпорации Valve и Dota 2.


Что такое OpenGL Support и Vulkan Support?

Для того, чтобы организовать взаимодействие одного приложения с другим в рамках выполнения определенной общей цели используется API (интерфейс программирования приложений). Он фактически улучшает связь между игрой и видеокартой, чтобы повысить производительность графики. OpenGL — это API, который используется при написании приложений с двухмерной и трехмерной графикой, одним из главных преимуществ которого является кроссплатформенность. Прямой аналог и главный конкурент этой технологии — DirectX, разрабатываемый корпорацией Microsoft.

История внедрения OpenGL и Vulkan в Dota 2

В сентябре далекого 2015 года компания Valve анонсировала внедрение поддержки OpenGL в Dota 2. К подобному решению компания подходила долго и планомерно — так, одной из основных причин для принятия подобного решения стал выпуск собственного железа, которое работает под управлением операционной системы Steam OS, основанной на одном из дистрибутивов Linux. Проблема усугублялась тем, что в среде Linux было невозможно скачать и запустить приложения, адаптированные под Windows. В связи с этим, компании пришлось искать решение — OpenGL. Именно данный набор API позволил компании перейти от версии Dota 2, предназначенной сугубо для Microsoft Windows к мультиплатформенному аналогу.

Вскоре после этого, компания-разработчик OpenGL решила выпустить обновленную версию своего продукта, которому судьбой было предначертано стать будущим конкурентом новинки от Microsoft — DirectX 12. Изначально «наследник» был известен как «новое поколение OpenGL», иначе говоря, «glNext». Впоследствии названием для нового детища стало слово «Vulkan». Новая версия сохранила столь необходимое для Dota 2 преимущество в мультиплатформенной поддержке — версия позволяла скачивать и запускать игры на таких платформах, как Windows, Linux и Mac OS.

В то же время, ещё одним из решающих факторов к внедрению Vulkan в Dota 2 стало то, что DirectX 11 и OpenGL были созданы с учетом одноядерных процессоров — в результате одно ядро управляет большинством различных процессов, в то время как остальные работают с низкой скоростью, а иногда и вовсе отключены. Новинка поддерживала процессоры с несколькими ядрами и потоками, что позволяло игре максимально продуктивно использовать все возможности устройства. Также, по заверениям разработчиков, Vulkan, в сравнении с OpenGL, уже на момент своего выхода позволял передавать намного большую часть требуемых задач от процессора к видеокарте. Это позволяло вывести опыт игроков в Dota 2 на совершенно новый уровень.

В связи с этим, в мае 2016 года компания Valve приняла решения добавить в версии Dota 2 для Windows, Linux и Mac OS поддержку Vulkan. На тот момент были популярны сравнения показателей прироста FPS в разных игровых ситуациях. В данном ролике показаны как OpenGL Support, так и Vulkan Support в момент их введения в игру:


К сожалению, более слабые устройства оказались не способны на поддержку новинки. Изначальными требованиями к установке были следующие спецификации:

Как обновить OpenGL на Windows 7

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

Обновляем OpenGL в Windows 7

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

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

Способ 1: Обновление драйверов видеокарты в Windows 7

Как уже было сказано выше, компоненты OpenGL ставятся вместе с файлами графического адаптера. В Windows 7 присутствует несколько методов их обновления. Каждый из них подходит в разных ситуациях и требует от пользователя выполнения определенных действий. Перейдите к статье по ссылке ниже, чтобы детально ознакомиться со всеми способами. Выберите подходящий и воспользуйтесь предоставленными инструкциями. По завершении процесса достаточно перезагрузить компьютер и проверить работоспособность игр или других программ, которые требовали наличия свежей версии библиотеки.

Драйвер видеокарты в операционной системе Windows 7

Способ 2: Обновление компонентов в фирменной утилите видеокарты

Сейчас основными производителями графических адаптеров являются AMD и NVIDIA. У каждого имеется собственный софт, который обеспечивает корректную работу с операционной системой и позволяет обновлять ПО. Обладателям видеокарт NVIDIA советуем обратиться к материалу по следующей ссылке, чтобы разобраться с установкой новой версии драйвера OpenGL в GeForce Experience.

Установка драйвера в NVIDIA

Владельцам карточек от AMD нужно ознакомиться с другими статьями, поскольку в данном случае все действия выполняются в Catalyst Control Center либо в Radeon Software Adrenalin Edition, в зависимости от типа установленного ПО.

AMD Catalyst Control Center обновление драйверов

Способ 3: Обновление DirectX

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

Информация о версии DirectX AIDA64

На данный момент последней версией для ОС Виндовс 7 является DirectX 11. Если у вас инсталлирована более ранняя библиотека, советуем обновить ее и проверить работоспособность ПО. Развернуто на эту тему читайте в другом материале.

Загрузка пакета обновлений для Windows 7

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Читайте также: