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.
If you find the GLee library useful, help support its development and hosting costs by making a donation.
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 :
- 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.
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.
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:
Note that no initialisation of GLee is required, since this is handled automatically.
#include <gl\GLee.h> // (no need to link to gl.h)
if (GLEE_ARB_multitexture) //is multitexture support available?
glMultiTexCoord2fARB(...); //safe to use multitexture
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.
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.txt||Readme - license and docs|
| GLee5_4.zip||Latest Version - Windows (cross platform source + VC2003 static lib)|
| GLee-5.4.0-src.tar.gz||Latest Version - Linux (cross platform source, GCC makefile)|
| GLee-3.03-redist.tar.gz||Linux - Redistributable (Legacy)|
| GLee-3.03-bin.tar.gz||Linux - GCC 3.2 Binary (Legacy)|
| GLee-3.00-D.zip||Win32 - Joel Anderson's D port of GLee 3.0 (Legacy)|
| GLee5_21_ExtensionsXML.zip||(extension data in XML format)|