I've wrote a Quake3/idtech3-compatible engine (in most all things except API-wise, so it's not API-compatible) in the last month ago.
It's written in ObjectPascal completely from scratch (compilable with Delphi and FreePascal for many targets including Windows, Linux, MacOSX, Android and iOS). The engine is fully compatible with the Quake3 file formats, but it doesn't use the OpenGL fixed pipeline, instead it uses a 100% complete plain GLSL-based render pipeline (which's fully OpenGL ES >= 2.0 and Desktop OpenGL >= 3.0 compatible), where the rendering architecture is a mix between forward rendering (for to be Quake3-render-concept-compatible) and deferred lighting a ka light pre-pass for future feature extensions.
All geometric data (maps and models) are stored in static VBOs, so all vertexdeformations/textureanimations/etc. are calculated directly only on the GPU itself (including autosprite/autosprite2 deformations!), so the CPU has nothing to do in this context, except to do the PVS+FrustumCulling.
At MD3 models with vertex animations, all frames are stored in the same static VBO, where the vertex attribute pointers are pointing to different start vertex index positions, aPosition+aNormal+... for the the source interpolation frame and aPosition2+aNormal2+... for the target interpolation frame including a uInterpolation uniform float variable to interpolate between them directly on the GPU per GLSL vertex shader.
IQM model support is planned ( http://lee.fov120.com/iqm/ ).
The whole sound system is also self-implemented, which's based on my own old sound code stuff from the FoembJump Android framework.
Test binary: http://rootserver.rosseaux.net/stuff/BRTECH1.zip but you do need the original Quake3 (demo or full version) data for it, because the BRTECH1.exe binary searchs for the baseq3 (or baseoa if you have only OpenArena) subdirectory with the .pk3 files. But a small warning for OpenArena maps, it seems for me that, these are compiled wih a buggy q3map/q3map2 map compiler version => Z-Fighting on curved patch brushes. But on the original Quake3 maps this problem doesn't exist.
I'm searching for artists (quake3 mappers, quake3 material-shader-writers, quake3 texture-artists and quake3 MD3/IQM modellers) now for to doing the first real own demonstration indie game with it. If you do know someone for so such job things, then contact me please
And now some videos (P.S. door logics aren't implemented yet, so I've disabled the collisions with doors):
BeRo
Bookmarks