User Tools

Site Tools


dragengine:modules:opengl:main

This is an old revision of the document!


Table of Contents

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.

Extensions

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 ExtensionCore Version
EXT_polygon_offset1.1
EXT_texture3D1.2
ARB_multitexture1.3
ARB_texture_compression1.3
ARB_vertex_buffer_object1.5
ARB_occlusion_query1.5
ARB_vertex_program2.0
ARB_vertex_shader2.0
ARB_draw_buffers2.0
ARB_shader_objects2.1
ARB_framebuffer_object-
ARB_geometry_shader4-
ARB_vertex_array_object-
EXT_subtexture-
EXT_copy_texture-
EXT_texture_object-
Optional ExtensionCore Version
ARB_multisample1.3
ARB_draw_instanced3.1
ARB_texture_buffer_object3.1
ARB_uniform_buffer_object-
ARB_copy_buffer-
ARB_texture_multisample-
ARB_draw_buffers_blend4.0
ARB_get_program_binary-
ARB_separate_shader_objects-
ARB_debug_output-
EXT_transform_feedback3.0
EXT_gpu_shader43.0
AMD_debug_output-
NV_transform_feedback-

Features

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.

FeatureDescription
Environment mapsReal-time rendered and updated, static environment maps
Occlusion testingFully dynamic hardware occlusion testing for tousands of objects in real-time
Improved shadow lightingImproved lighting in shadows to give more visual depth avoid flat lit geometry
AO fresnel reductionUsing AO to reduce glanzing angle fresnel problems
You could leave a comment if you were logged in.
dragengine/modules/opengl/main.1354569474.txt.gz · Last modified: 2012/12/03 21:17 by dragonlord