GLee

GLee (GL Easy Extension library) is a free cross-platform extension loading library for OpenGL. It provides seamless support for OpenGL functions up to version 3.0 and nearly 400 extensions.

Visit the GLee web page for the latest information.

Compatibility
GLee is compatible with Windows, Linux, OS-X and FreeBSD platforms. It is also likely to be compatible with other unix-like systems which use X windows.

Features
  • Core functions up to OpenGL 3.0
  • 398 extensions (see extensionList.txt for a complete list)
  • Lazy loading for extension functions, so no initialisation code is required
  • Optional forced extension loading, though the GLeeForceLink function.
Usage examples
To use GLee, include GLee.h from your code, then link to the GLee library (e.g. GLee.lib) or add GLee.c to your project.

To check for the ARB_multitexture extension and use it:
#include <gl\GLee.h>          // (no need to link to gl.h) 
...
if (GLEE_ARB_multitexture)    //is multitexture support available?
{
  glMultiTexCoord2fARB(...);  //safe to use multitexture
}
else
{
   //fallback
}


No initialisation of GLee is required, since this is handled automatically. Optionally you can call GLeeInit() after aquiring an OpenGL context to force GLee initialisation to take place then.

Using core functions is similar to using extensions:
if (GLEE_VERSION_1_2)          //is GL1.2 available?
{
  glBlendColor(...);           // safe to use GL 1.2 core functions        
}


License
GLee is distributed under the modified BSD license. This is relatively simple and unrestrictive compared to other open source licenses. See the readme for the license terms.

Compiler compatibility
GLee is written in pure ANSI C, so any C or C++ compiler should work. You can include the source files in your projects directly or compile them into a library. The Windows static libs support MSVC 7 and 7.1.

Downloads (from the official site)
readme.txtReadme - license and docs
Latest Windows zipfileWindows (cross platform source + VC2003 static lib)
Latest Linux/BSD tarballLinux/BSD (cross platform source, GCC makefile)

Copyright 2008 Ben Woodhouse - http://elf-stone.com