QindieGL
Версия 1.0
I. Что это такое?
Это библиотека, эмулирующая 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. Список поддерживаемых игр и движков
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 Может работать и с другими...
IV. Поддерживаемые функции
Аккумулятор - нет Альфа-тест - да Альфа-блендинг - да Begin/End - да Текстурные объекты - да (частично) Дисплейные списки - нет Culling - да Clip planes - да Освещение - да (частично) Материалы - да Вершинные массивы - да Вычислители - нет Туман - да Распаковка пикселей - да Упаковка пикселей - да (частично) Размер точек - да Толщина линий - нет Штриховка - нет Трафарет - да Индексный режим - нет Логические операции - нет Матрицы - да Сохранение и восстановление атрибутов - да Приоритеты текстур - да Чтение пикселей - да (частично) Копирование пикселей - нет Запись пикселей - нет Переключение ReadBuffer/DrawBuffer - нет Выбор - нет Фидбэк - нет Отсечение (scissor) - да Polygon Mode - да (частично****) Polygon Offset - да (частично) Генерация текстурных координат - да** Множественные контексты - нет wglUseFontBitmaps/wglUseFontOutlines - нет Мультисэмплинг - в настройках враппера***
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_texture_object 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_EXT_swap_control
VI. Disclaimer
Ну, как обычно: Автор не несет ответственности за любые программные и/или аппаратные сбои, которые могут произойти в связи с установкой и использованием враппера. НЕ УСТАНАВЛИВАЙТЕ библиотеку в папку "WINDOWS/System32"! Запрещается использовать библиотеку враппера в собственных коммерческих или некоммерческих проектах без письменного разрешения автора. Запрещается распространять библиотеку враппера совместно с какими бы то ни было программными продуктами без письменного разрешения автора.
Copyright (C) XaeroX Chain Studios, 2011