Как запустить игру с opengl а не с directx
Уже несколько лет назад разработчики добавили в клиент поддержку технологий 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 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 в большинстве случаев требуется пользователям для корректного запуска определенных игр на компьютере под управлением операционной системы Windows 7. Если данный драйвер отсутствует или его версия устарела, программы просто не будут включаться, а на экране отобразится соответствующее уведомление с просьбой инсталляции или обновления ПО. В этой статье мы максимально развернуто расскажем о загрузке новых библиотек OpenGL.
Обновляем OpenGL в Windows 7
В первую очередь стоит разобраться, каким же образом инсталлируется рассматриваемый компонент на ПК. Все необходимые файлы ставятся вместе с драйверами графического адаптера. Поэтому сперва следует обновить программное обеспечение этого комплектующего, а потом переходить к разбору альтернативного метода.
Когда у вас установлен самый свежий драйвер на видеокарту и обновлений больше нет, при этом все равно появляется уведомление о необходимости обновления OpenGL, сразу переходите к третьему способу. Если и этот вариант не принес никаких результатов, значит, ваше оборудование не поддерживает последние библиотеки. Рекомендуем задуматься о выборе новой видеокарты.
Способ 1: Обновление драйверов видеокарты в Windows 7
Как уже было сказано выше, компоненты OpenGL ставятся вместе с файлами графического адаптера. В Windows 7 присутствует несколько методов их обновления. Каждый из них подходит в разных ситуациях и требует от пользователя выполнения определенных действий. Перейдите к статье по ссылке ниже, чтобы детально ознакомиться со всеми способами. Выберите подходящий и воспользуйтесь предоставленными инструкциями. По завершении процесса достаточно перезагрузить компьютер и проверить работоспособность игр или других программ, которые требовали наличия свежей версии библиотеки.
Способ 2: Обновление компонентов в фирменной утилите видеокарты
Сейчас основными производителями графических адаптеров являются AMD и NVIDIA. У каждого имеется собственный софт, который обеспечивает корректную работу с операционной системой и позволяет обновлять ПО. Обладателям видеокарт NVIDIA советуем обратиться к материалу по следующей ссылке, чтобы разобраться с установкой новой версии драйвера OpenGL в GeForce Experience.
Владельцам карточек от AMD нужно ознакомиться с другими статьями, поскольку в данном случае все действия выполняются в Catalyst Control Center либо в Radeon Software Adrenalin Edition, в зависимости от типа установленного ПО.
Способ 3: Обновление DirectX
Не самым эффективным, но иногда работающим методом является установка новых компонентов библиотеки DirectX. Порой в ней находятся подходящие файлы, которые позволяют нормально функционировать необходимым играм или программам. Сначала нужно узнать, какой DirectX уже установлен на вашем компьютере. Для этого ознакомьтесь с инструкцией в статье ниже.
На данный момент последней версией для ОС Виндовс 7 является DirectX 11. Если у вас инсталлирована более ранняя библиотека, советуем обновить ее и проверить работоспособность ПО. Развернуто на эту тему читайте в другом материале.
Как видите, в обновлении 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разрядность). Драйвера на карте и на директе самые последние. Может кто знает чем тут можно помочь? Заранее благодарю!
Читайте также:
- Forscan настройка подключения через usb
- Карты памяти название которых в дословном переводе с английского звучит как безопасный цифровой
- Host ip и других устройств в пределах ip lan конфликта на видеорегистраторе как убрать
- Как узнать udid iphone без компьютера
- Урок звуковые схемы для первоклассников отличие от схем для дошкольников