The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
https://github.com/nigels-com/glew
Current release is 2.1.0. (Change Log)
Sources available as ZIP or TGZ.
Windows binaries for 32-bit and 64-bit.
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
It is highly recommended to build from a tgz or zip release snapshot. The code generation workflow is a complex brew of gnu make, perl and python, that works best on Linux or Mac. For most end-users of GLEW the official releases are the best choice, with first class support.
Debian/Ubuntu/Mint: $ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev
RedHat/CentOS/Fedora: $ sudo yum install libXmu-devel libXi-devel libGL-devel
$ make
$ sudo make install
$ make clean
Targets: all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall
Variables: SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=
Note: may need to make auto folder
$ sudo apt install libegl1-mesa-dev
$ make SYSTEM=linux-egl
$ sudo apt install libosmesa-dev
$ make SYSTEM=linux-osmesa
$ sudo apt install mingw-w64
$ make SYSTEM=linux-mingw32
$ make SYSTEM=linux-mingw64
CMake 2.8.12 or higher is required.
Debian/Ubuntu/Mint: $ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git
RedHat/CentOS/Fedora: $ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git
$ cd build
$ cmake ./cmake
$ make -j4
Target | Description |
---|---|
glew | Build the glew shared library. |
glew_s | Build the glew static library. |
glewinfo | Build the glewinfo executable (requires BUILD_UTILS to be ON ). |
visualinfo | Build the visualinfo executable (requires BUILD_UTILS to be ON ). |
install | Install all enabled targets into CMAKE_INSTALL_PREFIX . |
clean | Clean up build artifacts. |
all | Build all enabled targets (default target). |
Variables | Description |
---|---|
BUILD_UTILS | Build the glewinfo and visualinfo executables. |
GLEW_REGAL | Build in Regal mode. |
GLEW_OSMESA | Build in off-screen Mesa mode. |
BUILD_FRAMEWORK | Build as MacOSX Framework. Setting CMAKE_INSTALL_PREFIX to /Library/Frameworks is recommended. |
Use the provided Visual Studio project file in build/vc15/
Projects for vc6, vc10, vc12 and vc14 are also provided
Available from Mingw
Requirements: bash, make, gcc
$ mingw32-make
$ mingw32-make install
$ mingw32-make install.all
Alternative toolchain: SYSTEM=mingw-win32
Available from Msys2 and/or Mingw-w64
Requirements: bash, make, gcc
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
$ make
$ make install
$ make install.all
Alternative toolchain: SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64
glewinfo
is a command-line tool useful for inspecting the capabilities of an
OpenGL implementation and GLEW support for that. Please include glewinfo.txt
with bug reports, as appropriate.
---------------------------
GLEW Extension Info
---------------------------
GLEW version 2.0.0
Reporting capabilities of pixelformat 3
Running on a Intel(R) HD Graphics 3000 from Intel
OpenGL version 3.1.0 - Build 9.17.10.4229 is supported
GL_VERSION_1_1: OK
---------------
GL_VERSION_1_2: OK
---------------
glCopyTexSubImage3D: OK
glDrawRangeElements: OK
glTexImage3D: OK
glTexSubImage3D: OK
...
A Unix or Mac environment is needed for building GLEW from scratch to include new extensions, or customize the code generation. The extension data is regenerated from the top level source directory with:
make extensions
An alternative to generating the GLEW sources from scratch is to download a pre-generated (unsupported) snapshot:
https://sourceforge.net/projects/glew/files/glew/snapshots/
Travis-built snapshots are also available:
https://glew.s3.amazonaws.com/index.html
GLEW is currently maintained by Nigel Stewart with bug fixes, new OpenGL extension support and new releases.
GLEW was developed by Milan Ikits and Marcelo Magallon. Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also assisted with the design and debugging process.
The acronym GLEW originates from Aaron Lefohn.
Pasi Kärkkäinen identified and fixed several problems with
GLX and SDL. Nate Robins created the wglinfo
utility, to
which modifications were made by Michael Wimmer.
GLEW welcomes community contributions. Typically these are co-ordinated via Issues or Pull Requests in the GitHub web interface.
Be sure to mention platform and compiler toolchain details when filing
a bug report. The output of glewinfo
can be quite useful for discussion
also.
Generally GLEW is released once a year, around the time of the Siggraph computer graphics conference. If you're not using the current release version of GLEW, be sure to check if the issue or bug is fixed there.
GLEW is originally derived from the EXTGL project by Lev Povalahev. The source code is licensed under the Modified BSD License, the Mesa 3-D License (MIT) and the Khronos License (MIT).
The automatic code generation scripts are released under the GNU GPL.