Get OpenGI at

CSS is valid!


OpenGI is a platform-independent open-source C-library for parameterizing triangular meshes and creating Geometry Images with an OpenGL-like syntax, making parameterization and Geometry Image creation uncomplicated, efficient and easy to integrate into existing graphics software. It is developed by Christian Rau.

March 6, 2011

Version 2.1.1 has been released. It just fixes a bug in giGetEnumValue, which did not support the new constants of version 2.1. Additionally the GI_VERSION_2_1 macro has been added.

February 27, 2011

Version 2.1.0 has been released. With a Catmull-Clark subdivision based patchification it introduces the first multi-chart cutting algorithm. The packing of multiple patchs' geometry images into a single image is now supported by selecting sub-rectangles of images to work on. Furthermore has the mesh's memory footprint been reduced a little and a bug in the extraction of a user specified cut has been fixed.

January 28, 2011

Version 2.0.2 has been released. It fixes some major bugs, especially a problem with the new memory allocator that could result in a program crash. Furthermore some problems with the sampling have been fixed and a bug occuring when trying to source the parameterization from the vertex positions.

January 14, 2011

Version 2.0.1 has been released. It uses a custom memory allocator and therefore massively reduces the memory footprint of the mesh datastructure.

January 13, 2011

Version 2.0.0 has finally been released. It marks a major improvement, but also major changes in the interface, therefore being not backward compatible anymore. It would be a good idea to look at the new OpenGI Programming Guide, even if you already have some OpenGI experience.
One of the most important changes is the new generic attribute system, moving away from the fixed attribute semantics (like normal, color, ...). Furthermore has the mesh cutting been decoupled from the parameterization. This way a mesh can now consist of more than one individually parameterizable and samplable patches. At the moment there are no multi-chart cutting algorithms implemented yet, but you already can supply a valid patchification yourself. The sampler has been improved, too. Now the hardware and the software sampler both support the resampling of 1D, 2D, 3D and cube map textures. The accuracy of the hardware sampler has been increased, too (but it still cannot beat the software mode).
The library now uses the SSE instruction set (if supported) to improve the performance of parameterization and sampling. In order to adapt the library better to the target platform, the Windows/VS build system has been extended a bit. You now have to execute a little config program, which determines your system characteristics (number of cores, supported SSE instruction set). Refer to the README for more details.

November 14, 2010

Version 2.0 has been widely completed, just needs some testing and documentation. It will use a more generic attribute system, away from the fixed attribute semantics (like position, normal, color, etc.). Furthermore the mesh cutting has been decoupled from the parameterization and allows multi-chart cutting. Resampling of 1D and 3D textures is supported now and the hardware sampler is much more precise.

May 12, 2009

Version 1.2.0 has been released. It defines a new error code, that is thrown when trying to sample a mesh that has not been parameterized onto the unit square. The geometry image rendering now supports point and directional lights and two-sided materials. The problems of the geometry shader based rendering together with vertex texturing or multi-resolution rendering have been completely resolved. A bug, that assigned GI_NO_ERROR the same value as GI_INVALID_ENUM has been fixed, too.

May 8, 2009

Version 1.1.3 has been released. It fixes a bug that did not let you retrieve render parameters through giGetIntegerv. It also fixes a texture coordinate issue with the geometry shader, that could result in texture seams at the geometry image border. Furthermore, the GIM render cache preformance has been increased slightly, although this might not be noticable.

May 6, 2009

Version 1.1.2 has been released. It completely fixes the bug, that could make the parameterization unsolvable. Furthermore the GIM rendering using geometry shader has been fixed, but there are still problems when using geometry shader together with vertex texturing.

May 4, 2009

Version 1.1.1 has been released. It fixes two major bugs. The first one could make the parameterization unsolvable, resulting in a numerical error after a long time. The second bug occured when software sampling into a non-float buffer or RAM data.

May 1, 2009

Version 1.1.0 has been released. Now it is possible to retrieve the topological sideband. Also, the VS 2005 Project has been fixed and no longer tries to link against DevIL.lib in Debug build.

April 26, 2009

Finally, the project website is online and delivering to you the first release, version 1.0.0, of the OpenGI library.