Start Page » Module System » OpenGL Graphic Module
The OpenGL Graphic Module provides window and screen handling for Linux and Windows as well as rendering using OpenGL. This module is created for high-end graphic cards and requires a strong computer to run.
This module does not require an OpenGL Core Version since not all graphic cards, especially not so recent ones, support full core specifications but instead implement important extensions included in these core version. Since this module requires only certain functionality of core version it requires only certain extensions to be present to work even if the core version demanding these extensions is not supported. This increases the range of hardware this module works on and is thus preferable over demanding certain core versions. The left list contains extensions that are required by the module. If they are missing the module is not going to load. In the launcher this will show with the module failing to link against certain functions. If the module does not load on your computer then you are missing a required extension. The only solution then is to use a different Graphic Module or to get a new graphic card. Driver updates usually won't work even if lazy AAA developer notoriously try to tell you to “update your drivers to make it magically working”… it won't. The right list contains extensions that are optional. This module can take advantage of them to improve performance or functionality. The module still works if those are not present.
Required Extension | Core Version |
---|---|
EXT_polygon_offset | 1.1 |
EXT_texture3D | 1.2 |
ARB_multitexture | 1.3 |
ARB_texture_compression | 1.3 |
ARB_vertex_buffer_object | 1.5 |
ARB_occlusion_query | 1.5 |
ARB_vertex_program | 2.0 |
ARB_vertex_shader | 2.0 |
ARB_draw_buffers | 2.0 |
ARB_shader_objects | 2.1 |
ARB_framebuffer_object | - |
ARB_geometry_shader4 | - |
ARB_vertex_array_object | - |
EXT_subtexture | - |
EXT_copy_texture | - |
EXT_texture_object | - |
Optional Extension | Core Version |
---|---|
ARB_multisample | 1.3 |
ARB_draw_instanced | 3.1 |
ARB_texture_buffer_object | 3.1 |
ARB_uniform_buffer_object | - |
ARB_copy_buffer | - |
ARB_texture_multisample | - |
ARB_draw_buffers_blend | 4.0 |
ARB_get_program_binary | - |
ARB_separate_shader_objects | - |
ARB_debug_output | - |
EXT_transform_feedback | 3.0 |
EXT_gpu_shader4 | 3.0 |
AMD_debug_output | - |
NV_transform_feedback | - |
This module can be configurated using various possibilities. Since this module has a large amount of properties and console commands they are split into separate pages to not bloat the module page.
Configuration Option | Usage |
---|---|
Module Properties | Contains the common user options for normal game use. These are what you find in other games under the game settings/options. They can be changed from inside the running game or in the launcher. |
Developer Console | Run-time developer console accepting text commands. Contains some extended user commands but is designed for developers and module programmers. The developer part is protected to avoid casual users accidently dropping on them. The information commands are free to be used by anybody |
XML Configuration File | XML startup configuration file for the module. Contains special configuration options required only in extreme cases if the module does not run properly. Do not modify unless you are asked to as it can prevent the module from even starting up or worse crashing at you |
This module is a very large module code wise. This is not a miracle since high-end graphic rendering requires a lot of nasty hacks and creative coding to obtain great looking results with fast rendering. This section contains a list of various features of the OpenGL Graphic Module with an individual page for each giving some behind the scenes technical information on how they are achieved. This section is thus more interesting for graphic module designers and game developers to learn how certain features are achieved in this graphic module. If you have question you can use the discussion form found on each page. The list of features will be increased when new features are implemented or when I find time to document existing ones. In the end though you can always poke at the source code but be warned, it's a very large code base.
Feature | Description |
---|---|
Environment maps | Real-time rendered and updated, static environment maps |
Occlusion testing | Fully dynamic hardware occlusion testing for tousands of objects in real-time |
Improved shadow lighting | Improved lighting in shadows to give more visual depth avoid flat lit geometry |
AO fresnel reduction | Using AO to reduce glanzing angle fresnel problems |