Get Firefox


GLee 5.4
If you find the GLee library useful, help support its development and hosting costs by making a donation.

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 399 extensions.

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.

All the tools and source for generating GLee is now hosted on sourceforge. So getting involved is much simpler. See the GLee page on sourceforge for more info.

The SVN repository is located at:
If you have questions, bug reports etc, or want to get involved with development, please make use of the mailing lists.

New in version 5.4
  • OpenGL 3.0 support, and 41 new extensions.
  • 5.4 : fixes for GL_NV_gpu_program4, GL_EXT_shader_program4.
  • 5.4 : Added 5 new extensions :
    • GL_EXT_texture_swizzle
    • GL_NV_explicit_multisample
    • GL_NV_transform_feedback2
    • WGL_NV_gpu_affinity
    • GLX_ARB_create_context
  • 5.4 : Various dead/dummy extensions have been removed, including :
    • GL_NV_geometry_program4 (merged with GL_NV_gpu_program4)
    • GL_NV_vertex_program4 (merged with GL_NV_gpu_program4)
    • GL_NV_fragment_program4 (merged with GL_NV_gpu_program4)
    • WGL_NV_video_out (renamed to WGL_NV_video_output)
  • 5.33 : fixes some GCC warnings
  • 5.33 : fixes some conflicts with glext.h on OS X
  • 5.33 : fixes an issue where 2 extensions could go missing on some platforms
  • 5.32 : fixes a potential access violation in __GLeeGetExtensions - thanks to Jacques Beaurain for spotting this bug.
  • 5.31 : fixes a GLX compile error
  • 5.30 : Better Linux/Mac OS support
  • Core functions up to OpenGL 3.0
  • 398 extensions
  • Lazy loading for extension functions, so no initialisation code is required
  • Forced extension loading, though the GLeeForceLink function.
Supported Extensions
GLee provides support for almost all OpenGL extensions See extensionList.txt for a complete list. GLee also adds OpenGL core functions up to version 2.0.

Usage examples
To use GLee, include GLee.h, then simply link to GLee.lib or alternatively 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

Note that no initialisation of GLee is required, since this is handled automatically.

Using core functions is equally simple:
if (GLEE_VERSION_1_2)          //is GL1.2 available?
  glBlendColor(...);           // safe to use GL 1.2 core functions        

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.

All versions include cross-platform source.

readme.txtReadme - license and docs
GLee5_4.zipLatest Version - Windows (cross platform source + VC2003 static lib)
GLee-5.4.0-src.tar.gzLatest Version - Linux (cross platform source, GCC makefile)
GLee-3.03-redist.tar.gzLinux - Redistributable (Legacy)
GLee-3.03-bin.tar.gzLinux - GCC 3.2 Binary (Legacy)
GLee-3.00-D.zipWin32 - Joel Anderson's D port of GLee 3.0 (Legacy) data in XML format)

All material copyright 2006 Ben Woodhouse.