GPUmesh - Easy Cross-Plateform Cross-API Mesh Management for GPUs

Version 1.1 (updated 2005-08-11)

GPUmesh is a set of header files: there is no need to compile it separately  
downloads -  change log -  documentation -  faq -  archives - 

What is GPUmesh ?

Nowadays there exist multiple ways of sending geometry to GPUs: displays lists, vertex buffer objects, indexed primitives are some of them. This changes from Direct3D to OpenGL, and new ways of managing geometry appear as APIs evolve. It is difficult to determine which method is the best. This depends on numerous factors (mesh size, number of vertex attributes, and some unknown driver/hardware mechanisms). Moreover some ways of sending the geometry are slow but very convenient (e.g. the OpenGL function calls).

The purpose of GPUmesh is to provide developers with a simple mechanism to send geometry to the GPU. The user chooses which type of mesh storage is desired (display list, vertex buffer, indexed vertex buffer, ...) and GPUmesh automatically performs the required conversions. The chosen mechanism can be changed very easily by changing only one typedef. This makes performance test with various storage solutions very easy. Since the whole library is built upon templates, only the code corresponding to the chosen storage is generated. Their is no runtime overhead.

GPUmesh offers the same mesh specification mechanism under Direct3D and OpenGL, thus simplifying the task of writing mesh loaders. GPUmesh relies on a mechanism similar to the begin/end approach of standard OpenGL. This mechanism has proven to be easy to use and very convenient. Thanks to GPUmesh it now also produces efficient meshes. A complete vertex format specification mechanism is also provided to manage vertex attributes.

Why would I use GPUmesh ?


GPUmesh documentation.

Change log (yyyy-mm-dd)

Download latest version (v1.1)

Download (zip) GPUmesh source code (Windows+Linux).
Note: This version works only with Visual C++ .NET 2003. If you have a previous version, please download GPUMesh 1.0 (see below).

Download next release beta

For debug purpose you can download here the beta version of the next release of GPUmesh. Use at your own risk !
Download GPUmesh next version sources (beta!).


Version 1.0
Download (zip) GPUmesh source code (Windows).
Download (tar.gz) GPUmesh source code (Linux).



Many thanks to Stephane Guy for fruitful discussions about this library !

GPUmesh uses the Loki Library by Andrei Alexandrescu.


Use, distribute and modify freely ! As usual this software comes with no warranty.