What is GLIM ?
GLIM stands for "OpenGL Immediate Mode". It is an abstract interface that is very similar to OpenGL's immediate mode. Along with it comes an implementation of that interface, which arranges geometry in a vertex buffer object (VBO) and thus allows to render the geometry without actually using deprecated functions.

Its intention is to allow a programmer to easily render small / medium sized batches of geometry, as it was possible "in the old days" without having to bother about setting up vertex buffers, binding them to shaders, etc. It is thus a convenience library, though it does give quite decent performance also.

GLIM is intended only to be used with GLSL shaders. It does not support legacy OpenGL (ie. the fixed function pipeline).

GLIM is released as source-code only, you need to compile it yourself. It should be straight-forward, though.
It is licensed under the zLib license, which allows you to use / modify the code for personal and commercial use without restrictions.

The latest details are always inside the Readme that comes with the zip-file.

If you have any questions, don't hesitate to contact me.

The latest version is 0.4.

Download it here.

27.03.2011 - GLIM version 0.4 released
GLIM version 0.4 has been released. This is mostly a bugfix release. There are no code-breaking changes in the interface.
GLIM can now be compiled to be used with Direct3D 11, too. The D3D11 code-path is working well and has been tested thoroughly. However it is a bit more complex to set up and there is an ugly hack in there regarding clean-up of resources. Therefore I still consider the D3D11 code as "experimental" and if you want to use it, you will need to dig a bit deeper into the code yourself (hint: search for the #define AE_RENDERAPI_D3D11). Currently I do not have much spare time, so I will just release this code without further documentation or enhancements.

Download it here.

3.12.2009 - GLIM version 0.3 released
GLIM version 0.3 has been released. This is an entire rewrite, which should remove some previous problems. The interface has slightly changed to allow rendering geometry multiple times, without the need to specify the same data over and over again. It is very similar to using geometry-only display-lists.
Also added were support for instanced rendering and more primitive types.

Download it here.