OpenGL Extension Wrangler Library (GLEW) 是一个跨平台开源 C/C++ 扩展加载库。 GLEW 提供了高效的运行时机制来确定目标平台支持哪些 OpenGL 扩展。 OpenGL 核心和扩展功能在单个头文件中公开。 GLEW 已在多种操作系统上进行了测试,包括 Windows、Linux、Mac OS X、FreeBSD、Irix 和 Solaris。
http://glew.sourceforge.net/
https://github.com/nigels-com/glew
当前版本是 2.2.0。 (变更日志)
来源可采用 ZIP 或 TGZ 形式。
适用于 32 位和 64 位的 Windows 二进制文件。
在经过测试的正式版本之前,快照可能包含新功能、错误修复或新的 OpenGL 扩展。
glew-20220402.tgz GLEW 2.2.0 - 修复了 glCreateProgressFenceNVX
强烈建议从 tgz 或 zip 发布快照进行构建。代码生成工作流程是 gnu make、perl 和 python 的复杂组合,最适合在 Linux 或 Mac 上运行。已知代码生成可在使用 MSYS2 的 Windows 上运行。对于大多数 GLEW 最终用户来说,官方版本是最佳选择,具有一流的支持。
从历史上看,GNU make 是 GLEW 的主要构建系统。它包括用于构建源和标头的目标,以用于维护目的。
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
FreeBSD: # pkg install xorg lang/gcc git cmake gmake bash python perl5
$ make
$ sudo make install
$ make clean
目标: all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall
变量: SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=
注意:您可能需要先在auto文件夹中调用make
$ 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 构建主要由贡献者维护。由于用例众多,这是在尽最大努力的基础上进行维护的。欢迎请求请求。
需要 CMake 3.16 或更高版本。
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
目标 | 描述 |
---|---|
格卢 | 构建glew 共享库。 |
格卢_s | 构建glew静态库。 |
格文信息 | 构建glewinfo 可执行文件(要求BUILD_UTILS 为ON )。 |
视觉信息 | 构建visualinfo 可执行文件(要求BUILD_UTILS 为ON )。 |
安装 | 将所有启用的目标安装到CMAKE_INSTALL_PREFIX 中。 |
干净的 | 清理构建工件。 |
全部 | 构建所有启用的目标(默认目标)。 |
变量 | 描述 |
---|---|
构建_UTILS | 构建glewinfo 和visualinfo 可执行文件。 |
GLEW_REGAL | 以富豪模式构建。 |
GLEW_OSMESA | 在离屏 Mesa 模式下构建。 |
构建_框架 | 构建为 MacOSX 框架。建议将CMAKE_INSTALL_PREFIX 设置为/Library/Frameworks 。 |
使用 build/vc15/ 中提供的 Visual Studio 项目文件
还提供了 vc6、vc10、vc12 和 vc14 的项目
可从 Mingw 获得
要求:bash、make、gcc
$ mingw32-make
$ mingw32-make install
$ mingw32-make install.all
替代工具链: SYSTEM=mingw-win32
可从 Msys2 和/或 Mingw-w64 获得
要求:bash、make、gcc
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
$ make
$ make install
$ make install.all
替代工具链: SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64
glewinfo
是一个命令行工具,可用于检查 OpenGL 实现的功能以及 GLEW 对此的支持。请酌情将glewinfo.txt
包含在错误报告中。
---------------------------
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
...
从头开始构建 GLEW 以包含新扩展或自定义代码生成需要 Unix 或 Mac 环境。扩展数据是从顶级源目录重新生成的:
make extensions
从头开始生成 GLEW 源的另一种方法是下载预先生成的(不受支持的)快照:
https://sourceforge.net/projects/glew/files/glew/snapshots/
GLEW 目前由 Nigel Stewart 维护,包括错误修复、新的 OpenGL 扩展支持和新版本。
GLEW 由 Milan Ikits 和 Marcelo Magallon 开发。 Aaron Lefohn、Joe Kniss 和 Chris Wyman 是第一批用户,他们还协助设计和调试过程。
缩写 GLEW 源自 Aaron Lefohn。 Pasi Kärkkäinen 发现并修复了 GLX 和 SDL 的几个问题。 Nate Robins 创建了wglinfo
实用程序,Michael Wimmer 对其进行了修改。
GLEW 欢迎社区贡献。通常,这些是通过 GitHub Web 界面中的问题或拉取请求进行协调的。
提交错误报告时,请务必提及平台和编译器工具链详细信息。 glewinfo
的输出对于讨论也非常有用。
一般来说,GLEW 通常每年发布一次,大约在 Siggraph 计算机图形会议期间发布。如果您没有使用 GLEW 的当前发行版本,请务必检查问题或错误是否已修复。
GLEW 最初源自 Lev Povalahev 的 EXTGL 项目。源代码根据修改版 BSD 许可证、Mesa 3-D 许可证 (MIT) 和 Khronos 许可证 (MIT) 获得许可。
自动代码生成脚本是在 GNU GPL 下发布的。