1
1
# GLEW - The OpenGL Extension Wrangler Library
2
2
3
+ 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.
4
+
3
5
![ ] ( http://glew.sourceforge.net/glew.png )
4
6
5
7
http://glew.sourceforge.net/
@@ -10,12 +12,37 @@ https://github.com/nigels-com/glew
10
12
[ ![ Gitter] ( https://badges.gitter.im/nigels-com/glew.svg )] ( https://gitter.im/nigels-com/glew?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge )
11
13
[ ![ Download] ( https://img.shields.io/sourceforge/dm/glew.svg )] ( https://sourceforge.net/projects/glew/files/latest/download )
12
14
15
+ ## Table of Contents
16
+
17
+ * [ Downloads] ( #downloads )
18
+ * [Recent snapshots](#recent-snapshots)
19
+ * [ Build] ( #build )
20
+ * [Linux and Mac](#linux-and-mac)
21
+ * [Using GNU Make](#using-gnu-make)
22
+ * [Install build tools](#install-build-tools)
23
+ * [Build](#build-1)
24
+ * [Linux EGL](#linux-egl)
25
+ * [Linux OSMesa](#linux-osmesa)
26
+ * [Linux mingw-w64](#linux-mingw-w64)
27
+ * [Using cmake](#using-cmake)
28
+ * [Install build tools](#install-build-tools-1)
29
+ * [Build](#build-2)
30
+ * [Windows](#windows)
31
+ * [Visual Studio](#visual-studio)
32
+ * [MSYS/Mingw](#msysmingw)
33
+ * [MSYS2/Mingw-w64](#msys2mingw-w64)
34
+ * [ glewinfo] ( #glewinfo )
35
+ * [ Code Generation] ( #code-generation )
36
+ * [ Authors] ( #authors )
37
+ * [ Contributions] ( #contributions )
38
+ * [ Copyright and Licensing] ( #copyright-and-licensing )
39
+
13
40
## Downloads
14
41
15
42
Current release is [ 2.1.0] ( https://sourceforge.net/projects/glew/files/glew/2.1.0/ ) .
16
43
[ (Change Log)] ( http://glew.sourceforge.net/log.html )
17
44
18
- Sources available as
45
+ Sources available as
19
46
[ ZIP] ( https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.zip/download ) or
20
47
[ TGZ] ( https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.tgz/download ) .
21
48
@@ -25,22 +52,32 @@ Windows binaries for [32-bit and 64-bit](https://sourceforge.net/projects/glew/f
25
52
26
53
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
27
54
55
+ [ glew-20200115.tgz] ( https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20200115.tgz/download ) * GLEW 2.2.0 RC3: fixes*
56
+
57
+ [ glew-20190928.tgz] ( https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20190928.tgz/download ) * GLEW 2.2.0 RC2: New extensions, bug fixes*
58
+
28
59
## Build
29
60
30
61
It is highly recommended to build from a tgz or zip release snapshot.
31
62
The code generation workflow is a complex brew of gnu make, perl and python, that works best on Linux or Mac.
63
+ The code generation is known to work on Windows using [ MSYS2] ( https://www.msys2.org/ ) .
32
64
For most end-users of GLEW the official releases are the best choice, with first class support.
33
65
34
66
### Linux and Mac
35
67
36
68
#### Using GNU Make
37
69
70
+ GNU make is the primary build system for GLEW, historically.
71
+ It includes targets for building the sources and headers, for maintenance purposes.
72
+
38
73
##### Install build tools
39
74
40
- Debian/Ubuntu/Mint: ` $ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev libosmesa-dev `
75
+ Debian/Ubuntu/Mint: ` $ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev `
41
76
42
77
RedHat/CentOS/Fedora: ` $ sudo yum install libXmu-devel libXi-devel libGL-devel `
43
78
79
+ FreeBSD: ` # pkg install xorg lang/gcc git cmake gmake bash python perl5 `
80
+
44
81
##### Build
45
82
46
83
$ make
@@ -51,22 +88,42 @@ Targets: `all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew
51
88
52
89
Variables: ` SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP= `
53
90
54
- _ Note: may need to make ** auto** folder_
91
+ _ Note: you may need to call ` make ` in the ** auto** folder first_
92
+
93
+ ##### Linux EGL
94
+
95
+ $ sudo apt install libegl1-mesa-dev
96
+ $ make SYSTEM=linux-egl
97
+
98
+ ##### Linux OSMesa
99
+
100
+ $ sudo apt install libosmesa-dev
101
+ $ make SYSTEM=linux-osmesa
102
+
103
+ ##### Linux mingw-w64
104
+
105
+ $ sudo apt install mingw-w64
106
+ $ make SYSTEM=linux-mingw32
107
+ $ make SYSTEM=linux-mingw64
55
108
56
109
#### Using cmake
57
110
111
+ The cmake build is mostly contributer maintained.
112
+ Due to the multitude of use cases this is maintained on a _ best effort_ basis.
113
+ Pull requests are welcome.
114
+
58
115
* CMake 2.8.12 or higher is required.*
59
116
60
117
##### Install build tools
61
118
62
- Debian/Ubuntu/Mint: ` $ sudo apt-get install build-essential libXmu -dev libXi -dev libgl-dev cmake `
119
+ Debian/Ubuntu/Mint: ` $ sudo apt-get install build-essential libxmu -dev libxi -dev libgl-dev cmake git `
63
120
64
- RedHat/CentOS/Fedora: ` $ sudo yum install libXmu-devel libXi-devel libGL-devel cmake `
121
+ RedHat/CentOS/Fedora: ` $ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git `
65
122
66
123
##### Build
67
124
68
125
$ cd build
69
- $ cmake ./cmake
126
+ $ cmake ./cmake
70
127
$ make -j4
71
128
72
129
| Target | Description |
@@ -90,9 +147,9 @@ RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel c
90
147
91
148
#### Visual Studio
92
149
93
- Use the provided Visual Studio project file in build/vc12 /
150
+ Use the provided Visual Studio project file in build/vc15 /
94
151
95
- Projects for vc6 and vc10 are also provided
152
+ Projects for vc6, vc10, vc12 and vc14 are also provided
96
153
97
154
#### MSYS/Mingw
98
155
@@ -112,7 +169,7 @@ Available from [Msys2](http://msys2.github.io/) and/or [Mingw-w64](http://mingw-
112
169
113
170
Requirements: bash, make, gcc
114
171
115
- $ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
172
+ $ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
116
173
$ make
117
174
$ make install
118
175
$ make install.all
@@ -123,7 +180,7 @@ Alternative toolchain: `SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64`
123
180
124
181
` glewinfo ` is a command-line tool useful for inspecting the capabilities of an
125
182
OpenGL implementation and GLEW support for that. Please include ` glewinfo.txt `
126
- with bug reports, as appropriate.
183
+ with bug reports, as appropriate.
127
184
128
185
---------------------------
129
186
GLEW Extension Info
@@ -143,7 +200,7 @@ with bug reports, as appropriate.
143
200
glDrawRangeElements: OK
144
201
glTexImage3D: OK
145
202
glTexSubImage3D: OK
146
-
203
+
147
204
...
148
205
149
206
## Code Generation
@@ -159,10 +216,6 @@ download a pre-generated (unsupported) snapshot:
159
216
160
217
https://sourceforge.net/projects/glew/files/glew/snapshots/
161
218
162
- Travis-built snapshots are also available:
163
-
164
- https://glew.s3.amazonaws.com/index.html
165
-
166
219
## Authors
167
220
168
221
GLEW is currently maintained by [ Nigel Stewart] ( https://github.com/nigels-com )
@@ -171,20 +224,35 @@ with bug fixes, new OpenGL extension support and new releases.
171
224
GLEW was developed by [ Milan Ikits] ( http://www.cs.utah.edu/~ikits/ )
172
225
and [ Marcelo Magallon] ( http://wwwvis.informatik.uni-stuttgart.de/~magallon/ ) .
173
226
Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also
174
- assisted with the design and debugging process.
227
+ assisted with the design and debugging process.
175
228
176
229
The acronym GLEW originates from Aaron Lefohn.
177
230
Pasi Kä ; rkkä ; inen identified and fixed several problems with
178
231
GLX and SDL. Nate Robins created the ` wglinfo ` utility, to
179
- which modifications were made by Michael Wimmer.
232
+ which modifications were made by Michael Wimmer.
233
+
234
+ ## Contributions
235
+
236
+ GLEW welcomes community contributions. Typically these are co-ordinated
237
+ via [ Issues] ( https://github.com/nigels-com/glew/issues ) or
238
+ [ Pull Requests] ( https://github.com/nigels-com/glew/pulls ) in the
239
+ GitHub web interface.
240
+
241
+ Be sure to mention platform and compiler toolchain details when filing
242
+ a bug report. The output of ` glewinfo ` can be quite useful for discussion
243
+ also.
244
+
245
+ Generally GLEW is usually released once a year, around the time of the Siggraph
246
+ computer graphics conference. If you're not using the current release
247
+ version of GLEW, be sure to check if the issue or bug is fixed there.
180
248
181
249
## Copyright and Licensing
182
250
183
251
GLEW is originally derived from the EXTGL project by Lev Povalahev.
184
- The source code is licensed under the
185
- [ Modified BSD License] ( http://glew.sourceforge.net/glew.txt ) , the
252
+ The source code is licensed under the
253
+ [ Modified BSD License] ( http://glew.sourceforge.net/glew.txt ) , the
186
254
[ Mesa 3-D License] ( http://glew.sourceforge.net/mesa.txt ) (MIT) and the
187
255
[ Khronos License] ( http://glew.sourceforge.net/khronos.txt ) (MIT).
188
256
189
- The automatic code generation scripts are released under the
257
+ The automatic code generation scripts are released under the
190
258
[ GNU GPL] ( http://glew.sourceforge.net/gpl.txt ) .
0 commit comments