Divide-Studio Project Overview
- Starting out using the Torque Game Engine from GarageGames.com, we began researching realtime rendering and scene management. Soon thereafter, pushed by a project for the "Computer Graphics" course at Ovidius University of Constanta we developed our first OpenGL framework that loaded OBJ meshes with materials and simulated collisions and lighting effects using PhysX.
- Later, when a bachelor degree thesis project needed 3D scene navigation, dynamic cameras, vertex shader based animation, fast terrain rendering techniques and so forth, the original framework grew into something that became useful for a lot of different projects. That's where the idea to build the framework arose from.
- Each project, either for personal research, or for the university needed more and more functionality. We continued adding features to fulfill every new requirement and ended up with the current code base. Every feature and functionality decision was introduced because it was needed, thus following the paradigm: "Don't build engines, build games".
- The code can be easily understood due to our very reasonable Coding style
- Build a free and open-source 3D game framework that anyone can use without limitations.
- Improve said code and release all changes to the public.
- Development is limited to our specific needs at any point in time.
- Develop our own titles based on the framework that are both fun and free to play.
- Game specific code WILL be closed source initially due to obvious reasons.
- Engine improvements that arise from development will be released to the public.
- All development tools and SOME assets will be released to the public.
- Release everything under the MIT license.
- No limitations for either non-commercial or commercial projects.
- No limitations for either open or closed source projects.
- Just keep the copyright notice and accept that we offer no warranty and are not liable for any problems related to using our code.
- Offer support to anyone asking for it.
- Automated shader generation using shader *atoms*
- Modern lighting and shadowing systems
- Scalable post-processing system
- Abstract and expandable hardware interface
- Byte-buffer OpCode network communication system
- XML scene and asset configuration
- Abstract physics interface (nVidia PhysX used as default)
- Abstract audio interface (OpenAL used as default)
- Abstract rendering interface (OpenGL used as default)
- CeGUI based user interface
- Forward and Deferred rendering;
- PhysX 3.x.y integration;
- Multi-threaded texture loading and shader program compiling and linking.
- Multi-threaded event system;
- Multi-threaded AI system;
- Recast & Detour based Navigation Meshes and Pathfinding.
- Large terrain rendering (QuadTree based with multiple LoD levels);
- Format independent model loading using ASSIMP
- Under development:
- DX10 and higher rendering API
- Lua or Python scripting
- Multi-threaded asset streaming
Copyright and Credits:
|Library / Code||Author / Company||Product website||Usage notes|
|GLSL demo||Vayer Clément, Martin Samuel, Leroi Morgan, Gerometta Yannick||http://yannick.gerometta.free.fr/base.php?id=glsldemo||A lot of reference code still in the project. Will be removed, but credits will remain.|
|GameSWF||Thatcher Ulrich||http://tulrich.com/geekstuff/gameswf.html||Not currently used, but code is present.|
|Boost C++ Libraries||Beman Dawes, David Abrahams, Rene Rivera||http://www.boost.org|
|ASSIMP||Alexander Gessler, Thomas Schulze, Kim Kulling, David Nadlinger||http://assimp.sourceforge.net||Will eventually be moved to a standalone model conversion tool for the framework.|
|SDL_mixer||Sam Latinga, Stephane Peter and Ryan Gordon||http://www.libsdl.org/projects/SDL_mixer/||Example|
|FMOD (non-commercial license)||FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2011||http://www.fmod.org/||As an alternative for SDL and OpenAL.|
|OpenAL/ ALUT||Creative Technology||http://connect.creativelabs.com/openal/|
|TGE/TGEA/T3D||Garage Games||http://www.garagegames.com||As with GLSL, a lot of reference.|
|Physche||Coding Labs||http://www.codinglabs.net/psyche.aspx||For an idea on image filters and deferred rendering.|
|GLSW||Philip Rideout||http://prideout.net/blog/?p=11||FX-like glsl file parsing.|
|Recast & Detour Navigation||Mikko Mononen||http://code.google.com/p/recastnavigation/|
|CEGUI||Paul Turner||http://www.cegui.org.uk/wiki/index.php/Main_Page||Modified to allow multithreaded OpenGL rendering|
|FTGL||Henry Maddocks||http://sourceforge.net/apps/mediawiki/ftgl/index.php?title=Main_Page||Modified to allow OpenGL 3.x context and multithreaded rendering.|
|GLIM||Jan Krassnigg||http://www.artifactgames.de/FILES/START.PHP?where=GLIM.PHP||Modified to allow custom vertex position attribute locations.|
All sponsored products, company names, brand names, trademarks and logos are the property of their respective owners.