drons/qindie-gl
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
------------------------------------- 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 Может работать и с другими... * - не поддерживаются эффекты светорассеивания в связи с тем, что враппер не умеет читать буфер глубины ** - нормально работает только 2D - меню, PDA и т.п. Остальное пока рисуется с глюками, хотя в целом играбельно. *** - нужно отключить Z-trick (например, написать в консоли gl_ztrick "0"). IV. Поддерживаемые функции Аккумулятор - нет Альфа-тест - да Альфа-блендинг - да Begin/End - да Текстурные объекты - да (частично*) Дисплейные списки - нет Culling - да Clip planes - да Освещение - да (частично**) Материалы - да Вершинные массивы - да Вычислители - нет Туман - да Распаковка пикселей - да Упаковка пикселей - да (частично***) Размер точек - да Толщина линий - нет Штриховка - нет Трафарет - да Индексный режим - нет Логические операции - нет Матрицы - да Сохранение и восстановление атрибутов - да Приоритеты текстур - да Чтение пикселей - да (частично****) Копирование пикселей - нет Запись пикселей - нет Переключение ReadBuffer/DrawBuffer - нет Выбор - нет Фидбэк - нет Отсечение (scissor) - да Polygon Mode - да (частично*****) Polygon Offset - да (частично*****) Генерация текстурных координат - да****** Множественные контексты - нет wglUseFontBitmaps/wglUseFontOutlines - нет Мультисэмплинг - в настройках враппера******* * - пока не поддерживается glCopyTex(Sub)Image. ** - не поддерживается модель двустороннего освещения и спотлайты. *** - пока поддерживается упаковка только в 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_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 * - только режим GL_DOT3_RGBA; GL_DOT3_RGB считается эквивалентным GL_DOT3_RGBA. ** - фича реализована программно и может снизить производительность. Используется SSE, если поддерживается (можно отключить, параметр "UseSSE"). *** - только функции glSelectTexture, glMTexCoord2f и glMTexCoord2fv (достаточные для работы мультитекстурирования в Quake2). VI. Disclaimer Ну, как обычно: Автор не несет ответственности за любые программные и/или аппаратные сбои, которые могут произойти в связи с установкой и использованием враппера. НЕ УСТАНАВЛИВАЙТЕ библиотеку в папку "WINDOWS/System32"! Запрещается использовать библиотеку враппера в собственных коммерческих или некоммерческих проектах без письменного разрешения автора. Запрещается распространять библиотеку враппера совместно с какими бы то ни было программными продуктами без письменного разрешения автора. Copyright (C) XaeroX Chain Studios, 2011
About
Automatically exported from code.google.com/p/qindie-gl
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published