moreBench LX for more3D GmbH

This is a project, whose bidding I've won at RAC (Rent-A-Coder) and which I've successfully finished at the beginning of August 2006 (in about a month's time-frame).

As you can read on the product page, it's a low-level benchmark that uses real-time overlay-rendering in the benchmarked applications to draw various stats and diagrams and also supports _VSync toggling _and data logging. So one can call it pretty advanced. It's a pretty neat tool, if you ask me..

The guys at more3D thought the same and wanted to improve it even more by adding OpenGL support to the benchmark, which only supported Direct3D at that time. So my job was to do exactly this.

The company had me sign an NDA, so I'll keep most of the explanations short and very general.

What I did:

  • I engineered a general parser for all threefour gl headers: gl.h, glext.h, wglext.h and a self-written wgl.h, that reads in all extensions and functions and creates #define-macro headers that contain the essential and necessary definitions. A similar but free tool written by my a few years ago and released under GPL can be found at http://data.blog.blackhc.net/extgen.zip. BTW I'm still waiting for a reply from more3D regarding release of this sub-project under free license, so maybe you're lucky and can download it soon enough from here.

  • I implemented an opengl32.dll wrapper with full support for many extensions (I used the SGI extension registry to verify everything) and I designed a state manager that mimics the state behaviour of OpenGL sufficiently to make the benchmark work with display-lists, different rendering contexts, etc.

  • Everything was written in good and clean C++ code.

So I have successfully done some pretty low-level OpenGL programming that made its way into a professional benchmarking tool - hm, if fish could cough mistrustfully, I guess mine would be the best.

But it's true and I've enjoyed working on this project very much. The main reason was probably the good communication with more3D, which turned out to be a company full of really nice and accomodating guys.

Also a special thanks goes to Jared 'jRAD' Hefty from SplashDamage for testing a prerelease beta with their latest game Enemy Territory: Quake Wars and giving me valuable feedback.