OpenGL 3.x Video Driver for Irrlicht
Posted: Sun Aug 15, 2010 11:20 pm
Hi, I will be inform here about progress of my OpenGL 3.x Video Driver for Irrlicht Engine. Current Irrlicht version has got a basic support of OpenGL 3.0, it use compatibility profile (support also old, deprecated features). In my driver I use core profile (deprecated fixed pipeline features are not supported). This driver will allow user to use many optimization and features, eg. Vertex Array Object (already supported), Texture Array (already supported), Uniform Buffer Objects etc. (these functions are very usefull for CPU bound applications, because thanks for them we can drastically reduce CPU calls in our programs).
You can download current OpenGL 3.x driver from:
http://www.sendspace.com/file/gi9lug
Code isn't clean and have some minor bugs. Cause of problems with RabbitVCS I can't prepare patch in one file, so I had to create:
COpenGL3* and gl3.h - put these files into /source/irrlicht
source.diff - apply to /source
include.diff - apply to /include
Be careful about updating irrCompileConfig.h, CB and VS project files, because it include my custom preferences. Safely way is manual change these files:
* irrCompileConfig.h - add:
eg. under this line:
* VS and CB project files You have to add COpenGL3* files to project.
I hope that this driver it will be an usefull addition for Irrlicht
This driver require GeForce 8 (or later) or Radeon HD2xxx (or later) with drivers which support OpenGL 3.x.
BTW. What do You think about this implementation of texture array (I ask mainly about changes in ITexture.h, IVideoDriver.h, CNullDriver.h/.cpp files)? In this implementation we need *.xml file similar to this:
for load texture array.
You can find old topic here (it was wrong place for it, so I moved it):
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=35135
You can download current OpenGL 3.x driver from:
http://www.sendspace.com/file/gi9lug
Code isn't clean and have some minor bugs. Cause of problems with RabbitVCS I can't prepare patch in one file, so I had to create:
COpenGL3* and gl3.h - put these files into /source/irrlicht
source.diff - apply to /source
include.diff - apply to /include
Be careful about updating irrCompileConfig.h, CB and VS project files, because it include my custom preferences. Safely way is manual change these files:
* irrCompileConfig.h - add:
Code: Select all
//! Define _IRR_COMPILE_WITH_OPENGL_3_ to compile the Irrlicht engine with OpenGL 3.x.
/** If you do not wish the engine to be compiled with OpenGL 3.x, comment this
define out. */
#define _IRR_COMPILE_WITH_OPENGL_3_
Code: Select all
#define _IRR_COMPILE_WITH_OPENGL_
I hope that this driver it will be an usefull addition for Irrlicht
This driver require GeForce 8 (or later) or Radeon HD2xxx (or later) with drivers which support OpenGL 3.x.
BTW. What do You think about this implementation of texture array (I ask mainly about changes in ITexture.h, IVideoDriver.h, CNullDriver.h/.cpp files)? In this implementation we need *.xml file similar to this:
Code: Select all
<?xml version="1.0"?>
<Layer Path="1.jpg" />
<Layer Path="2.jpg" />
You can find old topic here (it was wrong place for it, so I moved it):
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=35135