/[pcsx2_0.9.7]/trunk/3rdparty/GL/glew.h
ViewVC logotype

Annotation of /trunk/3rdparty/GL/glew.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (hide annotations) (download)
Tue Sep 7 03:24:11 2010 UTC (9 years, 11 months ago) by william
File MIME type: text/plain
File size: 624269 byte(s)
committing r3113 initial commit again...
1 william 31 /*
2     ** The OpenGL Extension Wrangler Library
3     ** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
4     ** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
5     ** Copyright (C) 2002, Lev Povalahev
6     ** All rights reserved.
7     **
8     ** Redistribution and use in source and binary forms, with or without
9     ** modification, are permitted provided that the following conditions are met:
10     **
11     ** * Redistributions of source code must retain the above copyright notice,
12     ** this list of conditions and the following disclaimer.
13     ** * Redistributions in binary form must reproduce the above copyright notice,
14     ** this list of conditions and the following disclaimer in the documentation
15     ** and/or other materials provided with the distribution.
16     ** * The name of the author may be used to endorse or promote products
17     ** derived from this software without specific prior written permission.
18     **
19     ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20     ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21     ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22     ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23     ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24     ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25     ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26     ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27     ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28     ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29     ** THE POSSIBILITY OF SUCH DAMAGE.
30     */
31    
32     /*
33     * Mesa 3-D graphics library
34     * Version: 7.0
35     *
36     * Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
37     *
38     * Permission is hereby granted, free of charge, to any person obtaining a
39     * copy of this software and associated documentation files (the "Software"),
40     * to deal in the Software without restriction, including without limitation
41     * the rights to use, copy, modify, merge, publish, distribute, sublicense,
42     * and/or sell copies of the Software, and to permit persons to whom the
43     * Software is furnished to do so, subject to the following conditions:
44     *
45     * The above copyright notice and this permission notice shall be included
46     * in all copies or substantial portions of the Software.
47     *
48     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
49     * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
50     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
51     * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
52     * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
53     * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
54     */
55    
56     /*
57     ** Copyright (c) 2007 The Khronos Group Inc.
58     **
59     ** Permission is hereby granted, free of charge, to any person obtaining a
60     ** copy of this software and/or associated documentation files (the
61     ** "Materials"), to deal in the Materials without restriction, including
62     ** without limitation the rights to use, copy, modify, merge, publish,
63     ** distribute, sublicense, and/or sell copies of the Materials, and to
64     ** permit persons to whom the Materials are furnished to do so, subject to
65     ** the following conditions:
66     **
67     ** The above copyright notice and this permission notice shall be included
68     ** in all copies or substantial portions of the Materials.
69     **
70     ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
71     ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
72     ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
73     ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
74     ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
75     ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
76     ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
77     */
78    
79     #ifndef __glew_h__
80     #define __glew_h__
81     #define __GLEW_H__
82    
83     #if defined(__gl_h_) || defined(__GL_H__)
84     #error gl.h included before glew.h
85     #endif
86     #if defined(__glext_h_) || defined(__GLEXT_H_)
87     #error glext.h included before glew.h
88     #endif
89     #if defined(__gl_ATI_h_)
90     #error glATI.h included before glew.h
91     #endif
92    
93     #define __gl_h_
94     #define __GL_H__
95     #define __glext_h_
96     #define __GLEXT_H_
97     #define __gl_ATI_h_
98    
99     #if defined(_WIN32)
100    
101     /*
102     * GLEW does not include <windows.h> to avoid name space pollution.
103     * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t
104     * defined properly.
105     */
106     /* <windef.h> */
107     #ifndef APIENTRY
108     #define GLEW_APIENTRY_DEFINED
109     # if defined(__MINGW32__)
110     # define APIENTRY __stdcall
111     # elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
112     # define APIENTRY __stdcall
113     # else
114     # define APIENTRY
115     # endif
116     #endif
117     #ifndef GLAPI
118     # if defined(__MINGW32__)
119     # define GLAPI extern
120     # endif
121     #endif
122     /* <winnt.h> */
123     #ifndef CALLBACK
124     #define GLEW_CALLBACK_DEFINED
125     # if defined(__MINGW32__)
126     # define CALLBACK __attribute__ ((__stdcall__))
127     # elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
128     # define CALLBACK __stdcall
129     # else
130     # define CALLBACK
131     # endif
132     #endif
133     /* <wingdi.h> and <winnt.h> */
134     #ifndef WINGDIAPI
135     #define GLEW_WINGDIAPI_DEFINED
136     #define WINGDIAPI __declspec(dllimport)
137     #endif
138     /* <ctype.h> */
139     #if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED)
140     typedef unsigned short wchar_t;
141     # define _WCHAR_T_DEFINED
142     #endif
143     /* <stddef.h> */
144     #if !defined(_W64)
145     # if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300
146     # define _W64 __w64
147     # else
148     # define _W64
149     # endif
150     #endif
151     #if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_)
152     # ifdef _WIN64
153     typedef __int64 ptrdiff_t;
154     # else
155     typedef _W64 int ptrdiff_t;
156     # endif
157     # define _PTRDIFF_T_DEFINED
158     # define _PTRDIFF_T_
159     #endif
160    
161     #ifndef GLAPI
162     # if defined(__MINGW32__)
163     # define GLAPI extern
164     # else
165     # define GLAPI WINGDIAPI
166     # endif
167     #endif
168    
169     #ifndef GLAPIENTRY
170     #define GLAPIENTRY APIENTRY
171     #endif
172    
173     /*
174     * GLEW_STATIC needs to be set when using the static version.
175     * GLEW_BUILD is set when building the DLL version.
176     */
177     #ifdef GLEW_STATIC
178     # define GLEWAPI extern
179     #else
180     # ifdef GLEW_BUILD
181     # define GLEWAPI extern __declspec(dllexport)
182     # else
183     # define GLEWAPI extern __declspec(dllimport)
184     # endif
185     #endif
186    
187     #else /* _UNIX */
188    
189     /*
190     * Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO
191     * C. On my system, this amounts to _3 lines_ of included code, all of
192     * them pretty much harmless. If you know of a way of detecting 32 vs
193     * 64 _targets_ at compile time you are free to replace this with
194     * something that's portable. For now, _this_ is the portable solution.
195     * (mem, 2004-01-04)
196     */
197    
198     #include <stddef.h>
199     #include <stdint.h>
200    
201     #define GLEW_APIENTRY_DEFINED
202     #define APIENTRY
203     #define GLEWAPI extern
204    
205     /* <glu.h> */
206     #ifndef GLAPI
207     #define GLAPI extern
208     #endif
209     #ifndef GLAPIENTRY
210     #define GLAPIENTRY
211     #endif
212    
213     #endif /* _WIN32 */
214    
215     #ifdef __cplusplus
216     extern "C" {
217     #endif
218    
219     /* ----------------------------- GL_VERSION_1_1 ---------------------------- */
220    
221     #ifndef GL_VERSION_1_1
222     #define GL_VERSION_1_1 1
223    
224     typedef unsigned int GLenum;
225     typedef unsigned int GLbitfield;
226     typedef unsigned int GLuint;
227     typedef int GLint;
228     typedef int GLsizei;
229     typedef unsigned char GLboolean;
230     typedef signed char GLbyte;
231     typedef short GLshort;
232     typedef unsigned char GLubyte;
233     typedef unsigned short GLushort;
234     typedef unsigned long GLulong;
235     typedef float GLfloat;
236     typedef float GLclampf;
237     typedef double GLdouble;
238     typedef double GLclampd;
239     typedef void GLvoid;
240     #if defined(_MSC_VER)
241     # if _MSC_VER < 1400
242     typedef __int64 GLint64EXT;
243     typedef unsigned __int64 GLuint64EXT;
244     # else
245     typedef signed long long GLint64EXT;
246     typedef unsigned long long GLuint64EXT;
247     # endif
248     #else
249     # if defined(__MINGW32__)
250     #include <inttypes.h>
251     # endif
252     typedef int64_t GLint64EXT;
253     typedef uint64_t GLuint64EXT;
254     #endif
255    
256     #define GL_ACCUM 0x0100
257     #define GL_LOAD 0x0101
258     #define GL_RETURN 0x0102
259     #define GL_MULT 0x0103
260     #define GL_ADD 0x0104
261     #define GL_NEVER 0x0200
262     #define GL_LESS 0x0201
263     #define GL_EQUAL 0x0202
264     #define GL_LEQUAL 0x0203
265     #define GL_GREATER 0x0204
266     #define GL_NOTEQUAL 0x0205
267     #define GL_GEQUAL 0x0206
268     #define GL_ALWAYS 0x0207
269     #define GL_CURRENT_BIT 0x00000001
270     #define GL_POINT_BIT 0x00000002
271     #define GL_LINE_BIT 0x00000004
272     #define GL_POLYGON_BIT 0x00000008
273     #define GL_POLYGON_STIPPLE_BIT 0x00000010
274     #define GL_PIXEL_MODE_BIT 0x00000020
275     #define GL_LIGHTING_BIT 0x00000040
276     #define GL_FOG_BIT 0x00000080
277     #define GL_DEPTH_BUFFER_BIT 0x00000100
278     #define GL_ACCUM_BUFFER_BIT 0x00000200
279     #define GL_STENCIL_BUFFER_BIT 0x00000400
280     #define GL_VIEWPORT_BIT 0x00000800
281     #define GL_TRANSFORM_BIT 0x00001000
282     #define GL_ENABLE_BIT 0x00002000
283     #define GL_COLOR_BUFFER_BIT 0x00004000
284     #define GL_HINT_BIT 0x00008000
285     #define GL_EVAL_BIT 0x00010000
286     #define GL_LIST_BIT 0x00020000
287     #define GL_TEXTURE_BIT 0x00040000
288     #define GL_SCISSOR_BIT 0x00080000
289     #define GL_ALL_ATTRIB_BITS 0x000fffff
290     #define GL_POINTS 0x0000
291     #define GL_LINES 0x0001
292     #define GL_LINE_LOOP 0x0002
293     #define GL_LINE_STRIP 0x0003
294     #define GL_TRIANGLES 0x0004
295     #define GL_TRIANGLE_STRIP 0x0005
296     #define GL_TRIANGLE_FAN 0x0006
297     #define GL_QUADS 0x0007
298     #define GL_QUAD_STRIP 0x0008
299     #define GL_POLYGON 0x0009
300     #define GL_ZERO 0
301     #define GL_ONE 1
302     #define GL_SRC_COLOR 0x0300
303     #define GL_ONE_MINUS_SRC_COLOR 0x0301
304     #define GL_SRC_ALPHA 0x0302
305     #define GL_ONE_MINUS_SRC_ALPHA 0x0303
306     #define GL_DST_ALPHA 0x0304
307     #define GL_ONE_MINUS_DST_ALPHA 0x0305
308     #define GL_DST_COLOR 0x0306
309     #define GL_ONE_MINUS_DST_COLOR 0x0307
310     #define GL_SRC_ALPHA_SATURATE 0x0308
311     #define GL_TRUE 1
312     #define GL_FALSE 0
313     #define GL_CLIP_PLANE0 0x3000
314     #define GL_CLIP_PLANE1 0x3001
315     #define GL_CLIP_PLANE2 0x3002
316     #define GL_CLIP_PLANE3 0x3003
317     #define GL_CLIP_PLANE4 0x3004
318     #define GL_CLIP_PLANE5 0x3005
319     #define GL_BYTE 0x1400
320     #define GL_UNSIGNED_BYTE 0x1401
321     #define GL_SHORT 0x1402
322     #define GL_UNSIGNED_SHORT 0x1403
323     #define GL_INT 0x1404
324     #define GL_UNSIGNED_INT 0x1405
325     #define GL_FLOAT 0x1406
326     #define GL_2_BYTES 0x1407
327     #define GL_3_BYTES 0x1408
328     #define GL_4_BYTES 0x1409
329     #define GL_DOUBLE 0x140A
330     #define GL_NONE 0
331     #define GL_FRONT_LEFT 0x0400
332     #define GL_FRONT_RIGHT 0x0401
333     #define GL_BACK_LEFT 0x0402
334     #define GL_BACK_RIGHT 0x0403
335     #define GL_FRONT 0x0404
336     #define GL_BACK 0x0405
337     #define GL_LEFT 0x0406
338     #define GL_RIGHT 0x0407
339     #define GL_FRONT_AND_BACK 0x0408
340     #define GL_AUX0 0x0409
341     #define GL_AUX1 0x040A
342     #define GL_AUX2 0x040B
343     #define GL_AUX3 0x040C
344     #define GL_NO_ERROR 0
345     #define GL_INVALID_ENUM 0x0500
346     #define GL_INVALID_VALUE 0x0501
347     #define GL_INVALID_OPERATION 0x0502
348     #define GL_STACK_OVERFLOW 0x0503
349     #define GL_STACK_UNDERFLOW 0x0504
350     #define GL_OUT_OF_MEMORY 0x0505
351     #define GL_2D 0x0600
352     #define GL_3D 0x0601
353     #define GL_3D_COLOR 0x0602
354     #define GL_3D_COLOR_TEXTURE 0x0603
355     #define GL_4D_COLOR_TEXTURE 0x0604
356     #define GL_PASS_THROUGH_TOKEN 0x0700
357     #define GL_POINT_TOKEN 0x0701
358     #define GL_LINE_TOKEN 0x0702
359     #define GL_POLYGON_TOKEN 0x0703
360     #define GL_BITMAP_TOKEN 0x0704
361     #define GL_DRAW_PIXEL_TOKEN 0x0705
362     #define GL_COPY_PIXEL_TOKEN 0x0706
363     #define GL_LINE_RESET_TOKEN 0x0707
364     #define GL_EXP 0x0800
365     #define GL_EXP2 0x0801
366     #define GL_CW 0x0900
367     #define GL_CCW 0x0901
368     #define GL_COEFF 0x0A00
369     #define GL_ORDER 0x0A01
370     #define GL_DOMAIN 0x0A02
371     #define GL_CURRENT_COLOR 0x0B00
372     #define GL_CURRENT_INDEX 0x0B01
373     #define GL_CURRENT_NORMAL 0x0B02
374     #define GL_CURRENT_TEXTURE_COORDS 0x0B03
375     #define GL_CURRENT_RASTER_COLOR 0x0B04
376     #define GL_CURRENT_RASTER_INDEX 0x0B05
377     #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
378     #define GL_CURRENT_RASTER_POSITION 0x0B07
379     #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
380     #define GL_CURRENT_RASTER_DISTANCE 0x0B09
381     #define GL_POINT_SMOOTH 0x0B10
382     #define GL_POINT_SIZE 0x0B11
383     #define GL_POINT_SIZE_RANGE 0x0B12
384     #define GL_POINT_SIZE_GRANULARITY 0x0B13
385     #define GL_LINE_SMOOTH 0x0B20
386     #define GL_LINE_WIDTH 0x0B21
387     #define GL_LINE_WIDTH_RANGE 0x0B22
388     #define GL_LINE_WIDTH_GRANULARITY 0x0B23
389     #define GL_LINE_STIPPLE 0x0B24
390     #define GL_LINE_STIPPLE_PATTERN 0x0B25
391     #define GL_LINE_STIPPLE_REPEAT 0x0B26
392     #define GL_LIST_MODE 0x0B30
393     #define GL_MAX_LIST_NESTING 0x0B31
394     #define GL_LIST_BASE 0x0B32
395     #define GL_LIST_INDEX 0x0B33
396     #define GL_POLYGON_MODE 0x0B40
397     #define GL_POLYGON_SMOOTH 0x0B41
398     #define GL_POLYGON_STIPPLE 0x0B42
399     #define GL_EDGE_FLAG 0x0B43
400     #define GL_CULL_FACE 0x0B44
401     #define GL_CULL_FACE_MODE 0x0B45
402     #define GL_FRONT_FACE 0x0B46
403     #define GL_LIGHTING 0x0B50
404     #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
405     #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
406     #define GL_LIGHT_MODEL_AMBIENT 0x0B53
407     #define GL_SHADE_MODEL 0x0B54
408     #define GL_COLOR_MATERIAL_FACE 0x0B55
409     #define GL_COLOR_MATERIAL_PARAMETER 0x0B56
410     #define GL_COLOR_MATERIAL 0x0B57
411     #define GL_FOG 0x0B60
412     #define GL_FOG_INDEX 0x0B61
413     #define GL_FOG_DENSITY 0x0B62
414     #define GL_FOG_START 0x0B63
415     #define GL_FOG_END 0x0B64
416     #define GL_FOG_MODE 0x0B65
417     #define GL_FOG_COLOR 0x0B66
418     #define GL_DEPTH_RANGE 0x0B70
419     #define GL_DEPTH_TEST 0x0B71
420     #define GL_DEPTH_WRITEMASK 0x0B72
421     #define GL_DEPTH_CLEAR_VALUE 0x0B73
422     #define GL_DEPTH_FUNC 0x0B74
423     #define GL_ACCUM_CLEAR_VALUE 0x0B80
424     #define GL_STENCIL_TEST 0x0B90
425     #define GL_STENCIL_CLEAR_VALUE 0x0B91
426     #define GL_STENCIL_FUNC 0x0B92
427     #define GL_STENCIL_VALUE_MASK 0x0B93
428     #define GL_STENCIL_FAIL 0x0B94
429     #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
430     #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
431     #define GL_STENCIL_REF 0x0B97
432     #define GL_STENCIL_WRITEMASK 0x0B98
433     #define GL_MATRIX_MODE 0x0BA0
434     #define GL_NORMALIZE 0x0BA1
435     #define GL_VIEWPORT 0x0BA2
436     #define GL_MODELVIEW_STACK_DEPTH 0x0BA3
437     #define GL_PROJECTION_STACK_DEPTH 0x0BA4
438     #define GL_TEXTURE_STACK_DEPTH 0x0BA5
439     #define GL_MODELVIEW_MATRIX 0x0BA6
440     #define GL_PROJECTION_MATRIX 0x0BA7
441     #define GL_TEXTURE_MATRIX 0x0BA8
442     #define GL_ATTRIB_STACK_DEPTH 0x0BB0
443     #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
444     #define GL_ALPHA_TEST 0x0BC0
445     #define GL_ALPHA_TEST_FUNC 0x0BC1
446     #define GL_ALPHA_TEST_REF 0x0BC2
447     #define GL_DITHER 0x0BD0
448     #define GL_BLEND_DST 0x0BE0
449     #define GL_BLEND_SRC 0x0BE1
450     #define GL_BLEND 0x0BE2
451     #define GL_LOGIC_OP_MODE 0x0BF0
452     #define GL_INDEX_LOGIC_OP 0x0BF1
453     #define GL_COLOR_LOGIC_OP 0x0BF2
454     #define GL_AUX_BUFFERS 0x0C00
455     #define GL_DRAW_BUFFER 0x0C01
456     #define GL_READ_BUFFER 0x0C02
457     #define GL_SCISSOR_BOX 0x0C10
458     #define GL_SCISSOR_TEST 0x0C11
459     #define GL_INDEX_CLEAR_VALUE 0x0C20
460     #define GL_INDEX_WRITEMASK 0x0C21
461     #define GL_COLOR_CLEAR_VALUE 0x0C22
462     #define GL_COLOR_WRITEMASK 0x0C23
463     #define GL_INDEX_MODE 0x0C30
464     #define GL_RGBA_MODE 0x0C31
465     #define GL_DOUBLEBUFFER 0x0C32
466     #define GL_STEREO 0x0C33
467     #define GL_RENDER_MODE 0x0C40
468     #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
469     #define GL_POINT_SMOOTH_HINT 0x0C51
470     #define GL_LINE_SMOOTH_HINT 0x0C52
471     #define GL_POLYGON_SMOOTH_HINT 0x0C53
472     #define GL_FOG_HINT 0x0C54
473     #define GL_TEXTURE_GEN_S 0x0C60
474     #define GL_TEXTURE_GEN_T 0x0C61
475     #define GL_TEXTURE_GEN_R 0x0C62
476     #define GL_TEXTURE_GEN_Q 0x0C63
477     #define GL_PIXEL_MAP_I_TO_I 0x0C70
478     #define GL_PIXEL_MAP_S_TO_S 0x0C71
479     #define GL_PIXEL_MAP_I_TO_R 0x0C72
480     #define GL_PIXEL_MAP_I_TO_G 0x0C73
481     #define GL_PIXEL_MAP_I_TO_B 0x0C74
482     #define GL_PIXEL_MAP_I_TO_A 0x0C75
483     #define GL_PIXEL_MAP_R_TO_R 0x0C76
484     #define GL_PIXEL_MAP_G_TO_G 0x0C77
485     #define GL_PIXEL_MAP_B_TO_B 0x0C78
486     #define GL_PIXEL_MAP_A_TO_A 0x0C79
487     #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
488     #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
489     #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
490     #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
491     #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
492     #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
493     #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
494     #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
495     #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
496     #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
497     #define GL_UNPACK_SWAP_BYTES 0x0CF0
498     #define GL_UNPACK_LSB_FIRST 0x0CF1
499     #define GL_UNPACK_ROW_LENGTH 0x0CF2
500     #define GL_UNPACK_SKIP_ROWS 0x0CF3
501     #define GL_UNPACK_SKIP_PIXELS 0x0CF4
502     #define GL_UNPACK_ALIGNMENT 0x0CF5
503     #define GL_PACK_SWAP_BYTES 0x0D00
504     #define GL_PACK_LSB_FIRST 0x0D01
505     #define GL_PACK_ROW_LENGTH 0x0D02
506     #define GL_PACK_SKIP_ROWS 0x0D03
507     #define GL_PACK_SKIP_PIXELS 0x0D04
508     #define GL_PACK_ALIGNMENT 0x0D05
509     #define GL_MAP_COLOR 0x0D10
510     #define GL_MAP_STENCIL 0x0D11
511     #define GL_INDEX_SHIFT 0x0D12
512     #define GL_INDEX_OFFSET 0x0D13
513     #define GL_RED_SCALE 0x0D14
514     #define GL_RED_BIAS 0x0D15
515     #define GL_ZOOM_X 0x0D16
516     #define GL_ZOOM_Y 0x0D17
517     #define GL_GREEN_SCALE 0x0D18
518     #define GL_GREEN_BIAS 0x0D19
519     #define GL_BLUE_SCALE 0x0D1A
520     #define GL_BLUE_BIAS 0x0D1B
521     #define GL_ALPHA_SCALE 0x0D1C
522     #define GL_ALPHA_BIAS 0x0D1D
523     #define GL_DEPTH_SCALE 0x0D1E
524     #define GL_DEPTH_BIAS 0x0D1F
525     #define GL_MAX_EVAL_ORDER 0x0D30
526     #define GL_MAX_LIGHTS 0x0D31
527     #define GL_MAX_CLIP_PLANES 0x0D32
528     #define GL_MAX_TEXTURE_SIZE 0x0D33
529     #define GL_MAX_PIXEL_MAP_TABLE 0x0D34
530     #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
531     #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
532     #define GL_MAX_NAME_STACK_DEPTH 0x0D37
533     #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
534     #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
535     #define GL_MAX_VIEWPORT_DIMS 0x0D3A
536     #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
537     #define GL_SUBPIXEL_BITS 0x0D50
538     #define GL_INDEX_BITS 0x0D51
539     #define GL_RED_BITS 0x0D52
540     #define GL_GREEN_BITS 0x0D53
541     #define GL_BLUE_BITS 0x0D54
542     #define GL_ALPHA_BITS 0x0D55
543     #define GL_DEPTH_BITS 0x0D56
544     #define GL_STENCIL_BITS 0x0D57
545     #define GL_ACCUM_RED_BITS 0x0D58
546     #define GL_ACCUM_GREEN_BITS 0x0D59
547     #define GL_ACCUM_BLUE_BITS 0x0D5A
548     #define GL_ACCUM_ALPHA_BITS 0x0D5B
549     #define GL_NAME_STACK_DEPTH 0x0D70
550     #define GL_AUTO_NORMAL 0x0D80
551     #define GL_MAP1_COLOR_4 0x0D90
552     #define GL_MAP1_INDEX 0x0D91
553     #define GL_MAP1_NORMAL 0x0D92
554     #define GL_MAP1_TEXTURE_COORD_1 0x0D93
555     #define GL_MAP1_TEXTURE_COORD_2 0x0D94
556     #define GL_MAP1_TEXTURE_COORD_3 0x0D95
557     #define GL_MAP1_TEXTURE_COORD_4 0x0D96
558     #define GL_MAP1_VERTEX_3 0x0D97
559     #define GL_MAP1_VERTEX_4 0x0D98
560     #define GL_MAP2_COLOR_4 0x0DB0
561     #define GL_MAP2_INDEX 0x0DB1
562     #define GL_MAP2_NORMAL 0x0DB2
563     #define GL_MAP2_TEXTURE_COORD_1 0x0DB3
564     #define GL_MAP2_TEXTURE_COORD_2 0x0DB4
565     #define GL_MAP2_TEXTURE_COORD_3 0x0DB5
566     #define GL_MAP2_TEXTURE_COORD_4 0x0DB6
567     #define GL_MAP2_VERTEX_3 0x0DB7
568     #define GL_MAP2_VERTEX_4 0x0DB8
569     #define GL_MAP1_GRID_DOMAIN 0x0DD0
570     #define GL_MAP1_GRID_SEGMENTS 0x0DD1
571     #define GL_MAP2_GRID_DOMAIN 0x0DD2
572     #define GL_MAP2_GRID_SEGMENTS 0x0DD3
573     #define GL_TEXTURE_1D 0x0DE0
574     #define GL_TEXTURE_2D 0x0DE1
575     #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
576     #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
577     #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
578     #define GL_SELECTION_BUFFER_POINTER 0x0DF3
579     #define GL_SELECTION_BUFFER_SIZE 0x0DF4
580     #define GL_TEXTURE_WIDTH 0x1000
581     #define GL_TEXTURE_HEIGHT 0x1001
582     #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
583     #define GL_TEXTURE_BORDER_COLOR 0x1004
584     #define GL_TEXTURE_BORDER 0x1005
585     #define GL_DONT_CARE 0x1100
586     #define GL_FASTEST 0x1101
587     #define GL_NICEST 0x1102
588     #define GL_LIGHT0 0x4000
589     #define GL_LIGHT1 0x4001
590     #define GL_LIGHT2 0x4002
591     #define GL_LIGHT3 0x4003
592     #define GL_LIGHT4 0x4004
593     #define GL_LIGHT5 0x4005
594     #define GL_LIGHT6 0x4006
595     #define GL_LIGHT7 0x4007
596     #define GL_AMBIENT 0x1200
597     #define GL_DIFFUSE 0x1201
598     #define GL_SPECULAR 0x1202
599     #define GL_POSITION 0x1203
600     #define GL_SPOT_DIRECTION 0x1204
601     #define GL_SPOT_EXPONENT 0x1205
602     #define GL_SPOT_CUTOFF 0x1206
603     #define GL_CONSTANT_ATTENUATION 0x1207
604     #define GL_LINEAR_ATTENUATION 0x1208
605     #define GL_QUADRATIC_ATTENUATION 0x1209
606     #define GL_COMPILE 0x1300
607     #define GL_COMPILE_AND_EXECUTE 0x1301
608     #define GL_CLEAR 0x1500
609     #define GL_AND 0x1501
610     #define GL_AND_REVERSE 0x1502
611     #define GL_COPY 0x1503
612     #define GL_AND_INVERTED 0x1504
613     #define GL_NOOP 0x1505
614     #define GL_XOR 0x1506
615     #define GL_OR 0x1507
616     #define GL_NOR 0x1508
617     #define GL_EQUIV 0x1509
618     #define GL_INVERT 0x150A
619     #define GL_OR_REVERSE 0x150B
620     #define GL_COPY_INVERTED 0x150C
621     #define GL_OR_INVERTED 0x150D
622     #define GL_NAND 0x150E
623     #define GL_SET 0x150F
624     #define GL_EMISSION 0x1600
625     #define GL_SHININESS 0x1601
626     #define GL_AMBIENT_AND_DIFFUSE 0x1602
627     #define GL_COLOR_INDEXES 0x1603
628     #define GL_MODELVIEW 0x1700
629     #define GL_PROJECTION 0x1701
630     #define GL_TEXTURE 0x1702
631     #define GL_COLOR 0x1800
632     #define GL_DEPTH 0x1801
633     #define GL_STENCIL 0x1802
634     #define GL_COLOR_INDEX 0x1900
635     #define GL_STENCIL_INDEX 0x1901
636     #define GL_DEPTH_COMPONENT 0x1902
637     #define GL_RED 0x1903
638     #define GL_GREEN 0x1904
639     #define GL_BLUE 0x1905
640     #define GL_ALPHA 0x1906
641     #define GL_RGB 0x1907
642     #define GL_RGBA 0x1908
643     #define GL_LUMINANCE 0x1909
644     #define GL_LUMINANCE_ALPHA 0x190A
645     #define GL_BITMAP 0x1A00
646     #define GL_POINT 0x1B00
647     #define GL_LINE 0x1B01
648     #define GL_FILL 0x1B02
649     #define GL_RENDER 0x1C00
650     #define GL_FEEDBACK 0x1C01
651     #define GL_SELECT 0x1C02
652     #define GL_FLAT 0x1D00
653     #define GL_SMOOTH 0x1D01
654     #define GL_KEEP 0x1E00
655     #define GL_REPLACE 0x1E01
656     #define GL_INCR 0x1E02
657     #define GL_DECR 0x1E03
658     #define GL_VENDOR 0x1F00
659     #define GL_RENDERER 0x1F01
660     #define GL_VERSION 0x1F02
661     #define GL_EXTENSIONS 0x1F03
662     #define GL_S 0x2000
663     #define GL_T 0x2001
664     #define GL_R 0x2002
665     #define GL_Q 0x2003
666     #define GL_MODULATE 0x2100
667     #define GL_DECAL 0x2101
668     #define GL_TEXTURE_ENV_MODE 0x2200
669     #define GL_TEXTURE_ENV_COLOR 0x2201
670     #define GL_TEXTURE_ENV 0x2300
671     #define GL_EYE_LINEAR 0x2400
672     #define GL_OBJECT_LINEAR 0x2401
673     #define GL_SPHERE_MAP 0x2402
674     #define GL_TEXTURE_GEN_MODE 0x2500
675     #define GL_OBJECT_PLANE 0x2501
676     #define GL_EYE_PLANE 0x2502
677     #define GL_NEAREST 0x2600
678     #define GL_LINEAR 0x2601
679     #define GL_NEAREST_MIPMAP_NEAREST 0x2700
680     #define GL_LINEAR_MIPMAP_NEAREST 0x2701
681     #define GL_NEAREST_MIPMAP_LINEAR 0x2702
682     #define GL_LINEAR_MIPMAP_LINEAR 0x2703
683     #define GL_TEXTURE_MAG_FILTER 0x2800
684     #define GL_TEXTURE_MIN_FILTER 0x2801
685     #define GL_TEXTURE_WRAP_S 0x2802
686     #define GL_TEXTURE_WRAP_T 0x2803
687     #define GL_CLAMP 0x2900
688     #define GL_REPEAT 0x2901
689     #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
690     #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
691     #define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff
692     #define GL_POLYGON_OFFSET_FACTOR 0x8038
693     #define GL_POLYGON_OFFSET_UNITS 0x2A00
694     #define GL_POLYGON_OFFSET_POINT 0x2A01
695     #define GL_POLYGON_OFFSET_LINE 0x2A02
696     #define GL_POLYGON_OFFSET_FILL 0x8037
697     #define GL_ALPHA4 0x803B
698     #define GL_ALPHA8 0x803C
699     #define GL_ALPHA12 0x803D
700     #define GL_ALPHA16 0x803E
701     #define GL_LUMINANCE4 0x803F
702     #define GL_LUMINANCE8 0x8040
703     #define GL_LUMINANCE12 0x8041
704     #define GL_LUMINANCE16 0x8042
705     #define GL_LUMINANCE4_ALPHA4 0x8043
706     #define GL_LUMINANCE6_ALPHA2 0x8044
707     #define GL_LUMINANCE8_ALPHA8 0x8045
708     #define GL_LUMINANCE12_ALPHA4 0x8046
709     #define GL_LUMINANCE12_ALPHA12 0x8047
710     #define GL_LUMINANCE16_ALPHA16 0x8048
711     #define GL_INTENSITY 0x8049
712     #define GL_INTENSITY4 0x804A
713     #define GL_INTENSITY8 0x804B
714     #define GL_INTENSITY12 0x804C
715     #define GL_INTENSITY16 0x804D
716     #define GL_R3_G3_B2 0x2A10
717     #define GL_RGB4 0x804F
718     #define GL_RGB5 0x8050
719     #define GL_RGB8 0x8051
720     #define GL_RGB10 0x8052
721     #define GL_RGB12 0x8053
722     #define GL_RGB16 0x8054
723     #define GL_RGBA2 0x8055
724     #define GL_RGBA4 0x8056
725     #define GL_RGB5_A1 0x8057
726     #define GL_RGBA8 0x8058
727     #define GL_RGB10_A2 0x8059
728     #define GL_RGBA12 0x805A
729     #define GL_RGBA16 0x805B
730     #define GL_TEXTURE_RED_SIZE 0x805C
731     #define GL_TEXTURE_GREEN_SIZE 0x805D
732     #define GL_TEXTURE_BLUE_SIZE 0x805E
733     #define GL_TEXTURE_ALPHA_SIZE 0x805F
734     #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
735     #define GL_TEXTURE_INTENSITY_SIZE 0x8061
736     #define GL_PROXY_TEXTURE_1D 0x8063
737     #define GL_PROXY_TEXTURE_2D 0x8064
738     #define GL_TEXTURE_PRIORITY 0x8066
739     #define GL_TEXTURE_RESIDENT 0x8067
740     #define GL_TEXTURE_BINDING_1D 0x8068
741     #define GL_TEXTURE_BINDING_2D 0x8069
742     #define GL_VERTEX_ARRAY 0x8074
743     #define GL_NORMAL_ARRAY 0x8075
744     #define GL_COLOR_ARRAY 0x8076
745     #define GL_INDEX_ARRAY 0x8077
746     #define GL_TEXTURE_COORD_ARRAY 0x8078
747     #define GL_EDGE_FLAG_ARRAY 0x8079
748     #define GL_VERTEX_ARRAY_SIZE 0x807A
749     #define GL_VERTEX_ARRAY_TYPE 0x807B
750     #define GL_VERTEX_ARRAY_STRIDE 0x807C
751     #define GL_NORMAL_ARRAY_TYPE 0x807E
752     #define GL_NORMAL_ARRAY_STRIDE 0x807F
753     #define GL_COLOR_ARRAY_SIZE 0x8081
754     #define GL_COLOR_ARRAY_TYPE 0x8082
755     #define GL_COLOR_ARRAY_STRIDE 0x8083
756     #define GL_INDEX_ARRAY_TYPE 0x8085
757     #define GL_INDEX_ARRAY_STRIDE 0x8086
758     #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
759     #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
760     #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
761     #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
762     #define GL_VERTEX_ARRAY_POINTER 0x808E
763     #define GL_NORMAL_ARRAY_POINTER 0x808F
764     #define GL_COLOR_ARRAY_POINTER 0x8090
765     #define GL_INDEX_ARRAY_POINTER 0x8091
766     #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
767     #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
768     #define GL_V2F 0x2A20
769     #define GL_V3F 0x2A21
770     #define GL_C4UB_V2F 0x2A22
771     #define GL_C4UB_V3F 0x2A23
772     #define GL_C3F_V3F 0x2A24
773     #define GL_N3F_V3F 0x2A25
774     #define GL_C4F_N3F_V3F 0x2A26
775     #define GL_T2F_V3F 0x2A27
776     #define GL_T4F_V4F 0x2A28
777     #define GL_T2F_C4UB_V3F 0x2A29
778     #define GL_T2F_C3F_V3F 0x2A2A
779     #define GL_T2F_N3F_V3F 0x2A2B
780     #define GL_T2F_C4F_N3F_V3F 0x2A2C
781     #define GL_T4F_C4F_N3F_V4F 0x2A2D
782     #define GL_LOGIC_OP GL_INDEX_LOGIC_OP
783     #define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT
784     #define GL_COLOR_INDEX1_EXT 0x80E2
785     #define GL_COLOR_INDEX2_EXT 0x80E3
786     #define GL_COLOR_INDEX4_EXT 0x80E4
787     #define GL_COLOR_INDEX8_EXT 0x80E5
788     #define GL_COLOR_INDEX12_EXT 0x80E6
789     #define GL_COLOR_INDEX16_EXT 0x80E7
790    
791     GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value);
792     GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref);
793     GLAPI GLboolean GLAPIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences);
794     GLAPI void GLAPIENTRY glArrayElement (GLint i);
795     GLAPI void GLAPIENTRY glBegin (GLenum mode);
796     GLAPI void GLAPIENTRY glBindTexture (GLenum target, GLuint texture);
797     GLAPI void GLAPIENTRY glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
798     GLAPI void GLAPIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
799     GLAPI void GLAPIENTRY glCallList (GLuint list);
800     GLAPI void GLAPIENTRY glCallLists (GLsizei n, GLenum type, const GLvoid *lists);
801     GLAPI void GLAPIENTRY glClear (GLbitfield mask);
802     GLAPI void GLAPIENTRY glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
803     GLAPI void GLAPIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
804     GLAPI void GLAPIENTRY glClearDepth (GLclampd depth);
805     GLAPI void GLAPIENTRY glClearIndex (GLfloat c);
806     GLAPI void GLAPIENTRY glClearStencil (GLint s);
807     GLAPI void GLAPIENTRY glClipPlane (GLenum plane, const GLdouble *equation);
808     GLAPI void GLAPIENTRY glColor3b (GLbyte red, GLbyte green, GLbyte blue);
809     GLAPI void GLAPIENTRY glColor3bv (const GLbyte *v);
810     GLAPI void GLAPIENTRY glColor3d (GLdouble red, GLdouble green, GLdouble blue);
811     GLAPI void GLAPIENTRY glColor3dv (const GLdouble *v);
812     GLAPI void GLAPIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue);
813     GLAPI void GLAPIENTRY glColor3fv (const GLfloat *v);
814     GLAPI void GLAPIENTRY glColor3i (GLint red, GLint green, GLint blue);
815     GLAPI void GLAPIENTRY glColor3iv (const GLint *v);
816     GLAPI void GLAPIENTRY glColor3s (GLshort red, GLshort green, GLshort blue);
817     GLAPI void GLAPIENTRY glColor3sv (const GLshort *v);
818     GLAPI void GLAPIENTRY glColor3ub (GLubyte red, GLubyte green, GLubyte blue);
819     GLAPI void GLAPIENTRY glColor3ubv (const GLubyte *v);
820     GLAPI void GLAPIENTRY glColor3ui (GLuint red, GLuint green, GLuint blue);
821     GLAPI void GLAPIENTRY glColor3uiv (const GLuint *v);
822     GLAPI void GLAPIENTRY glColor3us (GLushort red, GLushort green, GLushort blue);
823     GLAPI void GLAPIENTRY glColor3usv (const GLushort *v);
824     GLAPI void GLAPIENTRY glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
825     GLAPI void GLAPIENTRY glColor4bv (const GLbyte *v);
826     GLAPI void GLAPIENTRY glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
827     GLAPI void GLAPIENTRY glColor4dv (const GLdouble *v);
828     GLAPI void GLAPIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
829     GLAPI void GLAPIENTRY glColor4fv (const GLfloat *v);
830     GLAPI void GLAPIENTRY glColor4i (GLint red, GLint green, GLint blue, GLint alpha);
831     GLAPI void GLAPIENTRY glColor4iv (const GLint *v);
832     GLAPI void GLAPIENTRY glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha);
833     GLAPI void GLAPIENTRY glColor4sv (const GLshort *v);
834     GLAPI void GLAPIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
835     GLAPI void GLAPIENTRY glColor4ubv (const GLubyte *v);
836     GLAPI void GLAPIENTRY glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha);
837     GLAPI void GLAPIENTRY glColor4uiv (const GLuint *v);
838     GLAPI void GLAPIENTRY glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha);
839     GLAPI void GLAPIENTRY glColor4usv (const GLushort *v);
840     GLAPI void GLAPIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
841     GLAPI void GLAPIENTRY glColorMaterial (GLenum face, GLenum mode);
842     GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
843     GLAPI void GLAPIENTRY glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
844     GLAPI void GLAPIENTRY glCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
845     GLAPI void GLAPIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
846     GLAPI void GLAPIENTRY glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
847     GLAPI void GLAPIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
848     GLAPI void GLAPIENTRY glCullFace (GLenum mode);
849     GLAPI void GLAPIENTRY glDeleteLists (GLuint list, GLsizei range);
850     GLAPI void GLAPIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
851     GLAPI void GLAPIENTRY glDepthFunc (GLenum func);
852     GLAPI void GLAPIENTRY glDepthMask (GLboolean flag);
853     GLAPI void GLAPIENTRY glDepthRange (GLclampd zNear, GLclampd zFar);
854     GLAPI void GLAPIENTRY glDisable (GLenum cap);
855     GLAPI void GLAPIENTRY glDisableClientState (GLenum array);
856     GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
857     GLAPI void GLAPIENTRY glDrawBuffer (GLenum mode);
858     GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
859     GLAPI void GLAPIENTRY glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
860     GLAPI void GLAPIENTRY glEdgeFlag (GLboolean flag);
861     GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const GLvoid *pointer);
862     GLAPI void GLAPIENTRY glEdgeFlagv (const GLboolean *flag);
863     GLAPI void GLAPIENTRY glEnable (GLenum cap);
864     GLAPI void GLAPIENTRY glEnableClientState (GLenum array);
865     GLAPI void GLAPIENTRY glEnd (void);
866     GLAPI void GLAPIENTRY glEndList (void);
867     GLAPI void GLAPIENTRY glEvalCoord1d (GLdouble u);
868     GLAPI void GLAPIENTRY glEvalCoord1dv (const GLdouble *u);
869     GLAPI void GLAPIENTRY glEvalCoord1f (GLfloat u);
870     GLAPI void GLAPIENTRY glEvalCoord1fv (const GLfloat *u);
871     GLAPI void GLAPIENTRY glEvalCoord2d (GLdouble u, GLdouble v);
872     GLAPI void GLAPIENTRY glEvalCoord2dv (const GLdouble *u);
873     GLAPI void GLAPIENTRY glEvalCoord2f (GLfloat u, GLfloat v);
874     GLAPI void GLAPIENTRY glEvalCoord2fv (const GLfloat *u);
875     GLAPI void GLAPIENTRY glEvalMesh1 (GLenum mode, GLint i1, GLint i2);
876     GLAPI void GLAPIENTRY glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
877     GLAPI void GLAPIENTRY glEvalPoint1 (GLint i);
878     GLAPI void GLAPIENTRY glEvalPoint2 (GLint i, GLint j);
879     GLAPI void GLAPIENTRY glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer);
880     GLAPI void GLAPIENTRY glFinish (void);
881     GLAPI void GLAPIENTRY glFlush (void);
882     GLAPI void GLAPIENTRY glFogf (GLenum pname, GLfloat param);
883     GLAPI void GLAPIENTRY glFogfv (GLenum pname, const GLfloat *params);
884     GLAPI void GLAPIENTRY glFogi (GLenum pname, GLint param);
885     GLAPI void GLAPIENTRY glFogiv (GLenum pname, const GLint *params);
886     GLAPI void GLAPIENTRY glFrontFace (GLenum mode);
887     GLAPI void GLAPIENTRY glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
888     GLAPI GLuint GLAPIENTRY glGenLists (GLsizei range);
889     GLAPI void GLAPIENTRY glGenTextures (GLsizei n, GLuint *textures);
890     GLAPI void GLAPIENTRY glGetBooleanv (GLenum pname, GLboolean *params);
891     GLAPI void GLAPIENTRY glGetClipPlane (GLenum plane, GLdouble *equation);
892     GLAPI void GLAPIENTRY glGetDoublev (GLenum pname, GLdouble *params);
893     GLAPI GLenum GLAPIENTRY glGetError (void);
894     GLAPI void GLAPIENTRY glGetFloatv (GLenum pname, GLfloat *params);
895     GLAPI void GLAPIENTRY glGetIntegerv (GLenum pname, GLint *params);
896     GLAPI void GLAPIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params);
897     GLAPI void GLAPIENTRY glGetLightiv (GLenum light, GLenum pname, GLint *params);
898     GLAPI void GLAPIENTRY glGetMapdv (GLenum target, GLenum query, GLdouble *v);
899     GLAPI void GLAPIENTRY glGetMapfv (GLenum target, GLenum query, GLfloat *v);
900     GLAPI void GLAPIENTRY glGetMapiv (GLenum target, GLenum query, GLint *v);
901     GLAPI void GLAPIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params);
902     GLAPI void GLAPIENTRY glGetMaterialiv (GLenum face, GLenum pname, GLint *params);
903     GLAPI void GLAPIENTRY glGetPixelMapfv (GLenum map, GLfloat *values);
904     GLAPI void GLAPIENTRY glGetPixelMapuiv (GLenum map, GLuint *values);
905     GLAPI void GLAPIENTRY glGetPixelMapusv (GLenum map, GLushort *values);
906     GLAPI void GLAPIENTRY glGetPointerv (GLenum pname, GLvoid* *params);
907     GLAPI void GLAPIENTRY glGetPolygonStipple (GLubyte *mask);
908     GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum name);
909     GLAPI void GLAPIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params);
910     GLAPI void GLAPIENTRY glGetTexEnviv (GLenum target, GLenum pname, GLint *params);
911     GLAPI void GLAPIENTRY glGetTexGendv (GLenum coord, GLenum pname, GLdouble *params);
912     GLAPI void GLAPIENTRY glGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params);
913     GLAPI void GLAPIENTRY glGetTexGeniv (GLenum coord, GLenum pname, GLint *params);
914     GLAPI void GLAPIENTRY glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
915     GLAPI void GLAPIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params);
916     GLAPI void GLAPIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params);
917     GLAPI void GLAPIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
918     GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
919     GLAPI void GLAPIENTRY glHint (GLenum target, GLenum mode);
920     GLAPI void GLAPIENTRY glIndexMask (GLuint mask);
921     GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
922     GLAPI void GLAPIENTRY glIndexd (GLdouble c);
923     GLAPI void GLAPIENTRY glIndexdv (const GLdouble *c);
924     GLAPI void GLAPIENTRY glIndexf (GLfloat c);
925     GLAPI void GLAPIENTRY glIndexfv (const GLfloat *c);
926     GLAPI void GLAPIENTRY glIndexi (GLint c);
927     GLAPI void GLAPIENTRY glIndexiv (const GLint *c);
928     GLAPI void GLAPIENTRY glIndexs (GLshort c);
929     GLAPI void GLAPIENTRY glIndexsv (const GLshort *c);
930     GLAPI void GLAPIENTRY glIndexub (GLubyte c);
931     GLAPI void GLAPIENTRY glIndexubv (const GLubyte *c);
932     GLAPI void GLAPIENTRY glInitNames (void);
933     GLAPI void GLAPIENTRY glInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer);
934     GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum cap);
935     GLAPI GLboolean GLAPIENTRY glIsList (GLuint list);
936     GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint texture);
937     GLAPI void GLAPIENTRY glLightModelf (GLenum pname, GLfloat param);
938     GLAPI void GLAPIENTRY glLightModelfv (GLenum pname, const GLfloat *params);
939     GLAPI void GLAPIENTRY glLightModeli (GLenum pname, GLint param);
940     GLAPI void GLAPIENTRY glLightModeliv (GLenum pname, const GLint *params);
941     GLAPI void GLAPIENTRY glLightf (GLenum light, GLenum pname, GLfloat param);
942     GLAPI void GLAPIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params);
943     GLAPI void GLAPIENTRY glLighti (GLenum light, GLenum pname, GLint param);
944     GLAPI void GLAPIENTRY glLightiv (GLenum light, GLenum pname, const GLint *params);
945     GLAPI void GLAPIENTRY glLineStipple (GLint factor, GLushort pattern);
946     GLAPI void GLAPIENTRY glLineWidth (GLfloat width);
947     GLAPI void GLAPIENTRY glListBase (GLuint base);
948     GLAPI void GLAPIENTRY glLoadIdentity (void);
949     GLAPI void GLAPIENTRY glLoadMatrixd (const GLdouble *m);
950     GLAPI void GLAPIENTRY glLoadMatrixf (const GLfloat *m);
951     GLAPI void GLAPIENTRY glLoadName (GLuint name);
952     GLAPI void GLAPIENTRY glLogicOp (GLenum opcode);
953     GLAPI void GLAPIENTRY glMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
954     GLAPI void GLAPIENTRY glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
955     GLAPI void GLAPIENTRY glMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
956     GLAPI void GLAPIENTRY glMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
957     GLAPI void GLAPIENTRY glMapGrid1d (GLint un, GLdouble u1, GLdouble u2);
958     GLAPI void GLAPIENTRY glMapGrid1f (GLint un, GLfloat u1, GLfloat u2);
959     GLAPI void GLAPIENTRY glMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
960     GLAPI void GLAPIENTRY glMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
961     GLAPI void GLAPIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param);
962     GLAPI void GLAPIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params);
963     GLAPI void GLAPIENTRY glMateriali (GLenum face, GLenum pname, GLint param);
964     GLAPI void GLAPIENTRY glMaterialiv (GLenum face, GLenum pname, const GLint *params);
965     GLAPI void GLAPIENTRY glMatrixMode (GLenum mode);
966     GLAPI void GLAPIENTRY glMultMatrixd (const GLdouble *m);
967     GLAPI void GLAPIENTRY glMultMatrixf (const GLfloat *m);
968     GLAPI void GLAPIENTRY glNewList (GLuint list, GLenum mode);
969     GLAPI void GLAPIENTRY glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz);
970     GLAPI void GLAPIENTRY glNormal3bv (const GLbyte *v);
971     GLAPI void GLAPIENTRY glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz);
972     GLAPI void GLAPIENTRY glNormal3dv (const GLdouble *v);
973     GLAPI void GLAPIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
974     GLAPI void GLAPIENTRY glNormal3fv (const GLfloat *v);
975     GLAPI void GLAPIENTRY glNormal3i (GLint nx, GLint ny, GLint nz);
976     GLAPI void GLAPIENTRY glNormal3iv (const GLint *v);
977     GLAPI void GLAPIENTRY glNormal3s (GLshort nx, GLshort ny, GLshort nz);
978     GLAPI void GLAPIENTRY glNormal3sv (const GLshort *v);
979     GLAPI void GLAPIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
980     GLAPI void GLAPIENTRY glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
981     GLAPI void GLAPIENTRY glPassThrough (GLfloat token);
982     GLAPI void GLAPIENTRY glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values);
983     GLAPI void GLAPIENTRY glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values);
984     GLAPI void GLAPIENTRY glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values);
985     GLAPI void GLAPIENTRY glPixelStoref (GLenum pname, GLfloat param);
986     GLAPI void GLAPIENTRY glPixelStorei (GLenum pname, GLint param);
987     GLAPI void GLAPIENTRY glPixelTransferf (GLenum pname, GLfloat param);
988     GLAPI void GLAPIENTRY glPixelTransferi (GLenum pname, GLint param);
989     GLAPI void GLAPIENTRY glPixelZoom (GLfloat xfactor, GLfloat yfactor);
990     GLAPI void GLAPIENTRY glPointSize (GLfloat size);
991     GLAPI void GLAPIENTRY glPolygonMode (GLenum face, GLenum mode);
992     GLAPI void GLAPIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
993     GLAPI void GLAPIENTRY glPolygonStipple (const GLubyte *mask);
994     GLAPI void GLAPIENTRY glPopAttrib (void);
995     GLAPI void GLAPIENTRY glPopClientAttrib (void);
996     GLAPI void GLAPIENTRY glPopMatrix (void);
997     GLAPI void GLAPIENTRY glPopName (void);
998     GLAPI void GLAPIENTRY glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities);
999     GLAPI void GLAPIENTRY glPushAttrib (GLbitfield mask);
1000     GLAPI void GLAPIENTRY glPushClientAttrib (GLbitfield mask);
1001     GLAPI void GLAPIENTRY glPushMatrix (void);
1002     GLAPI void GLAPIENTRY glPushName (GLuint name);
1003     GLAPI void GLAPIENTRY glRasterPos2d (GLdouble x, GLdouble y);
1004     GLAPI void GLAPIENTRY glRasterPos2dv (const GLdouble *v);
1005     GLAPI void GLAPIENTRY glRasterPos2f (GLfloat x, GLfloat y);
1006     GLAPI void GLAPIENTRY glRasterPos2fv (const GLfloat *v);
1007     GLAPI void GLAPIENTRY glRasterPos2i (GLint x, GLint y);
1008     GLAPI void GLAPIENTRY glRasterPos2iv (const GLint *v);
1009     GLAPI void GLAPIENTRY glRasterPos2s (GLshort x, GLshort y);
1010     GLAPI void GLAPIENTRY glRasterPos2sv (const GLshort *v);
1011     GLAPI void GLAPIENTRY glRasterPos3d (GLdouble x, GLdouble y, GLdouble z);
1012     GLAPI void GLAPIENTRY glRasterPos3dv (const GLdouble *v);
1013     GLAPI void GLAPIENTRY glRasterPos3f (GLfloat x, GLfloat y, GLfloat z);
1014     GLAPI void GLAPIENTRY glRasterPos3fv (const GLfloat *v);
1015     GLAPI void GLAPIENTRY glRasterPos3i (GLint x, GLint y, GLint z);
1016     GLAPI void GLAPIENTRY glRasterPos3iv (const GLint *v);
1017     GLAPI void GLAPIENTRY glRasterPos3s (GLshort x, GLshort y, GLshort z);
1018     GLAPI void GLAPIENTRY glRasterPos3sv (const GLshort *v);
1019     GLAPI void GLAPIENTRY glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1020     GLAPI void GLAPIENTRY glRasterPos4dv (const GLdouble *v);
1021     GLAPI void GLAPIENTRY glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1022     GLAPI void GLAPIENTRY glRasterPos4fv (const GLfloat *v);
1023     GLAPI void GLAPIENTRY glRasterPos4i (GLint x, GLint y, GLint z, GLint w);
1024     GLAPI void GLAPIENTRY glRasterPos4iv (const GLint *v);
1025     GLAPI void GLAPIENTRY glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w);
1026     GLAPI void GLAPIENTRY glRasterPos4sv (const GLshort *v);
1027     GLAPI void GLAPIENTRY glReadBuffer (GLenum mode);
1028     GLAPI void GLAPIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
1029     GLAPI void GLAPIENTRY glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
1030     GLAPI void GLAPIENTRY glRectdv (const GLdouble *v1, const GLdouble *v2);
1031     GLAPI void GLAPIENTRY glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
1032     GLAPI void GLAPIENTRY glRectfv (const GLfloat *v1, const GLfloat *v2);
1033     GLAPI void GLAPIENTRY glRecti (GLint x1, GLint y1, GLint x2, GLint y2);
1034     GLAPI void GLAPIENTRY glRectiv (const GLint *v1, const GLint *v2);
1035     GLAPI void GLAPIENTRY glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2);
1036     GLAPI void GLAPIENTRY glRectsv (const GLshort *v1, const GLshort *v2);
1037     GLAPI GLint GLAPIENTRY glRenderMode (GLenum mode);
1038     GLAPI void GLAPIENTRY glRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
1039     GLAPI void GLAPIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
1040     GLAPI void GLAPIENTRY glScaled (GLdouble x, GLdouble y, GLdouble z);
1041     GLAPI void GLAPIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z);
1042     GLAPI void GLAPIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
1043     GLAPI void GLAPIENTRY glSelectBuffer (GLsizei size, GLuint *buffer);
1044     GLAPI void GLAPIENTRY glShadeModel (GLenum mode);
1045     GLAPI void GLAPIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
1046     GLAPI void GLAPIENTRY glStencilMask (GLuint mask);
1047     GLAPI void GLAPIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
1048     GLAPI void GLAPIENTRY glTexCoord1d (GLdouble s);
1049     GLAPI void GLAPIENTRY glTexCoord1dv (const GLdouble *v);
1050     GLAPI void GLAPIENTRY glTexCoord1f (GLfloat s);
1051     GLAPI void GLAPIENTRY glTexCoord1fv (const GLfloat *v);
1052     GLAPI void GLAPIENTRY glTexCoord1i (GLint s);
1053     GLAPI void GLAPIENTRY glTexCoord1iv (const GLint *v);
1054     GLAPI void GLAPIENTRY glTexCoord1s (GLshort s);
1055     GLAPI void GLAPIENTRY glTexCoord1sv (const GLshort *v);
1056     GLAPI void GLAPIENTRY glTexCoord2d (GLdouble s, GLdouble t);
1057     GLAPI void GLAPIENTRY glTexCoord2dv (const GLdouble *v);
1058     GLAPI void GLAPIENTRY glTexCoord2f (GLfloat s, GLfloat t);
1059     GLAPI void GLAPIENTRY glTexCoord2fv (const GLfloat *v);
1060     GLAPI void GLAPIENTRY glTexCoord2i (GLint s, GLint t);
1061     GLAPI void GLAPIENTRY glTexCoord2iv (const GLint *v);
1062     GLAPI void GLAPIENTRY glTexCoord2s (GLshort s, GLshort t);
1063     GLAPI void GLAPIENTRY glTexCoord2sv (const GLshort *v);
1064     GLAPI void GLAPIENTRY glTexCoord3d (GLdouble s, GLdouble t, GLdouble r);
1065     GLAPI void GLAPIENTRY glTexCoord3dv (const GLdouble *v);
1066     GLAPI void GLAPIENTRY glTexCoord3f (GLfloat s, GLfloat t, GLfloat r);
1067     GLAPI void GLAPIENTRY glTexCoord3fv (const GLfloat *v);
1068     GLAPI void GLAPIENTRY glTexCoord3i (GLint s, GLint t, GLint r);
1069     GLAPI void GLAPIENTRY glTexCoord3iv (const GLint *v);
1070     GLAPI void GLAPIENTRY glTexCoord3s (GLshort s, GLshort t, GLshort r);
1071     GLAPI void GLAPIENTRY glTexCoord3sv (const GLshort *v);
1072     GLAPI void GLAPIENTRY glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q);
1073     GLAPI void GLAPIENTRY glTexCoord4dv (const GLdouble *v);
1074     GLAPI void GLAPIENTRY glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q);
1075     GLAPI void GLAPIENTRY glTexCoord4fv (const GLfloat *v);
1076     GLAPI void GLAPIENTRY glTexCoord4i (GLint s, GLint t, GLint r, GLint q);
1077     GLAPI void GLAPIENTRY glTexCoord4iv (const GLint *v);
1078     GLAPI void GLAPIENTRY glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q);
1079     GLAPI void GLAPIENTRY glTexCoord4sv (const GLshort *v);
1080     GLAPI void GLAPIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1081     GLAPI void GLAPIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param);
1082     GLAPI void GLAPIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params);
1083     GLAPI void GLAPIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param);
1084     GLAPI void GLAPIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params);
1085     GLAPI void GLAPIENTRY glTexGend (GLenum coord, GLenum pname, GLdouble param);
1086     GLAPI void GLAPIENTRY glTexGendv (GLenum coord, GLenum pname, const GLdouble *params);
1087     GLAPI void GLAPIENTRY glTexGenf (GLenum coord, GLenum pname, GLfloat param);
1088     GLAPI void GLAPIENTRY glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params);
1089     GLAPI void GLAPIENTRY glTexGeni (GLenum coord, GLenum pname, GLint param);
1090     GLAPI void GLAPIENTRY glTexGeniv (GLenum coord, GLenum pname, const GLint *params);
1091     GLAPI void GLAPIENTRY glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
1092     GLAPI void GLAPIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
1093     GLAPI void GLAPIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
1094     GLAPI void GLAPIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
1095     GLAPI void GLAPIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
1096     GLAPI void GLAPIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
1097     GLAPI void GLAPIENTRY glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
1098     GLAPI void GLAPIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
1099     GLAPI void GLAPIENTRY glTranslated (GLdouble x, GLdouble y, GLdouble z);
1100     GLAPI void GLAPIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z);
1101     GLAPI void GLAPIENTRY glVertex2d (GLdouble x, GLdouble y);
1102     GLAPI void GLAPIENTRY glVertex2dv (const GLdouble *v);
1103     GLAPI void GLAPIENTRY glVertex2f (GLfloat x, GLfloat y);
1104     GLAPI void GLAPIENTRY glVertex2fv (const GLfloat *v);
1105     GLAPI void GLAPIENTRY glVertex2i (GLint x, GLint y);
1106     GLAPI void GLAPIENTRY glVertex2iv (const GLint *v);
1107     GLAPI void GLAPIENTRY glVertex2s (GLshort x, GLshort y);
1108     GLAPI void GLAPIENTRY glVertex2sv (const GLshort *v);
1109     GLAPI void GLAPIENTRY glVertex3d (GLdouble x, GLdouble y, GLdouble z);
1110     GLAPI void GLAPIENTRY glVertex3dv (const GLdouble *v);
1111     GLAPI void GLAPIENTRY glVertex3f (GLfloat x, GLfloat y, GLfloat z);
1112     GLAPI void GLAPIENTRY glVertex3fv (const GLfloat *v);
1113     GLAPI void GLAPIENTRY glVertex3i (GLint x, GLint y, GLint z);
1114     GLAPI void GLAPIENTRY glVertex3iv (const GLint *v);
1115     GLAPI void GLAPIENTRY glVertex3s (GLshort x, GLshort y, GLshort z);
1116     GLAPI void GLAPIENTRY glVertex3sv (const GLshort *v);
1117     GLAPI void GLAPIENTRY glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1118     GLAPI void GLAPIENTRY glVertex4dv (const GLdouble *v);
1119     GLAPI void GLAPIENTRY glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1120     GLAPI void GLAPIENTRY glVertex4fv (const GLfloat *v);
1121     GLAPI void GLAPIENTRY glVertex4i (GLint x, GLint y, GLint z, GLint w);
1122     GLAPI void GLAPIENTRY glVertex4iv (const GLint *v);
1123     GLAPI void GLAPIENTRY glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w);
1124     GLAPI void GLAPIENTRY glVertex4sv (const GLshort *v);
1125     GLAPI void GLAPIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1126     GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
1127    
1128     #define GLEW_VERSION_1_1 GLEW_GET_VAR(__GLEW_VERSION_1_1)
1129    
1130     #endif /* GL_VERSION_1_1 */
1131    
1132     /* ---------------------------------- GLU ---------------------------------- */
1133    
1134     /* this is where we can safely include GLU */
1135     #if defined(__APPLE__) && defined(__MACH__)
1136     #include <OpenGL/glu.h>
1137     #else
1138     #include <GL/glu.h>
1139     #endif
1140    
1141     /* ----------------------------- GL_VERSION_1_2 ---------------------------- */
1142    
1143     #ifndef GL_VERSION_1_2
1144     #define GL_VERSION_1_2 1
1145    
1146     #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
1147     #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
1148     #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
1149     #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
1150     #define GL_UNSIGNED_BYTE_3_3_2 0x8032
1151     #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
1152     #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
1153     #define GL_UNSIGNED_INT_8_8_8_8 0x8035
1154     #define GL_UNSIGNED_INT_10_10_10_2 0x8036
1155     #define GL_RESCALE_NORMAL 0x803A
1156     #define GL_TEXTURE_BINDING_3D 0x806A
1157     #define GL_PACK_SKIP_IMAGES 0x806B
1158     #define GL_PACK_IMAGE_HEIGHT 0x806C
1159     #define GL_UNPACK_SKIP_IMAGES 0x806D
1160     #define GL_UNPACK_IMAGE_HEIGHT 0x806E
1161     #define GL_TEXTURE_3D 0x806F
1162     #define GL_PROXY_TEXTURE_3D 0x8070
1163     #define GL_TEXTURE_DEPTH 0x8071
1164     #define GL_TEXTURE_WRAP_R 0x8072
1165     #define GL_MAX_3D_TEXTURE_SIZE 0x8073
1166     #define GL_BGR 0x80E0
1167     #define GL_BGRA 0x80E1
1168     #define GL_MAX_ELEMENTS_VERTICES 0x80E8
1169     #define GL_MAX_ELEMENTS_INDICES 0x80E9
1170     #define GL_CLAMP_TO_EDGE 0x812F
1171     #define GL_TEXTURE_MIN_LOD 0x813A
1172     #define GL_TEXTURE_MAX_LOD 0x813B
1173     #define GL_TEXTURE_BASE_LEVEL 0x813C
1174     #define GL_TEXTURE_MAX_LEVEL 0x813D
1175     #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
1176     #define GL_SINGLE_COLOR 0x81F9
1177     #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
1178     #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
1179     #define GL_UNSIGNED_SHORT_5_6_5 0x8363
1180     #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
1181     #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
1182     #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
1183     #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
1184     #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
1185     #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
1186     #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
1187    
1188     typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1189     typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
1190     typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
1191     typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
1192    
1193     #define glCopyTexSubImage3D GLEW_GET_FUN(__glewCopyTexSubImage3D)
1194     #define glDrawRangeElements GLEW_GET_FUN(__glewDrawRangeElements)
1195     #define glTexImage3D GLEW_GET_FUN(__glewTexImage3D)
1196     #define glTexSubImage3D GLEW_GET_FUN(__glewTexSubImage3D)
1197    
1198     #define GLEW_VERSION_1_2 GLEW_GET_VAR(__GLEW_VERSION_1_2)
1199    
1200     #endif /* GL_VERSION_1_2 */
1201    
1202     /* ----------------------------- GL_VERSION_1_3 ---------------------------- */
1203    
1204     #ifndef GL_VERSION_1_3
1205     #define GL_VERSION_1_3 1
1206    
1207     #define GL_MULTISAMPLE 0x809D
1208     #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
1209     #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
1210     #define GL_SAMPLE_COVERAGE 0x80A0
1211     #define GL_SAMPLE_BUFFERS 0x80A8
1212     #define GL_SAMPLES 0x80A9
1213     #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
1214     #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
1215     #define GL_CLAMP_TO_BORDER 0x812D
1216     #define GL_TEXTURE0 0x84C0
1217     #define GL_TEXTURE1 0x84C1
1218     #define GL_TEXTURE2 0x84C2
1219     #define GL_TEXTURE3 0x84C3
1220     #define GL_TEXTURE4 0x84C4
1221     #define GL_TEXTURE5 0x84C5
1222     #define GL_TEXTURE6 0x84C6
1223     #define GL_TEXTURE7 0x84C7
1224     #define GL_TEXTURE8 0x84C8
1225     #define GL_TEXTURE9 0x84C9
1226     #define GL_TEXTURE10 0x84CA
1227     #define GL_TEXTURE11 0x84CB
1228     #define GL_TEXTURE12 0x84CC
1229     #define GL_TEXTURE13 0x84CD
1230     #define GL_TEXTURE14 0x84CE
1231     #define GL_TEXTURE15 0x84CF
1232     #define GL_TEXTURE16 0x84D0
1233     #define GL_TEXTURE17 0x84D1
1234     #define GL_TEXTURE18 0x84D2
1235     #define GL_TEXTURE19 0x84D3
1236     #define GL_TEXTURE20 0x84D4
1237     #define GL_TEXTURE21 0x84D5
1238     #define GL_TEXTURE22 0x84D6
1239     #define GL_TEXTURE23 0x84D7
1240     #define GL_TEXTURE24 0x84D8
1241     #define GL_TEXTURE25 0x84D9
1242     #define GL_TEXTURE26 0x84DA
1243     #define GL_TEXTURE27 0x84DB
1244     #define GL_TEXTURE28 0x84DC
1245     #define GL_TEXTURE29 0x84DD
1246     #define GL_TEXTURE30 0x84DE
1247     #define GL_TEXTURE31 0x84DF
1248     #define GL_ACTIVE_TEXTURE 0x84E0
1249     #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
1250     #define GL_MAX_TEXTURE_UNITS 0x84E2
1251     #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
1252     #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
1253     #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
1254     #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
1255     #define GL_SUBTRACT 0x84E7
1256     #define GL_COMPRESSED_ALPHA 0x84E9
1257     #define GL_COMPRESSED_LUMINANCE 0x84EA
1258     #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
1259     #define GL_COMPRESSED_INTENSITY 0x84EC
1260     #define GL_COMPRESSED_RGB 0x84ED
1261     #define GL_COMPRESSED_RGBA 0x84EE
1262     #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
1263     #define GL_NORMAL_MAP 0x8511
1264     #define GL_REFLECTION_MAP 0x8512
1265     #define GL_TEXTURE_CUBE_MAP 0x8513
1266     #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
1267     #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
1268     #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
1269     #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
1270     #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
1271     #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
1272     #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
1273     #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
1274     #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
1275     #define GL_COMBINE 0x8570
1276     #define GL_COMBINE_RGB 0x8571
1277     #define GL_COMBINE_ALPHA 0x8572
1278     #define GL_RGB_SCALE 0x8573
1279     #define GL_ADD_SIGNED 0x8574
1280     #define GL_INTERPOLATE 0x8575
1281     #define GL_CONSTANT 0x8576
1282     #define GL_PRIMARY_COLOR 0x8577
1283     #define GL_PREVIOUS 0x8578
1284     #define GL_SOURCE0_RGB 0x8580
1285     #define GL_SOURCE1_RGB 0x8581
1286     #define GL_SOURCE2_RGB 0x8582
1287     #define GL_SOURCE0_ALPHA 0x8588
1288     #define GL_SOURCE1_ALPHA 0x8589
1289     #define GL_SOURCE2_ALPHA 0x858A
1290     #define GL_OPERAND0_RGB 0x8590
1291     #define GL_OPERAND1_RGB 0x8591
1292     #define GL_OPERAND2_RGB 0x8592
1293     #define GL_OPERAND0_ALPHA 0x8598
1294     #define GL_OPERAND1_ALPHA 0x8599
1295     #define GL_OPERAND2_ALPHA 0x859A
1296     #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
1297     #define GL_TEXTURE_COMPRESSED 0x86A1
1298     #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
1299     #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
1300     #define GL_DOT3_RGB 0x86AE
1301     #define GL_DOT3_RGBA 0x86AF
1302     #define GL_MULTISAMPLE_BIT 0x20000000
1303    
1304     typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
1305     typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
1306     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
1307     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
1308     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
1309     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
1310     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
1311     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
1312     typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLvoid *img);
1313     typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble m[16]);
1314     typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat m[16]);
1315     typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble m[16]);
1316     typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat m[16]);
1317     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
1318     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
1319     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
1320     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
1321     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
1322     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
1323     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
1324     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
1325     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
1326     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
1327     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
1328     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
1329     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
1330     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
1331     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
1332     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
1333     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
1334     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
1335     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
1336     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
1337     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
1338     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
1339     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
1340     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
1341     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
1342     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
1343     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
1344     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
1345     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
1346     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
1347     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
1348     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
1349     typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
1350    
1351     #define glActiveTexture GLEW_GET_FUN(__glewActiveTexture)
1352     #define glClientActiveTexture GLEW_GET_FUN(__glewClientActiveTexture)
1353     #define glCompressedTexImage1D GLEW_GET_FUN(__glewCompressedTexImage1D)
1354     #define glCompressedTexImage2D GLEW_GET_FUN(__glewCompressedTexImage2D)
1355     #define glCompressedTexImage3D GLEW_GET_FUN(__glewCompressedTexImage3D)
1356     #define glCompressedTexSubImage1D GLEW_GET_FUN(__glewCompressedTexSubImage1D)
1357     #define glCompressedTexSubImage2D GLEW_GET_FUN(__glewCompressedTexSubImage2D)
1358     #define glCompressedTexSubImage3D GLEW_GET_FUN(__glewCompressedTexSubImage3D)
1359     #define glGetCompressedTexImage GLEW_GET_FUN(__glewGetCompressedTexImage)
1360     #define glLoadTransposeMatrixd GLEW_GET_FUN(__glewLoadTransposeMatrixd)
1361     #define glLoadTransposeMatrixf GLEW_GET_FUN(__glewLoadTransposeMatrixf)
1362     #define glMultTransposeMatrixd GLEW_GET_FUN(__glewMultTransposeMatrixd)
1363     #define glMultTransposeMatrixf GLEW_GET_FUN(__glewMultTransposeMatrixf)
1364     #define glMultiTexCoord1d GLEW_GET_FUN(__glewMultiTexCoord1d)
1365     #define glMultiTexCoord1dv GLEW_GET_FUN(__glewMultiTexCoord1dv)
1366     #define glMultiTexCoord1f GLEW_GET_FUN(__glewMultiTexCoord1f)
1367     #define glMultiTexCoord1fv GLEW_GET_FUN(__glewMultiTexCoord1fv)
1368     #define glMultiTexCoord1i GLEW_GET_FUN(__glewMultiTexCoord1i)
1369     #define glMultiTexCoord1iv GLEW_GET_FUN(__glewMultiTexCoord1iv)
1370     #define glMultiTexCoord1s GLEW_GET_FUN(__glewMultiTexCoord1s)
1371     #define glMultiTexCoord1sv GLEW_GET_FUN(__glewMultiTexCoord1sv)
1372     #define glMultiTexCoord2d GLEW_GET_FUN(__glewMultiTexCoord2d)
1373     #define glMultiTexCoord2dv GLEW_GET_FUN(__glewMultiTexCoord2dv)
1374     #define glMultiTexCoord2f GLEW_GET_FUN(__glewMultiTexCoord2f)
1375     #define glMultiTexCoord2fv GLEW_GET_FUN(__glewMultiTexCoord2fv)
1376     #define glMultiTexCoord2i GLEW_GET_FUN(__glewMultiTexCoord2i)
1377     #define glMultiTexCoord2iv GLEW_GET_FUN(__glewMultiTexCoord2iv)
1378     #define glMultiTexCoord2s GLEW_GET_FUN(__glewMultiTexCoord2s)
1379     #define glMultiTexCoord2sv GLEW_GET_FUN(__glewMultiTexCoord2sv)
1380     #define glMultiTexCoord3d GLEW_GET_FUN(__glewMultiTexCoord3d)
1381     #define glMultiTexCoord3dv GLEW_GET_FUN(__glewMultiTexCoord3dv)
1382     #define glMultiTexCoord3f GLEW_GET_FUN(__glewMultiTexCoord3f)
1383     #define glMultiTexCoord3fv GLEW_GET_FUN(__glewMultiTexCoord3fv)
1384     #define glMultiTexCoord3i GLEW_GET_FUN(__glewMultiTexCoord3i)
1385     #define glMultiTexCoord3iv GLEW_GET_FUN(__glewMultiTexCoord3iv)
1386     #define glMultiTexCoord3s GLEW_GET_FUN(__glewMultiTexCoord3s)
1387     #define glMultiTexCoord3sv GLEW_GET_FUN(__glewMultiTexCoord3sv)
1388     #define glMultiTexCoord4d GLEW_GET_FUN(__glewMultiTexCoord4d)
1389     #define glMultiTexCoord4dv GLEW_GET_FUN(__glewMultiTexCoord4dv)
1390     #define glMultiTexCoord4f GLEW_GET_FUN(__glewMultiTexCoord4f)
1391     #define glMultiTexCoord4fv GLEW_GET_FUN(__glewMultiTexCoord4fv)
1392     #define glMultiTexCoord4i GLEW_GET_FUN(__glewMultiTexCoord4i)
1393     #define glMultiTexCoord4iv GLEW_GET_FUN(__glewMultiTexCoord4iv)
1394     #define glMultiTexCoord4s GLEW_GET_FUN(__glewMultiTexCoord4s)
1395     #define glMultiTexCoord4sv GLEW_GET_FUN(__glewMultiTexCoord4sv)
1396     #define glSampleCoverage GLEW_GET_FUN(__glewSampleCoverage)
1397    
1398     #define GLEW_VERSION_1_3 GLEW_GET_VAR(__GLEW_VERSION_1_3)
1399    
1400     #endif /* GL_VERSION_1_3 */
1401    
1402     /* ----------------------------- GL_VERSION_1_4 ---------------------------- */
1403    
1404     #ifndef GL_VERSION_1_4
1405     #define GL_VERSION_1_4 1
1406    
1407     #define GL_BLEND_DST_RGB 0x80C8
1408     #define GL_BLEND_SRC_RGB 0x80C9
1409     #define GL_BLEND_DST_ALPHA 0x80CA
1410     #define GL_BLEND_SRC_ALPHA 0x80CB
1411     #define GL_POINT_SIZE_MIN 0x8126
1412     #define GL_POINT_SIZE_MAX 0x8127
1413     #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
1414     #define GL_POINT_DISTANCE_ATTENUATION 0x8129
1415     #define GL_GENERATE_MIPMAP 0x8191
1416     #define GL_GENERATE_MIPMAP_HINT 0x8192
1417     #define GL_DEPTH_COMPONENT16 0x81A5
1418     #define GL_DEPTH_COMPONENT24 0x81A6
1419     #define GL_DEPTH_COMPONENT32 0x81A7
1420     #define GL_MIRRORED_REPEAT 0x8370
1421     #define GL_FOG_COORDINATE_SOURCE 0x8450
1422     #define GL_FOG_COORDINATE 0x8451
1423     #define GL_FRAGMENT_DEPTH 0x8452
1424     #define GL_CURRENT_FOG_COORDINATE 0x8453
1425     #define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
1426     #define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
1427     #define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
1428     #define GL_FOG_COORDINATE_ARRAY 0x8457
1429     #define GL_COLOR_SUM 0x8458
1430     #define GL_CURRENT_SECONDARY_COLOR 0x8459
1431     #define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
1432     #define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
1433     #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
1434     #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
1435     #define GL_SECONDARY_COLOR_ARRAY 0x845E
1436     #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
1437     #define GL_TEXTURE_FILTER_CONTROL 0x8500
1438     #define GL_TEXTURE_LOD_BIAS 0x8501
1439     #define GL_INCR_WRAP 0x8507
1440     #define GL_DECR_WRAP 0x8508
1441     #define GL_TEXTURE_DEPTH_SIZE 0x884A
1442     #define GL_DEPTH_TEXTURE_MODE 0x884B
1443     #define GL_TEXTURE_COMPARE_MODE 0x884C
1444     #define GL_TEXTURE_COMPARE_FUNC 0x884D
1445     #define GL_COMPARE_R_TO_TEXTURE 0x884E
1446    
1447     typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
1448     typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
1449     typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
1450     typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
1451     typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord);
1452     typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
1453     typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord);
1454     typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
1455     typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
1456     typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
1457     typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
1458     typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, GLfloat *params);
1459     typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
1460     typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, GLint *params);
1461     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
1462     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
1463     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
1464     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
1465     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
1466     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
1467     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
1468     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
1469     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
1470     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
1471     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
1472     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
1473     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
1474     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
1475     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
1476     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
1477     typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
1478     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
1479     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p);
1480     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
1481     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p);
1482     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
1483     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *p);
1484     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
1485     typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *p);
1486     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
1487     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p);
1488     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
1489     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p);
1490     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
1491     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *p);
1492     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
1493     typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p);
1494    
1495     #define glBlendColor GLEW_GET_FUN(__glewBlendColor)
1496     #define glBlendEquation GLEW_GET_FUN(__glewBlendEquation)
1497     #define glBlendFuncSeparate GLEW_GET_FUN(__glewBlendFuncSeparate)
1498     #define glFogCoordPointer GLEW_GET_FUN(__glewFogCoordPointer)
1499     #define glFogCoordd GLEW_GET_FUN(__glewFogCoordd)
1500     #define glFogCoorddv GLEW_GET_FUN(__glewFogCoorddv)
1501     #define glFogCoordf GLEW_GET_FUN(__glewFogCoordf)
1502     #define glFogCoordfv GLEW_GET_FUN(__glewFogCoordfv)
1503     #define glMultiDrawArrays GLEW_GET_FUN(__glewMultiDrawArrays)
1504     #define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements)
1505     #define glPointParameterf GLEW_GET_FUN(__glewPointParameterf)
1506     #define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv)
1507     #define glPointParameteri GLEW_GET_FUN(__glewPointParameteri)
1508     #define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv)
1509     #define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b)
1510     #define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv)
1511     #define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d)
1512     #define glSecondaryColor3dv GLEW_GET_FUN(__glewSecondaryColor3dv)
1513     #define glSecondaryColor3f GLEW_GET_FUN(__glewSecondaryColor3f)
1514     #define glSecondaryColor3fv GLEW_GET_FUN(__glewSecondaryColor3fv)
1515     #define glSecondaryColor3i GLEW_GET_FUN(__glewSecondaryColor3i)
1516     #define glSecondaryColor3iv GLEW_GET_FUN(__glewSecondaryColor3iv)
1517     #define glSecondaryColor3s GLEW_GET_FUN(__glewSecondaryColor3s)
1518     #define glSecondaryColor3sv GLEW_GET_FUN(__glewSecondaryColor3sv)
1519     #define glSecondaryColor3ub GLEW_GET_FUN(__glewSecondaryColor3ub)
1520     #define glSecondaryColor3ubv GLEW_GET_FUN(__glewSecondaryColor3ubv)
1521     #define glSecondaryColor3ui GLEW_GET_FUN(__glewSecondaryColor3ui)
1522     #define glSecondaryColor3uiv GLEW_GET_FUN(__glewSecondaryColor3uiv)
1523     #define glSecondaryColor3us GLEW_GET_FUN(__glewSecondaryColor3us)
1524     #define glSecondaryColor3usv GLEW_GET_FUN(__glewSecondaryColor3usv)
1525     #define glSecondaryColorPointer GLEW_GET_FUN(__glewSecondaryColorPointer)
1526     #define glWindowPos2d GLEW_GET_FUN(__glewWindowPos2d)
1527     #define glWindowPos2dv GLEW_GET_FUN(__glewWindowPos2dv)
1528     #define glWindowPos2f GLEW_GET_FUN(__glewWindowPos2f)
1529     #define glWindowPos2fv GLEW_GET_FUN(__glewWindowPos2fv)
1530     #define glWindowPos2i GLEW_GET_FUN(__glewWindowPos2i)
1531     #define glWindowPos2iv GLEW_GET_FUN(__glewWindowPos2iv)
1532     #define glWindowPos2s GLEW_GET_FUN(__glewWindowPos2s)
1533     #define glWindowPos2sv GLEW_GET_FUN(__glewWindowPos2sv)
1534     #define glWindowPos3d GLEW_GET_FUN(__glewWindowPos3d)
1535     #define glWindowPos3dv GLEW_GET_FUN(__glewWindowPos3dv)
1536     #define glWindowPos3f GLEW_GET_FUN(__glewWindowPos3f)
1537     #define glWindowPos3fv GLEW_GET_FUN(__glewWindowPos3fv)
1538     #define glWindowPos3i GLEW_GET_FUN(__glewWindowPos3i)
1539     #define glWindowPos3iv GLEW_GET_FUN(__glewWindowPos3iv)
1540     #define glWindowPos3s GLEW_GET_FUN(__glewWindowPos3s)
1541     #define glWindowPos3sv GLEW_GET_FUN(__glewWindowPos3sv)
1542    
1543     #define GLEW_VERSION_1_4 GLEW_GET_VAR(__GLEW_VERSION_1_4)
1544    
1545     #endif /* GL_VERSION_1_4 */
1546    
1547     /* ----------------------------- GL_VERSION_1_5 ---------------------------- */
1548    
1549     #ifndef GL_VERSION_1_5
1550     #define GL_VERSION_1_5 1
1551    
1552     #define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
1553     #define GL_FOG_COORD GL_FOG_COORDINATE
1554     #define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
1555     #define GL_SRC0_RGB GL_SOURCE0_RGB
1556     #define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
1557     #define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
1558     #define GL_SRC1_ALPHA GL_SOURCE1_ALPHA
1559     #define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
1560     #define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
1561     #define GL_SRC0_ALPHA GL_SOURCE0_ALPHA
1562     #define GL_SRC1_RGB GL_SOURCE1_RGB
1563     #define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
1564     #define GL_SRC2_ALPHA GL_SOURCE2_ALPHA
1565     #define GL_SRC2_RGB GL_SOURCE2_RGB
1566     #define GL_BUFFER_SIZE 0x8764
1567     #define GL_BUFFER_USAGE 0x8765
1568     #define GL_QUERY_COUNTER_BITS 0x8864
1569     #define GL_CURRENT_QUERY 0x8865
1570     #define GL_QUERY_RESULT 0x8866
1571     #define GL_QUERY_RESULT_AVAILABLE 0x8867
1572     #define GL_ARRAY_BUFFER 0x8892
1573     #define GL_ELEMENT_ARRAY_BUFFER 0x8893
1574     #define GL_ARRAY_BUFFER_BINDING 0x8894
1575     #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
1576     #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
1577     #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
1578     #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
1579     #define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
1580     #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
1581     #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
1582     #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
1583     #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
1584     #define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
1585     #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
1586     #define GL_READ_ONLY 0x88B8
1587     #define GL_WRITE_ONLY 0x88B9
1588     #define GL_READ_WRITE 0x88BA
1589     #define GL_BUFFER_ACCESS 0x88BB
1590     #define GL_BUFFER_MAPPED 0x88BC
1591     #define GL_BUFFER_MAP_POINTER 0x88BD
1592     #define GL_STREAM_DRAW 0x88E0
1593     #define GL_STREAM_READ 0x88E1
1594     #define GL_STREAM_COPY 0x88E2
1595     #define GL_STATIC_DRAW 0x88E4
1596     #define GL_STATIC_READ 0x88E5
1597     #define GL_STATIC_COPY 0x88E6
1598     #define GL_DYNAMIC_DRAW 0x88E8
1599     #define GL_DYNAMIC_READ 0x88E9
1600     #define GL_DYNAMIC_COPY 0x88EA
1601     #define GL_SAMPLES_PASSED 0x8914
1602    
1603     typedef ptrdiff_t GLsizeiptr;
1604     typedef ptrdiff_t GLintptr;
1605    
1606     typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
1607     typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
1608     typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
1609     typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
1610     typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers);
1611     typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids);
1612     typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target);
1613     typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers);
1614     typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids);
1615     typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
1616     typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid** params);
1617     typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data);
1618     typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params);
1619     typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params);
1620     typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params);
1621     typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer);
1622     typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id);
1623     typedef GLvoid* (GLAPIENTRY * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
1624     typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target);
1625    
1626     #define glBeginQuery GLEW_GET_FUN(__glewBeginQuery)
1627     #define glBindBuffer GLEW_GET_FUN(__glewBindBuffer)
1628     #define glBufferData GLEW_GET_FUN(__glewBufferData)
1629     #define glBufferSubData GLEW_GET_FUN(__glewBufferSubData)
1630     #define glDeleteBuffers GLEW_GET_FUN(__glewDeleteBuffers)
1631     #define glDeleteQueries GLEW_GET_FUN(__glewDeleteQueries)
1632     #define glEndQuery GLEW_GET_FUN(__glewEndQuery)
1633     #define glGenBuffers GLEW_GET_FUN(__glewGenBuffers)
1634     #define glGenQueries GLEW_GET_FUN(__glewGenQueries)
1635     #define glGetBufferParameteriv GLEW_GET_FUN(__glewGetBufferParameteriv)
1636     #define glGetBufferPointerv GLEW_GET_FUN(__glewGetBufferPointerv)
1637     #define glGetBufferSubData GLEW_GET_FUN(__glewGetBufferSubData)
1638     #define glGetQueryObjectiv GLEW_GET_FUN(__glewGetQueryObjectiv)
1639     #define glGetQueryObjectuiv GLEW_GET_FUN(__glewGetQueryObjectuiv)
1640     #define glGetQueryiv GLEW_GET_FUN(__glewGetQueryiv)
1641     #define glIsBuffer GLEW_GET_FUN(__glewIsBuffer)
1642     #define glIsQuery GLEW_GET_FUN(__glewIsQuery)
1643     #define glMapBuffer GLEW_GET_FUN(__glewMapBuffer)
1644     #define glUnmapBuffer GLEW_GET_FUN(__glewUnmapBuffer)
1645    
1646     #define GLEW_VERSION_1_5 GLEW_GET_VAR(__GLEW_VERSION_1_5)
1647    
1648     #endif /* GL_VERSION_1_5 */
1649    
1650     /* ----------------------------- GL_VERSION_2_0 ---------------------------- */
1651    
1652     #ifndef GL_VERSION_2_0
1653     #define GL_VERSION_2_0 1
1654    
1655     #define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION
1656     #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
1657     #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
1658     #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
1659     #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
1660     #define GL_CURRENT_VERTEX_ATTRIB 0x8626
1661     #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
1662     #define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
1663     #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
1664     #define GL_STENCIL_BACK_FUNC 0x8800
1665     #define GL_STENCIL_BACK_FAIL 0x8801
1666     #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
1667     #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
1668     #define GL_MAX_DRAW_BUFFERS 0x8824
1669     #define GL_DRAW_BUFFER0 0x8825
1670     #define GL_DRAW_BUFFER1 0x8826
1671     #define GL_DRAW_BUFFER2 0x8827
1672     #define GL_DRAW_BUFFER3 0x8828
1673     #define GL_DRAW_BUFFER4 0x8829
1674     #define GL_DRAW_BUFFER5 0x882A
1675     #define GL_DRAW_BUFFER6 0x882B
1676     #define GL_DRAW_BUFFER7 0x882C
1677     #define GL_DRAW_BUFFER8 0x882D
1678     #define GL_DRAW_BUFFER9 0x882E
1679     #define GL_DRAW_BUFFER10 0x882F
1680     #define GL_DRAW_BUFFER11 0x8830
1681     #define GL_DRAW_BUFFER12 0x8831
1682     #define GL_DRAW_BUFFER13 0x8832
1683     #define GL_DRAW_BUFFER14 0x8833
1684     #define GL_DRAW_BUFFER15 0x8834
1685     #define GL_BLEND_EQUATION_ALPHA 0x883D
1686     #define GL_POINT_SPRITE 0x8861
1687     #define GL_COORD_REPLACE 0x8862
1688     #define GL_MAX_VERTEX_ATTRIBS 0x8869
1689     #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
1690     #define GL_MAX_TEXTURE_COORDS 0x8871
1691     #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
1692     #define GL_FRAGMENT_SHADER 0x8B30
1693     #define GL_VERTEX_SHADER 0x8B31
1694     #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
1695     #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
1696     #define GL_MAX_VARYING_FLOATS 0x8B4B
1697     #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
1698     #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
1699     #define GL_SHADER_TYPE 0x8B4F
1700     #define GL_FLOAT_VEC2 0x8B50
1701     #define GL_FLOAT_VEC3 0x8B51
1702     #define GL_FLOAT_VEC4 0x8B52
1703     #define GL_INT_VEC2 0x8B53
1704     #define GL_INT_VEC3 0x8B54
1705     #define GL_INT_VEC4 0x8B55
1706     #define GL_BOOL 0x8B56
1707     #define GL_BOOL_VEC2 0x8B57
1708     #define GL_BOOL_VEC3 0x8B58
1709     #define GL_BOOL_VEC4 0x8B59
1710     #define GL_FLOAT_MAT2 0x8B5A
1711     #define GL_FLOAT_MAT3 0x8B5B
1712     #define GL_FLOAT_MAT4 0x8B5C
1713     #define GL_SAMPLER_1D 0x8B5D
1714     #define GL_SAMPLER_2D 0x8B5E
1715     #define GL_SAMPLER_3D 0x8B5F
1716     #define GL_SAMPLER_CUBE 0x8B60
1717     #define GL_SAMPLER_1D_SHADOW 0x8B61
1718     #define GL_SAMPLER_2D_SHADOW 0x8B62
1719     #define GL_DELETE_STATUS 0x8B80
1720     #define GL_COMPILE_STATUS 0x8B81
1721     #define GL_LINK_STATUS 0x8B82
1722     #define GL_VALIDATE_STATUS 0x8B83
1723     #define GL_INFO_LOG_LENGTH 0x8B84
1724     #define GL_ATTACHED_SHADERS 0x8B85
1725     #define GL_ACTIVE_UNIFORMS 0x8B86
1726     #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
1727     #define GL_SHADER_SOURCE_LENGTH 0x8B88
1728     #define GL_ACTIVE_ATTRIBUTES 0x8B89
1729     #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
1730     #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
1731     #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
1732     #define GL_CURRENT_PROGRAM 0x8B8D
1733     #define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
1734     #define GL_LOWER_LEFT 0x8CA1
1735     #define GL_UPPER_LEFT 0x8CA2
1736     #define GL_STENCIL_BACK_REF 0x8CA3
1737     #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
1738     #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
1739    
1740     typedef char GLchar;
1741    
1742     typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
1743     typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name);
1744     typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum);
1745     typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader);
1746     typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void);
1747     typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type);
1748     typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program);
1749     typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader);
1750     typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
1751     typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
1752     typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs);
1753     typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint);
1754     typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
1755     typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
1756     typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
1757     typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name);
1758     typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
1759     typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param);
1760     typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
1761     typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source);
1762     typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param);
1763     typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name);
1764     typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params);
1765     typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params);
1766     typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid*);
1767     typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint, GLenum, GLdouble*);
1768     typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*);
1769     typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*);
1770     typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program);
1771     typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader);
1772     typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program);
1773     typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths);
1774     typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
1775     typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint);
1776     typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
1777     typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
1778     typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value);
1779     typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
1780     typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value);
1781     typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
1782     typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value);
1783     typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
1784     typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value);
1785     typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1786     typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value);
1787     typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
1788     typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value);
1789     typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1790     typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value);
1791     typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1792     typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value);
1793     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
1794     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
1795     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
1796     typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program);
1797     typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program);
1798     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
1799     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v);
1800     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
1801     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v);
1802     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
1803     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v);
1804     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
1805     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v);
1806     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
1807     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v);
1808     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
1809     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v);
1810     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
1811     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v);
1812     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
1813     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v);
1814     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
1815     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v);
1816     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v);
1817     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v);
1818     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v);
1819     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
1820     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v);
1821     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v);
1822     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v);
1823     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v);
1824     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1825     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v);
1826     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1827     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v);
1828     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v);
1829     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
1830     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v);
1831     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v);
1832     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v);
1833     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v);
1834     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer);
1835    
1836     #define glAttachShader GLEW_GET_FUN(__glewAttachShader)
1837     #define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation)
1838     #define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate)
1839     #define glCompileShader GLEW_GET_FUN(__glewCompileShader)
1840     #define glCreateProgram GLEW_GET_FUN(__glewCreateProgram)
1841     #define glCreateShader GLEW_GET_FUN(__glewCreateShader)
1842     #define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram)
1843     #define glDeleteShader GLEW_GET_FUN(__glewDeleteShader)
1844     #define glDetachShader GLEW_GET_FUN(__glewDetachShader)
1845     #define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray)
1846     #define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers)
1847     #define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray)
1848     #define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib)
1849     #define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform)
1850     #define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders)
1851     #define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation)
1852     #define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog)
1853     #define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv)
1854     #define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog)
1855     #define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource)
1856     #define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv)
1857     #define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation)
1858     #define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv)
1859     #define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv)
1860     #define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv)
1861     #define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv)
1862     #define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv)
1863     #define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv)
1864     #define glIsProgram GLEW_GET_FUN(__glewIsProgram)
1865     #define glIsShader GLEW_GET_FUN(__glewIsShader)
1866     #define glLinkProgram GLEW_GET_FUN(__glewLinkProgram)
1867     #define glShaderSource GLEW_GET_FUN(__glewShaderSource)
1868     #define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate)
1869     #define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate)
1870     #define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate)
1871     #define glUniform1f GLEW_GET_FUN(__glewUniform1f)
1872     #define glUniform1fv GLEW_GET_FUN(__glewUniform1fv)
1873     #define glUniform1i GLEW_GET_FUN(__glewUniform1i)
1874     #define glUniform1iv GLEW_GET_FUN(__glewUniform1iv)
1875     #define glUniform2f GLEW_GET_FUN(__glewUniform2f)
1876     #define glUniform2fv GLEW_GET_FUN(__glewUniform2fv)
1877     #define glUniform2i GLEW_GET_FUN(__glewUniform2i)
1878     #define glUniform2iv GLEW_GET_FUN(__glewUniform2iv)
1879     #define glUniform3f GLEW_GET_FUN(__glewUniform3f)
1880     #define glUniform3fv GLEW_GET_FUN(__glewUniform3fv)
1881     #define glUniform3i GLEW_GET_FUN(__glewUniform3i)
1882     #define glUniform3iv GLEW_GET_FUN(__glewUniform3iv)
1883     #define glUniform4f GLEW_GET_FUN(__glewUniform4f)
1884     #define glUniform4fv GLEW_GET_FUN(__glewUniform4fv)
1885     #define glUniform4i GLEW_GET_FUN(__glewUniform4i)
1886     #define glUniform4iv GLEW_GET_FUN(__glewUniform4iv)
1887     #define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv)
1888     #define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv)
1889     #define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv)
1890     #define glUseProgram GLEW_GET_FUN(__glewUseProgram)
1891     #define glValidateProgram GLEW_GET_FUN(__glewValidateProgram)
1892     #define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d)
1893     #define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv)
1894     #define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f)
1895     #define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv)
1896     #define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s)
1897     #define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv)
1898     #define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d)
1899     #define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv)
1900     #define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f)
1901     #define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv)
1902     #define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s)
1903     #define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv)
1904     #define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d)
1905     #define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv)
1906     #define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f)
1907     #define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv)
1908     #define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s)
1909     #define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv)
1910     #define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv)
1911     #define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv)
1912     #define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv)
1913     #define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub)
1914     #define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv)
1915     #define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv)
1916     #define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv)
1917     #define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv)
1918     #define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d)
1919     #define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv)
1920     #define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f)
1921     #define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv)
1922     #define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv)
1923     #define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s)
1924     #define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv)
1925     #define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv)
1926     #define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv)
1927     #define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv)
1928     #define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer)
1929    
1930     #define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0)
1931    
1932     #endif /* GL_VERSION_2_0 */
1933    
1934     /* ----------------------------- GL_VERSION_2_1 ---------------------------- */
1935    
1936     #ifndef GL_VERSION_2_1
1937     #define GL_VERSION_2_1 1
1938    
1939     #define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
1940     #define GL_PIXEL_PACK_BUFFER 0x88EB
1941     #define GL_PIXEL_UNPACK_BUFFER 0x88EC
1942     #define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
1943     #define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
1944     #define GL_FLOAT_MAT2x3 0x8B65
1945     #define GL_FLOAT_MAT2x4 0x8B66
1946     #define GL_FLOAT_MAT3x2 0x8B67
1947     #define GL_FLOAT_MAT3x4 0x8B68
1948     #define GL_FLOAT_MAT4x2 0x8B69
1949     #define GL_FLOAT_MAT4x3 0x8B6A
1950     #define GL_SRGB 0x8C40
1951     #define GL_SRGB8 0x8C41
1952     #define GL_SRGB_ALPHA 0x8C42
1953     #define GL_SRGB8_ALPHA8 0x8C43
1954     #define GL_SLUMINANCE_ALPHA 0x8C44
1955     #define GL_SLUMINANCE8_ALPHA8 0x8C45
1956     #define GL_SLUMINANCE 0x8C46
1957     #define GL_SLUMINANCE8 0x8C47
1958     #define GL_COMPRESSED_SRGB 0x8C48
1959     #define GL_COMPRESSED_SRGB_ALPHA 0x8C49
1960     #define GL_COMPRESSED_SLUMINANCE 0x8C4A
1961     #define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
1962    
1963     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1964     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1965     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1966     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1967     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1968     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1969    
1970     #define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv)
1971     #define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv)
1972     #define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv)
1973     #define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv)
1974     #define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv)
1975     #define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv)
1976    
1977     #define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1)
1978    
1979     #endif /* GL_VERSION_2_1 */
1980    
1981     /* ----------------------------- GL_VERSION_3_0 ---------------------------- */
1982    
1983     #ifndef GL_VERSION_3_0
1984     #define GL_VERSION_3_0 1
1985    
1986     #define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES
1987     #define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5
1988     #define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1
1989     #define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3
1990     #define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB
1991     #define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0
1992     #define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4
1993     #define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2
1994     #define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS
1995     #define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
1996     #define GL_MAJOR_VERSION 0x821B
1997     #define GL_MINOR_VERSION 0x821C
1998     #define GL_NUM_EXTENSIONS 0x821D
1999     #define GL_CONTEXT_FLAGS 0x821E
2000     #define GL_DEPTH_BUFFER 0x8223
2001     #define GL_STENCIL_BUFFER 0x8224
2002     #define GL_COMPRESSED_RED 0x8225
2003     #define GL_COMPRESSED_RG 0x8226
2004     #define GL_RGBA32F 0x8814
2005     #define GL_RGB32F 0x8815
2006     #define GL_RGBA16F 0x881A
2007     #define GL_RGB16F 0x881B
2008     #define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
2009     #define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
2010     #define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
2011     #define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
2012     #define GL_CLAMP_VERTEX_COLOR 0x891A
2013     #define GL_CLAMP_FRAGMENT_COLOR 0x891B
2014     #define GL_CLAMP_READ_COLOR 0x891C
2015     #define GL_FIXED_ONLY 0x891D
2016     #define GL_TEXTURE_RED_TYPE 0x8C10
2017     #define GL_TEXTURE_GREEN_TYPE 0x8C11
2018     #define GL_TEXTURE_BLUE_TYPE 0x8C12
2019     #define GL_TEXTURE_ALPHA_TYPE 0x8C13
2020     #define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
2021     #define GL_TEXTURE_INTENSITY_TYPE 0x8C15
2022     #define GL_TEXTURE_DEPTH_TYPE 0x8C16
2023     #define GL_UNSIGNED_NORMALIZED 0x8C17
2024     #define GL_TEXTURE_1D_ARRAY 0x8C18
2025     #define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
2026     #define GL_TEXTURE_2D_ARRAY 0x8C1A
2027     #define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
2028     #define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
2029     #define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
2030     #define GL_R11F_G11F_B10F 0x8C3A
2031     #define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
2032     #define GL_RGB9_E5 0x8C3D
2033     #define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
2034     #define GL_TEXTURE_SHARED_SIZE 0x8C3F
2035     #define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
2036     #define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
2037     #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
2038     #define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
2039     #define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
2040     #define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
2041     #define GL_PRIMITIVES_GENERATED 0x8C87
2042     #define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
2043     #define GL_RASTERIZER_DISCARD 0x8C89
2044     #define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
2045     #define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
2046     #define GL_INTERLEAVED_ATTRIBS 0x8C8C
2047     #define GL_SEPARATE_ATTRIBS 0x8C8D
2048     #define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
2049     #define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
2050     #define GL_RGBA32UI 0x8D70
2051     #define GL_RGB32UI 0x8D71
2052     #define GL_RGBA16UI 0x8D76
2053     #define GL_RGB16UI 0x8D77
2054     #define GL_RGBA8UI 0x8D7C
2055     #define GL_RGB8UI 0x8D7D
2056     #define GL_RGBA32I 0x8D82
2057     #define GL_RGB32I 0x8D83
2058     #define GL_RGBA16I 0x8D88
2059     #define GL_RGB16I 0x8D89
2060     #define GL_RGBA8I 0x8D8E
2061     #define GL_RGB8I 0x8D8F
2062     #define GL_RED_INTEGER 0x8D94
2063     #define GL_GREEN_INTEGER 0x8D95
2064     #define GL_BLUE_INTEGER 0x8D96
2065     #define GL_ALPHA_INTEGER 0x8D97
2066     #define GL_RGB_INTEGER 0x8D98
2067     #define GL_RGBA_INTEGER 0x8D99
2068     #define GL_BGR_INTEGER 0x8D9A
2069     #define GL_BGRA_INTEGER 0x8D9B
2070     #define GL_SAMPLER_1D_ARRAY 0x8DC0
2071     #define GL_SAMPLER_2D_ARRAY 0x8DC1
2072     #define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
2073     #define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
2074     #define GL_SAMPLER_CUBE_SHADOW 0x8DC5
2075     #define GL_UNSIGNED_INT_VEC2 0x8DC6
2076     #define GL_UNSIGNED_INT_VEC3 0x8DC7
2077     #define GL_UNSIGNED_INT_VEC4 0x8DC8
2078     #define GL_INT_SAMPLER_1D 0x8DC9
2079     #define GL_INT_SAMPLER_2D 0x8DCA
2080     #define GL_INT_SAMPLER_3D 0x8DCB
2081     #define GL_INT_SAMPLER_CUBE 0x8DCC
2082     #define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
2083     #define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
2084     #define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
2085     #define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
2086     #define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
2087     #define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
2088     #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
2089     #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
2090     #define GL_QUERY_WAIT 0x8E13
2091     #define GL_QUERY_NO_WAIT 0x8E14
2092     #define GL_QUERY_BY_REGION_WAIT 0x8E15
2093     #define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
2094    
2095     typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint, GLenum);
2096     typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum);
2097     typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum, GLuint, GLuint);
2098     typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
2099     typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint, GLuint, const GLchar*);
2100     typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum, GLenum);
2101     typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum, GLint, GLfloat, GLint);
2102     typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum, GLint, const GLfloat*);
2103     typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum, GLint, const GLint*);
2104     typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum, GLint, const GLuint*);
2105     typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
2106     typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum, GLuint);
2107     typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum, GLuint);
2108     typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void);
2109     typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void);
2110     typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum, GLuint, GLboolean*);
2111     typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint, const GLchar*);
2112     typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum, GLuint, GLint*);
2113     typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum, GLuint);
2114     typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum, GLenum, GLint*);
2115     typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum, GLenum, GLuint*);
2116     typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint, GLuint, GLint*);
2117     typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint, GLint, GLuint*);
2118     typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint, GLenum, GLint*);
2119     typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint, GLenum, GLuint*);
2120     typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum, GLuint);
2121     typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum, GLenum, const GLint*);
2122     typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum, GLenum, const GLuint*);
2123     typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint, GLsizei, const GLint*, GLenum);
2124     typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint, GLuint);
2125     typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint, GLsizei, const GLuint*);
2126     typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint, GLuint, GLuint);
2127     typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint, GLsizei, const GLuint*);
2128     typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint, GLuint, GLuint, GLuint);
2129     typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint, GLsizei, const GLuint*);
2130     typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint, GLuint, GLuint, GLuint, GLuint);
2131     typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint, GLsizei, const GLuint*);
2132     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint, GLint);
2133     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint, const GLint*);
2134     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint, GLuint);
2135     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint, const GLuint*);
2136     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint, GLint, GLint);
2137     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint, const GLint*);
2138     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint, GLuint, GLuint);
2139     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint, const GLuint*);
2140     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint, GLint, GLint, GLint);
2141     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint, const GLint*);
2142     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint, GLuint, GLuint, GLuint);
2143     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint, const GLuint*);
2144     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint, const GLbyte*);
2145     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint, GLint, GLint, GLint, GLint);
2146     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint, const GLint*);
2147     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint, const GLshort*);
2148     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint, const GLubyte*);
2149     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint, GLuint, GLuint, GLuint, GLuint);
2150     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint, const GLuint*);
2151     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint, const GLushort*);
2152     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint, GLint, GLenum, GLsizei, const GLvoid*);
2153    
2154     #define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender)
2155     #define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback)
2156     #define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase)
2157     #define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange)
2158     #define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation)
2159     #define glClampColor GLEW_GET_FUN(__glewClampColor)
2160     #define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi)
2161     #define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv)
2162     #define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv)
2163     #define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv)
2164     #define glColorMaski GLEW_GET_FUN(__glewColorMaski)
2165     #define glDisablei GLEW_GET_FUN(__glewDisablei)
2166     #define glEnablei GLEW_GET_FUN(__glewEnablei)
2167     #define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender)
2168     #define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback)
2169     #define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v)
2170     #define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation)
2171     #define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v)
2172     #define glGetStringi GLEW_GET_FUN(__glewGetStringi)
2173     #define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv)
2174     #define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv)
2175     #define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying)
2176     #define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv)
2177     #define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv)
2178     #define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv)
2179     #define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi)
2180     #define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv)
2181     #define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv)
2182     #define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings)
2183     #define glUniform1ui GLEW_GET_FUN(__glewUniform1ui)
2184     #define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv)
2185     #define glUniform2ui GLEW_GET_FUN(__glewUniform2ui)
2186     #define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv)
2187     #define glUniform3ui GLEW_GET_FUN(__glewUniform3ui)
2188     #define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv)
2189     #define glUniform4ui GLEW_GET_FUN(__glewUniform4ui)
2190     #define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv)
2191     #define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i)
2192     #define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv)
2193     #define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui)
2194     #define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv)
2195     #define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i)
2196     #define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv)
2197     #define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui)
2198     #define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv)
2199     #define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i)
2200     #define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv)
2201     #define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui)
2202     #define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv)
2203     #define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv)
2204     #define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i)
2205     #define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv)
2206     #define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv)
2207     #define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv)
2208     #define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui)
2209     #define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv)
2210     #define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv)
2211     #define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer)
2212    
2213     #define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0)
2214    
2215     #endif /* GL_VERSION_3_0 */
2216    
2217     /* -------------------------- GL_3DFX_multisample -------------------------- */
2218    
2219     #ifndef GL_3DFX_multisample
2220     #define GL_3DFX_multisample 1
2221    
2222     #define GL_MULTISAMPLE_3DFX 0x86B2
2223     #define GL_SAMPLE_BUFFERS_3DFX 0x86B3
2224     #define GL_SAMPLES_3DFX 0x86B4
2225     #define GL_MULTISAMPLE_BIT_3DFX 0x20000000
2226    
2227     #define GLEW_3DFX_multisample GLEW_GET_VAR(__GLEW_3DFX_multisample)
2228    
2229     #endif /* GL_3DFX_multisample */
2230    
2231     /* ---------------------------- GL_3DFX_tbuffer ---------------------------- */
2232    
2233     #ifndef GL_3DFX_tbuffer
2234     #define GL_3DFX_tbuffer 1
2235    
2236     typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
2237    
2238     #define glTbufferMask3DFX GLEW_GET_FUN(__glewTbufferMask3DFX)
2239    
2240     #define GLEW_3DFX_tbuffer GLEW_GET_VAR(__GLEW_3DFX_tbuffer)
2241    
2242     #endif /* GL_3DFX_tbuffer */
2243    
2244     /* -------------------- GL_3DFX_texture_compression_FXT1 ------------------- */
2245    
2246     #ifndef GL_3DFX_texture_compression_FXT1
2247     #define GL_3DFX_texture_compression_FXT1 1
2248    
2249     #define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
2250     #define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
2251    
2252     #define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(__GLEW_3DFX_texture_compression_FXT1)
2253    
2254     #endif /* GL_3DFX_texture_compression_FXT1 */
2255    
2256     /* ------------------------ GL_APPLE_client_storage ------------------------ */
2257    
2258     #ifndef GL_APPLE_client_storage
2259     #define GL_APPLE_client_storage 1
2260    
2261     #define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
2262    
2263     #define GLEW_APPLE_client_storage GLEW_GET_VAR(__GLEW_APPLE_client_storage)
2264    
2265     #endif /* GL_APPLE_client_storage */
2266    
2267     /* ------------------------- GL_APPLE_element_array ------------------------ */
2268    
2269     #ifndef GL_APPLE_element_array
2270     #define GL_APPLE_element_array 1
2271    
2272     #define GL_ELEMENT_ARRAY_APPLE 0x8768
2273     #define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8769
2274     #define GL_ELEMENT_ARRAY_POINTER_APPLE 0x876A
2275    
2276     typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
2277     typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
2278     typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const void* pointer);
2279     typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount);
2280     typedef void (GLAPIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei *count, GLsizei primcount);
2281    
2282     #define glDrawElementArrayAPPLE GLEW_GET_FUN(__glewDrawElementArrayAPPLE)
2283     #define glDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewDrawRangeElementArrayAPPLE)
2284     #define glElementPointerAPPLE GLEW_GET_FUN(__glewElementPointerAPPLE)
2285     #define glMultiDrawElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawElementArrayAPPLE)
2286     #define glMultiDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawRangeElementArrayAPPLE)
2287    
2288     #define GLEW_APPLE_element_array GLEW_GET_VAR(__GLEW_APPLE_element_array)
2289    
2290     #endif /* GL_APPLE_element_array */
2291    
2292     /* ----------------------------- GL_APPLE_fence ---------------------------- */
2293    
2294     #ifndef GL_APPLE_fence
2295     #define GL_APPLE_fence 1
2296    
2297     #define GL_DRAW_PIXELS_APPLE 0x8A0A
2298     #define GL_FENCE_APPLE 0x8A0B
2299    
2300     typedef void (GLAPIENTRY * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint* fences);
2301     typedef void (GLAPIENTRY * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
2302     typedef void (GLAPIENTRY * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
2303     typedef void (GLAPIENTRY * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint* fences);
2304     typedef GLboolean (GLAPIENTRY * PFNGLISFENCEAPPLEPROC) (GLuint fence);
2305     typedef void (GLAPIENTRY * PFNGLSETFENCEAPPLEPROC) (GLuint fence);
2306     typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
2307     typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
2308    
2309     #define glDeleteFencesAPPLE GLEW_GET_FUN(__glewDeleteFencesAPPLE)
2310     #define glFinishFenceAPPLE GLEW_GET_FUN(__glewFinishFenceAPPLE)
2311     #define glFinishObjectAPPLE GLEW_GET_FUN(__glewFinishObjectAPPLE)
2312     #define glGenFencesAPPLE GLEW_GET_FUN(__glewGenFencesAPPLE)
2313     #define glIsFenceAPPLE GLEW_GET_FUN(__glewIsFenceAPPLE)
2314     #define glSetFenceAPPLE GLEW_GET_FUN(__glewSetFenceAPPLE)
2315     #define glTestFenceAPPLE GLEW_GET_FUN(__glewTestFenceAPPLE)
2316     #define glTestObjectAPPLE GLEW_GET_FUN(__glewTestObjectAPPLE)
2317    
2318     #define GLEW_APPLE_fence GLEW_GET_VAR(__GLEW_APPLE_fence)
2319    
2320     #endif /* GL_APPLE_fence */
2321    
2322     /* ------------------------- GL_APPLE_float_pixels ------------------------- */
2323    
2324     #ifndef GL_APPLE_float_pixels
2325     #define GL_APPLE_float_pixels 1
2326    
2327     #define GL_HALF_APPLE 0x140B
2328     #define GL_RGBA_FLOAT32_APPLE 0x8814
2329     #define GL_RGB_FLOAT32_APPLE 0x8815
2330     #define GL_ALPHA_FLOAT32_APPLE 0x8816
2331     #define GL_INTENSITY_FLOAT32_APPLE 0x8817
2332     #define GL_LUMINANCE_FLOAT32_APPLE 0x8818
2333     #define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
2334     #define GL_RGBA_FLOAT16_APPLE 0x881A
2335     #define GL_RGB_FLOAT16_APPLE 0x881B
2336     #define GL_ALPHA_FLOAT16_APPLE 0x881C
2337     #define GL_INTENSITY_FLOAT16_APPLE 0x881D
2338     #define GL_LUMINANCE_FLOAT16_APPLE 0x881E
2339     #define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
2340     #define GL_COLOR_FLOAT_APPLE 0x8A0F
2341    
2342     #define GLEW_APPLE_float_pixels GLEW_GET_VAR(__GLEW_APPLE_float_pixels)
2343    
2344     #endif /* GL_APPLE_float_pixels */
2345    
2346     /* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */
2347    
2348     #ifndef GL_APPLE_flush_buffer_range
2349     #define GL_APPLE_flush_buffer_range 1
2350    
2351     #define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
2352     #define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13
2353    
2354     typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);
2355     typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);
2356    
2357     #define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE)
2358     #define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE)
2359    
2360     #define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range)
2361    
2362     #endif /* GL_APPLE_flush_buffer_range */
2363    
2364     /* ------------------------- GL_APPLE_pixel_buffer ------------------------- */
2365    
2366     #ifndef GL_APPLE_pixel_buffer
2367     #define GL_APPLE_pixel_buffer 1
2368    
2369     #define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
2370    
2371     #define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer)
2372    
2373     #endif /* GL_APPLE_pixel_buffer */
2374    
2375     /* ------------------------ GL_APPLE_specular_vector ----------------------- */
2376    
2377     #ifndef GL_APPLE_specular_vector
2378     #define GL_APPLE_specular_vector 1
2379    
2380     #define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
2381    
2382     #define GLEW_APPLE_specular_vector GLEW_GET_VAR(__GLEW_APPLE_specular_vector)
2383    
2384     #endif /* GL_APPLE_specular_vector */
2385    
2386     /* ------------------------- GL_APPLE_texture_range ------------------------ */
2387    
2388     #ifndef GL_APPLE_texture_range
2389     #define GL_APPLE_texture_range 1
2390    
2391     #define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
2392     #define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
2393     #define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
2394     #define GL_STORAGE_PRIVATE_APPLE 0x85BD
2395     #define GL_STORAGE_CACHED_APPLE 0x85BE
2396     #define GL_STORAGE_SHARED_APPLE 0x85BF
2397    
2398     typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid **params);
2399     typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid *pointer);
2400    
2401     #define glGetTexParameterPointervAPPLE GLEW_GET_FUN(__glewGetTexParameterPointervAPPLE)
2402     #define glTextureRangeAPPLE GLEW_GET_FUN(__glewTextureRangeAPPLE)
2403    
2404     #define GLEW_APPLE_texture_range GLEW_GET_VAR(__GLEW_APPLE_texture_range)
2405    
2406     #endif /* GL_APPLE_texture_range */
2407    
2408     /* ------------------------ GL_APPLE_transform_hint ------------------------ */
2409    
2410     #ifndef GL_APPLE_transform_hint
2411     #define GL_APPLE_transform_hint 1
2412    
2413     #define GL_TRANSFORM_HINT_APPLE 0x85B1
2414    
2415     #define GLEW_APPLE_transform_hint GLEW_GET_VAR(__GLEW_APPLE_transform_hint)
2416    
2417     #endif /* GL_APPLE_transform_hint */
2418    
2419     /* ---------------------- GL_APPLE_vertex_array_object --------------------- */
2420    
2421     #ifndef GL_APPLE_vertex_array_object
2422     #define GL_APPLE_vertex_array_object 1
2423    
2424     #define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5
2425    
2426     typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
2427     typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays);
2428     typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays);
2429     typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
2430    
2431     #define glBindVertexArrayAPPLE GLEW_GET_FUN(__glewBindVertexArrayAPPLE)
2432     #define glDeleteVertexArraysAPPLE GLEW_GET_FUN(__glewDeleteVertexArraysAPPLE)
2433     #define glGenVertexArraysAPPLE GLEW_GET_FUN(__glewGenVertexArraysAPPLE)
2434     #define glIsVertexArrayAPPLE GLEW_GET_FUN(__glewIsVertexArrayAPPLE)
2435    
2436     #define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(__GLEW_APPLE_vertex_array_object)
2437    
2438     #endif /* GL_APPLE_vertex_array_object */
2439    
2440     /* ---------------------- GL_APPLE_vertex_array_range ---------------------- */
2441    
2442     #ifndef GL_APPLE_vertex_array_range
2443     #define GL_APPLE_vertex_array_range 1
2444    
2445     #define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D
2446     #define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
2447     #define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
2448     #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520
2449     #define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
2450     #define GL_STORAGE_CACHED_APPLE 0x85BE
2451     #define GL_STORAGE_SHARED_APPLE 0x85BF
2452    
2453     typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer);
2454     typedef void (GLAPIENTRY * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
2455     typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer);
2456    
2457     #define glFlushVertexArrayRangeAPPLE GLEW_GET_FUN(__glewFlushVertexArrayRangeAPPLE)
2458     #define glVertexArrayParameteriAPPLE GLEW_GET_FUN(__glewVertexArrayParameteriAPPLE)
2459     #define glVertexArrayRangeAPPLE GLEW_GET_FUN(__glewVertexArrayRangeAPPLE)
2460    
2461     #define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(__GLEW_APPLE_vertex_array_range)
2462    
2463     #endif /* GL_APPLE_vertex_array_range */
2464    
2465     /* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */
2466    
2467     #ifndef GL_APPLE_ycbcr_422
2468     #define GL_APPLE_ycbcr_422 1
2469    
2470     #define GL_YCBCR_422_APPLE 0x85B9
2471     #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
2472     #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
2473    
2474     #define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422)
2475    
2476     #endif /* GL_APPLE_ycbcr_422 */
2477    
2478     /* ----------------------- GL_ARB_color_buffer_float ----------------------- */
2479    
2480     #ifndef GL_ARB_color_buffer_float
2481     #define GL_ARB_color_buffer_float 1
2482    
2483     #define GL_RGBA_FLOAT_MODE_ARB 0x8820
2484     #define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
2485     #define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
2486     #define GL_CLAMP_READ_COLOR_ARB 0x891C
2487     #define GL_FIXED_ONLY_ARB 0x891D
2488    
2489     typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
2490    
2491     #define glClampColorARB GLEW_GET_FUN(__glewClampColorARB)
2492    
2493     #define GLEW_ARB_color_buffer_float GLEW_GET_VAR(__GLEW_ARB_color_buffer_float)
2494    
2495     #endif /* GL_ARB_color_buffer_float */
2496    
2497     /* ----------------------- GL_ARB_depth_buffer_float ----------------------- */
2498    
2499     #ifndef GL_ARB_depth_buffer_float
2500     #define GL_ARB_depth_buffer_float 1
2501    
2502     #define GL_DEPTH_COMPONENT32F 0x8CAC
2503     #define GL_DEPTH32F_STENCIL8 0x8CAD
2504     #define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
2505    
2506     #define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float)
2507    
2508     #endif /* GL_ARB_depth_buffer_float */
2509    
2510     /* -------------------------- GL_ARB_depth_texture ------------------------- */
2511    
2512     #ifndef GL_ARB_depth_texture
2513     #define GL_ARB_depth_texture 1
2514    
2515     #define GL_DEPTH_COMPONENT16_ARB 0x81A5
2516     #define GL_DEPTH_COMPONENT24_ARB 0x81A6
2517     #define GL_DEPTH_COMPONENT32_ARB 0x81A7
2518     #define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
2519     #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
2520    
2521     #define GLEW_ARB_depth_texture GLEW_GET_VAR(__GLEW_ARB_depth_texture)
2522    
2523     #endif /* GL_ARB_depth_texture */
2524    
2525     /* -------------------------- GL_ARB_draw_buffers -------------------------- */
2526    
2527     #ifndef GL_ARB_draw_buffers
2528     #define GL_ARB_draw_buffers 1
2529    
2530     #define GL_MAX_DRAW_BUFFERS_ARB 0x8824
2531     #define GL_DRAW_BUFFER0_ARB 0x8825
2532     #define GL_DRAW_BUFFER1_ARB 0x8826
2533     #define GL_DRAW_BUFFER2_ARB 0x8827
2534     #define GL_DRAW_BUFFER3_ARB 0x8828
2535     #define GL_DRAW_BUFFER4_ARB 0x8829
2536     #define GL_DRAW_BUFFER5_ARB 0x882A
2537     #define GL_DRAW_BUFFER6_ARB 0x882B
2538     #define GL_DRAW_BUFFER7_ARB 0x882C
2539     #define GL_DRAW_BUFFER8_ARB 0x882D
2540     #define GL_DRAW_BUFFER9_ARB 0x882E
2541     #define GL_DRAW_BUFFER10_ARB 0x882F
2542     #define GL_DRAW_BUFFER11_ARB 0x8830
2543     #define GL_DRAW_BUFFER12_ARB 0x8831
2544     #define GL_DRAW_BUFFER13_ARB 0x8832
2545     #define GL_DRAW_BUFFER14_ARB 0x8833
2546     #define GL_DRAW_BUFFER15_ARB 0x8834
2547    
2548     typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bufs);
2549    
2550     #define glDrawBuffersARB GLEW_GET_FUN(__glewDrawBuffersARB)
2551    
2552     #define GLEW_ARB_draw_buffers GLEW_GET_VAR(__GLEW_ARB_draw_buffers)
2553    
2554     #endif /* GL_ARB_draw_buffers */
2555    
2556     /* ------------------------- GL_ARB_draw_instanced ------------------------- */
2557    
2558     #ifndef GL_ARB_draw_instanced
2559     #define GL_ARB_draw_instanced 1
2560    
2561     typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
2562     typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount);
2563    
2564     #define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB)
2565     #define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB)
2566    
2567     #define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced)
2568    
2569     #endif /* GL_ARB_draw_instanced */
2570    
2571     /* ------------------------ GL_ARB_fragment_program ------------------------ */
2572    
2573     #ifndef GL_ARB_fragment_program
2574     #define GL_ARB_fragment_program 1
2575    
2576     #define GL_FRAGMENT_PROGRAM_ARB 0x8804
2577     #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
2578     #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
2579     #define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
2580     #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
2581     #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
2582     #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
2583     #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
2584     #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
2585     #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
2586     #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
2587     #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
2588     #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
2589     #define GL_MAX_TEXTURE_COORDS_ARB 0x8871
2590     #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
2591    
2592     #define GLEW_ARB_fragment_program GLEW_GET_VAR(__GLEW_ARB_fragment_program)
2593    
2594     #endif /* GL_ARB_fragment_program */
2595    
2596     /* --------------------- GL_ARB_fragment_program_shadow -------------------- */
2597    
2598     #ifndef GL_ARB_fragment_program_shadow
2599     #define GL_ARB_fragment_program_shadow 1
2600    
2601     #define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(__GLEW_ARB_fragment_program_shadow)
2602    
2603     #endif /* GL_ARB_fragment_program_shadow */
2604    
2605     /* ------------------------- GL_ARB_fragment_shader ------------------------ */
2606    
2607     #ifndef GL_ARB_fragment_shader
2608     #define GL_ARB_fragment_shader 1
2609    
2610     #define GL_FRAGMENT_SHADER_ARB 0x8B30
2611     #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
2612     #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
2613    
2614     #define GLEW_ARB_fragment_shader GLEW_GET_VAR(__GLEW_ARB_fragment_shader)
2615    
2616     #endif /* GL_ARB_fragment_shader */
2617    
2618     /* ----------------------- GL_ARB_framebuffer_object ----------------------- */
2619    
2620     #ifndef GL_ARB_framebuffer_object
2621     #define GL_ARB_framebuffer_object 1
2622    
2623     #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
2624     #define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
2625     #define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
2626     #define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
2627     #define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
2628     #define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
2629     #define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
2630     #define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
2631     #define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
2632     #define GL_FRAMEBUFFER_DEFAULT 0x8218
2633     #define GL_FRAMEBUFFER_UNDEFINED 0x8219
2634     #define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
2635     #define GL_INDEX 0x8222
2636     #define GL_MAX_RENDERBUFFER_SIZE 0x84E8
2637     #define GL_DEPTH_STENCIL 0x84F9
2638     #define GL_UNSIGNED_INT_24_8 0x84FA
2639     #define GL_DEPTH24_STENCIL8 0x88F0
2640     #define GL_TEXTURE_STENCIL_SIZE 0x88F1
2641     #define GL_UNSIGNED_NORMALIZED 0x8C17
2642     #define GL_SRGB 0x8C40
2643     #define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
2644     #define GL_FRAMEBUFFER_BINDING 0x8CA6
2645     #define GL_RENDERBUFFER_BINDING 0x8CA7
2646     #define GL_READ_FRAMEBUFFER 0x8CA8
2647     #define GL_DRAW_FRAMEBUFFER 0x8CA9
2648     #define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
2649     #define GL_RENDERBUFFER_SAMPLES 0x8CAB
2650     #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
2651     #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
2652     #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
2653     #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
2654     #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
2655     #define GL_FRAMEBUFFER_COMPLETE 0x8CD5
2656     #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
2657     #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
2658     #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
2659     #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
2660     #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
2661     #define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
2662     #define GL_COLOR_ATTACHMENT0 0x8CE0
2663     #define GL_COLOR_ATTACHMENT1 0x8CE1
2664     #define GL_COLOR_ATTACHMENT2 0x8CE2
2665     #define GL_COLOR_ATTACHMENT3 0x8CE3
2666     #define GL_COLOR_ATTACHMENT4 0x8CE4
2667     #define GL_COLOR_ATTACHMENT5 0x8CE5
2668     #define GL_COLOR_ATTACHMENT6 0x8CE6
2669     #define GL_COLOR_ATTACHMENT7 0x8CE7
2670     #define GL_COLOR_ATTACHMENT8 0x8CE8
2671     #define GL_COLOR_ATTACHMENT9 0x8CE9
2672     #define GL_COLOR_ATTACHMENT10 0x8CEA
2673     #define GL_COLOR_ATTACHMENT11 0x8CEB
2674     #define GL_COLOR_ATTACHMENT12 0x8CEC
2675     #define GL_COLOR_ATTACHMENT13 0x8CED
2676     #define GL_COLOR_ATTACHMENT14 0x8CEE
2677     #define GL_COLOR_ATTACHMENT15 0x8CEF
2678     #define GL_DEPTH_ATTACHMENT 0x8D00
2679     #define GL_STENCIL_ATTACHMENT 0x8D20
2680     #define GL_FRAMEBUFFER 0x8D40
2681     #define GL_RENDERBUFFER 0x8D41
2682     #define GL_RENDERBUFFER_WIDTH 0x8D42
2683     #define GL_RENDERBUFFER_HEIGHT 0x8D43
2684     #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
2685     #define GL_STENCIL_INDEX1 0x8D46
2686     #define GL_STENCIL_INDEX4 0x8D47
2687     #define GL_STENCIL_INDEX8 0x8D48
2688     #define GL_STENCIL_INDEX16 0x8D49
2689     #define GL_RENDERBUFFER_RED_SIZE 0x8D50
2690     #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
2691     #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
2692     #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
2693     #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
2694     #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
2695     #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
2696     #define GL_MAX_SAMPLES 0x8D57
2697    
2698     typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
2699     typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
2700     typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
2701     typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
2702     typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers);
2703     typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers);
2704     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
2705     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURLAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer);
2706     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
2707     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
2708     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);
2709     typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers);
2710     typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers);
2711     typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target);
2712     typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
2713     typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
2714     typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
2715     typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
2716     typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
2717     typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2718    
2719     #define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer)
2720     #define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer)
2721     #define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer)
2722     #define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus)
2723     #define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers)
2724     #define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers)
2725     #define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer)
2726     #define glFramebufferTexturLayer GLEW_GET_FUN(__glewFramebufferTexturLayer)
2727     #define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D)
2728     #define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D)
2729     #define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D)
2730     #define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers)
2731     #define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers)
2732     #define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap)
2733     #define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv)
2734     #define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv)
2735     #define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer)
2736     #define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer)
2737     #define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage)
2738     #define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample)
2739    
2740     #define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object)
2741    
2742     #endif /* GL_ARB_framebuffer_object */
2743    
2744     /* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */
2745    
2746     #ifndef GL_ARB_framebuffer_sRGB
2747     #define GL_ARB_framebuffer_sRGB 1
2748    
2749     #define GL_FRAMEBUFFER_SRGB 0x8DB9
2750    
2751     #define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB)
2752    
2753     #endif /* GL_ARB_framebuffer_sRGB */
2754    
2755     /* ------------------------ GL_ARB_geometry_shader4 ------------------------ */
2756    
2757     #ifndef GL_ARB_geometry_shader4
2758     #define GL_ARB_geometry_shader4 1
2759    
2760     #define GL_LINES_ADJACENCY_ARB 0xA
2761     #define GL_LINE_STRIP_ADJACENCY_ARB 0xB
2762     #define GL_TRIANGLES_ADJACENCY_ARB 0xC
2763     #define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD
2764     #define GL_PROGRAM_POINT_SIZE_ARB 0x8642
2765     #define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
2766     #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
2767     #define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
2768     #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
2769     #define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
2770     #define GL_GEOMETRY_SHADER_ARB 0x8DD9
2771     #define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
2772     #define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
2773     #define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
2774     #define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
2775     #define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
2776     #define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
2777     #define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
2778     #define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
2779    
2780     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
2781     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
2782     typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
2783     typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);
2784    
2785     #define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB)
2786     #define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB)
2787     #define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB)
2788     #define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB)
2789    
2790     #define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4)
2791    
2792     #endif /* GL_ARB_geometry_shader4 */
2793    
2794     /* ------------------------ GL_ARB_half_float_pixel ------------------------ */
2795    
2796     #ifndef GL_ARB_half_float_pixel
2797     #define GL_ARB_half_float_pixel 1
2798    
2799     #define GL_HALF_FLOAT_ARB 0x140B
2800    
2801     #define GLEW_ARB_half_float_pixel GLEW_GET_VAR(__GLEW_ARB_half_float_pixel)
2802    
2803     #endif /* GL_ARB_half_float_pixel */
2804    
2805     /* ------------------------ GL_ARB_half_float_vertex ----------------------- */
2806    
2807     #ifndef GL_ARB_half_float_vertex
2808     #define GL_ARB_half_float_vertex 1
2809    
2810     #define GL_HALF_FLOAT 0x140B
2811    
2812     #define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex)
2813    
2814     #endif /* GL_ARB_half_float_vertex */
2815    
2816     /* ----------------------------- GL_ARB_imaging ---------------------------- */
2817    
2818     #ifndef GL_ARB_imaging
2819     #define GL_ARB_imaging 1
2820    
2821     #define GL_CONSTANT_COLOR 0x8001
2822     #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
2823     #define GL_CONSTANT_ALPHA 0x8003
2824     #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
2825     #define GL_BLEND_COLOR 0x8005
2826     #define GL_FUNC_ADD 0x8006
2827     #define GL_MIN 0x8007
2828     #define GL_MAX 0x8008
2829     #define GL_BLEND_EQUATION 0x8009
2830     #define GL_FUNC_SUBTRACT 0x800A
2831     #define GL_FUNC_REVERSE_SUBTRACT 0x800B
2832     #define GL_CONVOLUTION_1D 0x8010
2833     #define GL_CONVOLUTION_2D 0x8011
2834     #define GL_SEPARABLE_2D 0x8012
2835     #define GL_CONVOLUTION_BORDER_MODE 0x8013
2836     #define GL_CONVOLUTION_FILTER_SCALE 0x8014
2837     #define GL_CONVOLUTION_FILTER_BIAS 0x8015
2838     #define GL_REDUCE 0x8016
2839     #define GL_CONVOLUTION_FORMAT 0x8017
2840     #define GL_CONVOLUTION_WIDTH 0x8018
2841     #define GL_CONVOLUTION_HEIGHT 0x8019
2842     #define GL_MAX_CONVOLUTION_WIDTH 0x801A
2843     #define GL_MAX_CONVOLUTION_HEIGHT 0x801B
2844     #define GL_POST_CONVOLUTION_RED_SCALE 0x801C
2845     #define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
2846     #define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
2847     #define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
2848     #define GL_POST_CONVOLUTION_RED_BIAS 0x8020
2849     #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
2850     #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
2851     #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
2852     #define GL_HISTOGRAM 0x8024
2853     #define GL_PROXY_HISTOGRAM 0x8025
2854     #define GL_HISTOGRAM_WIDTH 0x8026
2855     #define GL_HISTOGRAM_FORMAT 0x8027
2856     #define GL_HISTOGRAM_RED_SIZE 0x8028
2857     #define GL_HISTOGRAM_GREEN_SIZE 0x8029
2858     #define GL_HISTOGRAM_BLUE_SIZE 0x802A
2859     #define GL_HISTOGRAM_ALPHA_SIZE 0x802B
2860     #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
2861     #define GL_HISTOGRAM_SINK 0x802D
2862     #define GL_MINMAX 0x802E
2863     #define GL_MINMAX_FORMAT 0x802F
2864     #define GL_MINMAX_SINK 0x8030
2865     #define GL_TABLE_TOO_LARGE 0x8031
2866     #define GL_COLOR_MATRIX 0x80B1
2867     #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
2868     #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
2869     #define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
2870     #define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
2871     #define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
2872     #define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
2873     #define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
2874     #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
2875     #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
2876     #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
2877     #define GL_COLOR_TABLE 0x80D0
2878     #define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
2879     #define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
2880     #define GL_PROXY_COLOR_TABLE 0x80D3
2881     #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
2882     #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
2883     #define GL_COLOR_TABLE_SCALE 0x80D6
2884     #define GL_COLOR_TABLE_BIAS 0x80D7
2885     #define GL_COLOR_TABLE_FORMAT 0x80D8
2886     #define GL_COLOR_TABLE_WIDTH 0x80D9
2887     #define GL_COLOR_TABLE_RED_SIZE 0x80DA
2888     #define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
2889     #define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
2890     #define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
2891     #define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
2892     #define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
2893     #define GL_IGNORE_BORDER 0x8150
2894     #define GL_CONSTANT_BORDER 0x8151
2895     #define GL_WRAP_BORDER 0x8152
2896     #define GL_REPLICATE_BORDER 0x8153
2897     #define GL_CONVOLUTION_BORDER_COLOR 0x8154
2898    
2899     typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
2900     typedef void (GLAPIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
2901     typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
2902     typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
2903     typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
2904     typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
2905     typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
2906     typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
2907     typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
2908     typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
2909     typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
2910     typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
2911     typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
2912     typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
2913     typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
2914     typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
2915     typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
2916     typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
2917     typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
2918     typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
2919     typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
2920     typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
2921     typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
2922     typedef void (GLAPIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);
2923     typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
2924     typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
2925     typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
2926     typedef void (GLAPIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
2927     typedef void (GLAPIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
2928     typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target);
2929     typedef void (GLAPIENTRY * PFNGLRESETMINMAXPROC) (GLenum target);
2930     typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
2931    
2932     #define glColorSubTable GLEW_GET_FUN(__glewColorSubTable)
2933     #define glColorTable GLEW_GET_FUN(__glewColorTable)
2934     #define glColorTableParameterfv GLEW_GET_FUN(__glewColorTableParameterfv)
2935     #define glColorTableParameteriv GLEW_GET_FUN(__glewColorTableParameteriv)
2936     #define glConvolutionFilter1D GLEW_GET_FUN(__glewConvolutionFilter1D)
2937     #define glConvolutionFilter2D GLEW_GET_FUN(__glewConvolutionFilter2D)
2938     #define glConvolutionParameterf GLEW_GET_FUN(__glewConvolutionParameterf)
2939     #define glConvolutionParameterfv GLEW_GET_FUN(__glewConvolutionParameterfv)
2940     #define glConvolutionParameteri GLEW_GET_FUN(__glewConvolutionParameteri)
2941     #define glConvolutionParameteriv GLEW_GET_FUN(__glewConvolutionParameteriv)
2942     #define glCopyColorSubTable GLEW_GET_FUN(__glewCopyColorSubTable)
2943     #define glCopyColorTable GLEW_GET_FUN(__glewCopyColorTable)
2944     #define glCopyConvolutionFilter1D GLEW_GET_FUN(__glewCopyConvolutionFilter1D)
2945     #define glCopyConvolutionFilter2D GLEW_GET_FUN(__glewCopyConvolutionFilter2D)
2946     #define glGetColorTable GLEW_GET_FUN(__glewGetColorTable)
2947     #define glGetColorTableParameterfv GLEW_GET_FUN(__glewGetColorTableParameterfv)
2948     #define glGetColorTableParameteriv GLEW_GET_FUN(__glewGetColorTableParameteriv)
2949     #define glGetConvolutionFilter GLEW_GET_FUN(__glewGetConvolutionFilter)
2950     #define glGetConvolutionParameterfv GLEW_GET_FUN(__glewGetConvolutionParameterfv)
2951     #define glGetConvolutionParameteriv GLEW_GET_FUN(__glewGetConvolutionParameteriv)
2952     #define glGetHistogram GLEW_GET_FUN(__glewGetHistogram)
2953     #define glGetHistogramParameterfv GLEW_GET_FUN(__glewGetHistogramParameterfv)
2954     #define glGetHistogramParameteriv GLEW_GET_FUN(__glewGetHistogramParameteriv)
2955     #define glGetMinmax GLEW_GET_FUN(__glewGetMinmax)
2956     #define glGetMinmaxParameterfv GLEW_GET_FUN(__glewGetMinmaxParameterfv)
2957     #define glGetMinmaxParameteriv GLEW_GET_FUN(__glewGetMinmaxParameteriv)
2958     #define glGetSeparableFilter GLEW_GET_FUN(__glewGetSeparableFilter)
2959     #define glHistogram GLEW_GET_FUN(__glewHistogram)
2960     #define glMinmax GLEW_GET_FUN(__glewMinmax)
2961     #define glResetHistogram GLEW_GET_FUN(__glewResetHistogram)
2962     #define glResetMinmax GLEW_GET_FUN(__glewResetMinmax)
2963     #define glSeparableFilter2D GLEW_GET_FUN(__glewSeparableFilter2D)
2964    
2965     #define GLEW_ARB_imaging GLEW_GET_VAR(__GLEW_ARB_imaging)
2966    
2967     #endif /* GL_ARB_imaging */
2968    
2969     /* ------------------------ GL_ARB_instanced_arrays ------------------------ */
2970    
2971     #ifndef GL_ARB_instanced_arrays
2972     #define GL_ARB_instanced_arrays 1
2973    
2974     #define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
2975    
2976     typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);
2977    
2978     #define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB)
2979    
2980     #define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays)
2981    
2982     #endif /* GL_ARB_instanced_arrays */
2983    
2984     /* ------------------------ GL_ARB_map_buffer_range ------------------------ */
2985    
2986     #ifndef GL_ARB_map_buffer_range
2987     #define GL_ARB_map_buffer_range 1
2988    
2989     #define GL_MAP_READ_BIT 0x0001
2990     #define GL_MAP_WRITE_BIT 0x0002
2991     #define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
2992     #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
2993     #define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
2994     #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
2995    
2996     typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
2997     typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
2998    
2999     #define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange)
3000     #define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange)
3001    
3002     #define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range)
3003    
3004     #endif /* GL_ARB_map_buffer_range */
3005    
3006     /* ------------------------- GL_ARB_matrix_palette ------------------------- */
3007    
3008     #ifndef GL_ARB_matrix_palette
3009     #define GL_ARB_matrix_palette 1
3010    
3011     #define GL_MATRIX_PALETTE_ARB 0x8840
3012     #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
3013     #define GL_MAX_PALETTE_MATRICES_ARB 0x8842
3014     #define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
3015     #define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
3016     #define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
3017     #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
3018     #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
3019     #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
3020     #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
3021    
3022     typedef void (GLAPIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
3023     typedef void (GLAPIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
3024     typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices);
3025     typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices);
3026     typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices);
3027    
3028     #define glCurrentPaletteMatrixARB GLEW_GET_FUN(__glewCurrentPaletteMatrixARB)
3029     #define glMatrixIndexPointerARB GLEW_GET_FUN(__glewMatrixIndexPointerARB)
3030     #define glMatrixIndexubvARB GLEW_GET_FUN(__glewMatrixIndexubvARB)
3031     #define glMatrixIndexuivARB GLEW_GET_FUN(__glewMatrixIndexuivARB)
3032     #define glMatrixIndexusvARB GLEW_GET_FUN(__glewMatrixIndexusvARB)
3033    
3034     #define GLEW_ARB_matrix_palette GLEW_GET_VAR(__GLEW_ARB_matrix_palette)
3035    
3036     #endif /* GL_ARB_matrix_palette */
3037    
3038     /* --------------------------- GL_ARB_multisample -------------------------- */
3039    
3040     #ifndef GL_ARB_multisample
3041     #define GL_ARB_multisample 1
3042    
3043     #define GL_MULTISAMPLE_ARB 0x809D
3044     #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
3045     #define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
3046     #define GL_SAMPLE_COVERAGE_ARB 0x80A0
3047     #define GL_SAMPLE_BUFFERS_ARB 0x80A8
3048     #define GL_SAMPLES_ARB 0x80A9
3049     #define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
3050     #define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
3051     #define GL_MULTISAMPLE_BIT_ARB 0x20000000
3052    
3053     typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
3054    
3055     #define glSampleCoverageARB GLEW_GET_FUN(__glewSampleCoverageARB)
3056    
3057     #define GLEW_ARB_multisample GLEW_GET_VAR(__GLEW_ARB_multisample)
3058    
3059     #endif /* GL_ARB_multisample */
3060    
3061     /* -------------------------- GL_ARB_multitexture -------------------------- */
3062    
3063     #ifndef GL_ARB_multitexture
3064     #define GL_ARB_multitexture 1
3065    
3066     #define GL_TEXTURE0_ARB 0x84C0
3067     #define GL_TEXTURE1_ARB 0x84C1
3068     #define GL_TEXTURE2_ARB 0x84C2
3069     #define GL_TEXTURE3_ARB 0x84C3
3070     #define GL_TEXTURE4_ARB 0x84C4
3071     #define GL_TEXTURE5_ARB 0x84C5
3072     #define GL_TEXTURE6_ARB 0x84C6
3073     #define GL_TEXTURE7_ARB 0x84C7
3074     #define GL_TEXTURE8_ARB 0x84C8
3075     #define GL_TEXTURE9_ARB 0x84C9
3076     #define GL_TEXTURE10_ARB 0x84CA
3077     #define GL_TEXTURE11_ARB 0x84CB
3078     #define GL_TEXTURE12_ARB 0x84CC
3079     #define GL_TEXTURE13_ARB 0x84CD
3080     #define GL_TEXTURE14_ARB 0x84CE
3081     #define GL_TEXTURE15_ARB 0x84CF
3082     #define GL_TEXTURE16_ARB 0x84D0
3083     #define GL_TEXTURE17_ARB 0x84D1
3084     #define GL_TEXTURE18_ARB 0x84D2
3085     #define GL_TEXTURE19_ARB 0x84D3
3086     #define GL_TEXTURE20_ARB 0x84D4
3087     #define GL_TEXTURE21_ARB 0x84D5
3088     #define GL_TEXTURE22_ARB 0x84D6
3089     #define GL_TEXTURE23_ARB 0x84D7
3090     #define GL_TEXTURE24_ARB 0x84D8
3091     #define GL_TEXTURE25_ARB 0x84D9
3092     #define GL_TEXTURE26_ARB 0x84DA
3093     #define GL_TEXTURE27_ARB 0x84DB
3094     #define GL_TEXTURE28_ARB 0x84DC
3095     #define GL_TEXTURE29_ARB 0x84DD
3096     #define GL_TEXTURE30_ARB 0x84DE
3097     #define GL_TEXTURE31_ARB 0x84DF
3098     #define GL_ACTIVE_TEXTURE_ARB 0x84E0
3099     #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
3100     #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
3101    
3102     typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
3103     typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
3104     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
3105     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
3106     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
3107     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
3108     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
3109     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
3110     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
3111     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
3112     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
3113     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
3114     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
3115     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
3116     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
3117     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
3118     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
3119     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
3120     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
3121     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
3122     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
3123     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
3124     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
3125     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
3126     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
3127     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
3128     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
3129     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
3130     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
3131     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
3132     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
3133     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
3134     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
3135     typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
3136    
3137     #define glActiveTextureARB GLEW_GET_FUN(__glewActiveTextureARB)
3138     #define glClientActiveTextureARB GLEW_GET_FUN(__glewClientActiveTextureARB)
3139     #define glMultiTexCoord1dARB GLEW_GET_FUN(__glewMultiTexCoord1dARB)
3140     #define glMultiTexCoord1dvARB GLEW_GET_FUN(__glewMultiTexCoord1dvARB)
3141     #define glMultiTexCoord1fARB GLEW_GET_FUN(__glewMultiTexCoord1fARB)
3142     #define glMultiTexCoord1fvARB GLEW_GET_FUN(__glewMultiTexCoord1fvARB)
3143     #define glMultiTexCoord1iARB GLEW_GET_FUN(__glewMultiTexCoord1iARB)
3144     #define glMultiTexCoord1ivARB GLEW_GET_FUN(__glewMultiTexCoord1ivARB)
3145     #define glMultiTexCoord1sARB GLEW_GET_FUN(__glewMultiTexCoord1sARB)
3146     #define glMultiTexCoord1svARB GLEW_GET_FUN(__glewMultiTexCoord1svARB)
3147     #define glMultiTexCoord2dARB GLEW_GET_FUN(__glewMultiTexCoord2dARB)
3148     #define glMultiTexCoord2dvARB GLEW_GET_FUN(__glewMultiTexCoord2dvARB)
3149     #define glMultiTexCoord2fARB GLEW_GET_FUN(__glewMultiTexCoord2fARB)
3150     #define glMultiTexCoord2fvARB GLEW_GET_FUN(__glewMultiTexCoord2fvARB)
3151     #define glMultiTexCoord2iARB GLEW_GET_FUN(__glewMultiTexCoord2iARB)
3152     #define glMultiTexCoord2ivARB GLEW_GET_FUN(__glewMultiTexCoord2ivARB)
3153     #define glMultiTexCoord2sARB GLEW_GET_FUN(__glewMultiTexCoord2sARB)
3154     #define glMultiTexCoord2svARB GLEW_GET_FUN(__glewMultiTexCoord2svARB)
3155     #define glMultiTexCoord3dARB GLEW_GET_FUN(__glewMultiTexCoord3dARB)
3156     #define glMultiTexCoord3dvARB GLEW_GET_FUN(__glewMultiTexCoord3dvARB)
3157     #define glMultiTexCoord3fARB GLEW_GET_FUN(__glewMultiTexCoord3fARB)
3158     #define glMultiTexCoord3fvARB GLEW_GET_FUN(__glewMultiTexCoord3fvARB)
3159     #define glMultiTexCoord3iARB GLEW_GET_FUN(__glewMultiTexCoord3iARB)
3160     #define glMultiTexCoord3ivARB GLEW_GET_FUN(__glewMultiTexCoord3ivARB)
3161     #define glMultiTexCoord3sARB GLEW_GET_FUN(__glewMultiTexCoord3sARB)
3162     #define glMultiTexCoord3svARB GLEW_GET_FUN(__glewMultiTexCoord3svARB)
3163     #define glMultiTexCoord4dARB GLEW_GET_FUN(__glewMultiTexCoord4dARB)
3164     #define glMultiTexCoord4dvARB GLEW_GET_FUN(__glewMultiTexCoord4dvARB)
3165     #define glMultiTexCoord4fARB GLEW_GET_FUN(__glewMultiTexCoord4fARB)
3166     #define glMultiTexCoord4fvARB GLEW_GET_FUN(__glewMultiTexCoord4fvARB)
3167     #define glMultiTexCoord4iARB GLEW_GET_FUN(__glewMultiTexCoord4iARB)
3168     #define glMultiTexCoord4ivARB GLEW_GET_FUN(__glewMultiTexCoord4ivARB)
3169     #define glMultiTexCoord4sARB GLEW_GET_FUN(__glewMultiTexCoord4sARB)
3170     #define glMultiTexCoord4svARB GLEW_GET_FUN(__glewMultiTexCoord4svARB)
3171    
3172     #define GLEW_ARB_multitexture GLEW_GET_VAR(__GLEW_ARB_multitexture)
3173    
3174     #endif /* GL_ARB_multitexture */
3175    
3176     /* ------------------------- GL_ARB_occlusion_query ------------------------ */
3177    
3178     #ifndef GL_ARB_occlusion_query
3179     #define GL_ARB_occlusion_query 1
3180    
3181     #define GL_QUERY_COUNTER_BITS_ARB 0x8864
3182     #define GL_CURRENT_QUERY_ARB 0x8865
3183     #define GL_QUERY_RESULT_ARB 0x8866
3184     #define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
3185     #define GL_SAMPLES_PASSED_ARB 0x8914
3186    
3187     typedef void (GLAPIENTRY * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
3188     typedef void (GLAPIENTRY * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint* ids);
3189     typedef void (GLAPIENTRY * PFNGLENDQUERYARBPROC) (GLenum target);
3190     typedef void (GLAPIENTRY * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint* ids);
3191     typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint* params);
3192     typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint* params);
3193     typedef void (GLAPIENTRY * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint* params);
3194     typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id);
3195    
3196     #define glBeginQueryARB GLEW_GET_FUN(__glewBeginQueryARB)
3197     #define glDeleteQueriesARB GLEW_GET_FUN(__glewDeleteQueriesARB)
3198     #define glEndQueryARB GLEW_GET_FUN(__glewEndQueryARB)
3199     #define glGenQueriesARB GLEW_GET_FUN(__glewGenQueriesARB)
3200     #define glGetQueryObjectivARB GLEW_GET_FUN(__glewGetQueryObjectivARB)
3201     #define glGetQueryObjectuivARB GLEW_GET_FUN(__glewGetQueryObjectuivARB)
3202     #define glGetQueryivARB GLEW_GET_FUN(__glewGetQueryivARB)
3203     #define glIsQueryARB GLEW_GET_FUN(__glewIsQueryARB)
3204    
3205     #define GLEW_ARB_occlusion_query GLEW_GET_VAR(__GLEW_ARB_occlusion_query)
3206    
3207     #endif /* GL_ARB_occlusion_query */
3208    
3209     /* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */
3210    
3211     #ifndef GL_ARB_pixel_buffer_object
3212     #define GL_ARB_pixel_buffer_object 1
3213    
3214     #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
3215     #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
3216     #define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
3217     #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
3218    
3219     #define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object)
3220    
3221     #endif /* GL_ARB_pixel_buffer_object */
3222    
3223     /* ------------------------ GL_ARB_point_parameters ------------------------ */
3224    
3225     #ifndef GL_ARB_point_parameters
3226     #define GL_ARB_point_parameters 1
3227    
3228     #define GL_POINT_SIZE_MIN_ARB 0x8126
3229     #define GL_POINT_SIZE_MAX_ARB 0x8127
3230     #define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
3231     #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
3232    
3233     typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
3234     typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, GLfloat* params);
3235    
3236     #define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB)
3237     #define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB)
3238    
3239     #define GLEW_ARB_point_parameters GLEW_GET_VAR(__GLEW_ARB_point_parameters)
3240    
3241     #endif /* GL_ARB_point_parameters */
3242    
3243     /* -------------------------- GL_ARB_point_sprite -------------------------- */
3244    
3245     #ifndef GL_ARB_point_sprite
3246     #define GL_ARB_point_sprite 1
3247    
3248     #define GL_POINT_SPRITE_ARB 0x8861
3249     #define GL_COORD_REPLACE_ARB 0x8862
3250    
3251     #define GLEW_ARB_point_sprite GLEW_GET_VAR(__GLEW_ARB_point_sprite)
3252    
3253     #endif /* GL_ARB_point_sprite */
3254    
3255     /* ------------------------- GL_ARB_shader_objects ------------------------- */
3256    
3257     #ifndef GL_ARB_shader_objects
3258     #define GL_ARB_shader_objects 1
3259    
3260     #define GL_PROGRAM_OBJECT_ARB 0x8B40
3261     #define GL_SHADER_OBJECT_ARB 0x8B48
3262     #define GL_OBJECT_TYPE_ARB 0x8B4E
3263     #define GL_OBJECT_SUBTYPE_ARB 0x8B4F
3264     #define GL_FLOAT_VEC2_ARB 0x8B50
3265     #define GL_FLOAT_VEC3_ARB 0x8B51
3266     #define GL_FLOAT_VEC4_ARB 0x8B52
3267     #define GL_INT_VEC2_ARB 0x8B53
3268     #define GL_INT_VEC3_ARB 0x8B54
3269     #define GL_INT_VEC4_ARB 0x8B55
3270     #define GL_BOOL_ARB 0x8B56
3271     #define GL_BOOL_VEC2_ARB 0x8B57
3272     #define GL_BOOL_VEC3_ARB 0x8B58
3273     #define GL_BOOL_VEC4_ARB 0x8B59
3274     #define GL_FLOAT_MAT2_ARB 0x8B5A
3275     #define GL_FLOAT_MAT3_ARB 0x8B5B
3276     #define GL_FLOAT_MAT4_ARB 0x8B5C
3277     #define GL_SAMPLER_1D_ARB 0x8B5D
3278     #define GL_SAMPLER_2D_ARB 0x8B5E
3279     #define GL_SAMPLER_3D_ARB 0x8B5F
3280     #define GL_SAMPLER_CUBE_ARB 0x8B60
3281     #define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
3282     #define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
3283     #define GL_SAMPLER_2D_RECT_ARB 0x8B63
3284     #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
3285     #define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
3286     #define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
3287     #define GL_OBJECT_LINK_STATUS_ARB 0x8B82
3288     #define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
3289     #define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
3290     #define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
3291     #define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
3292     #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
3293     #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
3294    
3295     typedef char GLcharARB;
3296     typedef unsigned int GLhandleARB;
3297    
3298     typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
3299     typedef void (GLAPIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
3300     typedef GLhandleARB (GLAPIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
3301     typedef GLhandleARB (GLAPIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
3302     typedef void (GLAPIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
3303     typedef void (GLAPIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
3304     typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name);
3305     typedef void (GLAPIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB *obj);
3306     typedef GLhandleARB (GLAPIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname);
3307     typedef void (GLAPIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *infoLog);
3308     typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat* params);
3309     typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint* params);
3310     typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *source);
3311     typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name);
3312     typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat* params);
3313     typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint* params);
3314     typedef void (GLAPIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
3315     typedef void (GLAPIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint *length);
3316     typedef void (GLAPIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
3317     typedef void (GLAPIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
3318     typedef void (GLAPIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
3319     typedef void (GLAPIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint* value);
3320     typedef void (GLAPIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
3321     typedef void (GLAPIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
3322     typedef void (GLAPIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
3323     typedef void (GLAPIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint* value);
3324     typedef void (GLAPIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
3325     typedef void (GLAPIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
3326     typedef void (GLAPIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
3327     typedef void (GLAPIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint* value);
3328     typedef void (GLAPIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
3329     typedef void (GLAPIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
3330     typedef void (GLAPIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
3331     typedef void (GLAPIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint* value);
3332     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
3333     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
3334     typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
3335     typedef void (GLAPIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
3336     typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
3337    
3338     #define glAttachObjectARB GLEW_GET_FUN(__glewAttachObjectARB)
3339     #define glCompileShaderARB GLEW_GET_FUN(__glewCompileShaderARB)
3340     #define glCreateProgramObjectARB GLEW_GET_FUN(__glewCreateProgramObjectARB)
3341     #define glCreateShaderObjectARB GLEW_GET_FUN(__glewCreateShaderObjectARB)
3342     #define glDeleteObjectARB GLEW_GET_FUN(__glewDeleteObjectARB)
3343     #define glDetachObjectARB GLEW_GET_FUN(__glewDetachObjectARB)
3344     #define glGetActiveUniformARB GLEW_GET_FUN(__glewGetActiveUniformARB)
3345     #define glGetAttachedObjectsARB GLEW_GET_FUN(__glewGetAttachedObjectsARB)
3346     #define glGetHandleARB GLEW_GET_FUN(__glewGetHandleARB)
3347     #define glGetInfoLogARB GLEW_GET_FUN(__glewGetInfoLogARB)
3348     #define glGetObjectParameterfvARB GLEW_GET_FUN(__glewGetObjectParameterfvARB)
3349     #define glGetObjectParameterivARB GLEW_GET_FUN(__glewGetObjectParameterivARB)
3350     #define glGetShaderSourceARB GLEW_GET_FUN(__glewGetShaderSourceARB)
3351     #define glGetUniformLocationARB GLEW_GET_FUN(__glewGetUniformLocationARB)
3352     #define glGetUniformfvARB GLEW_GET_FUN(__glewGetUniformfvARB)
3353     #define glGetUniformivARB GLEW_GET_FUN(__glewGetUniformivARB)
3354     #define glLinkProgramARB GLEW_GET_FUN(__glewLinkProgramARB)
3355     #define glShaderSourceARB GLEW_GET_FUN(__glewShaderSourceARB)
3356     #define glUniform1fARB GLEW_GET_FUN(__glewUniform1fARB)
3357     #define glUniform1fvARB GLEW_GET_FUN(__glewUniform1fvARB)
3358     #define glUniform1iARB GLEW_GET_FUN(__glewUniform1iARB)
3359     #define glUniform1ivARB GLEW_GET_FUN(__glewUniform1ivARB)
3360     #define glUniform2fARB GLEW_GET_FUN(__glewUniform2fARB)
3361     #define glUniform2fvARB GLEW_GET_FUN(__glewUniform2fvARB)
3362     #define glUniform2iARB GLEW_GET_FUN(__glewUniform2iARB)
3363     #define glUniform2ivARB GLEW_GET_FUN(__glewUniform2ivARB)
3364     #define glUniform3fARB GLEW_GET_FUN(__glewUniform3fARB)
3365     #define glUniform3fvARB GLEW_GET_FUN(__glewUniform3fvARB)
3366     #define glUniform3iARB GLEW_GET_FUN(__glewUniform3iARB)
3367     #define glUniform3ivARB GLEW_GET_FUN(__glewUniform3ivARB)
3368     #define glUniform4fARB GLEW_GET_FUN(__glewUniform4fARB)
3369     #define glUniform4fvARB GLEW_GET_FUN(__glewUniform4fvARB)
3370     #define glUniform4iARB GLEW_GET_FUN(__glewUniform4iARB)
3371     #define glUniform4ivARB GLEW_GET_FUN(__glewUniform4ivARB)
3372     #define glUniformMatrix2fvARB GLEW_GET_FUN(__glewUniformMatrix2fvARB)
3373     #define glUniformMatrix3fvARB GLEW_GET_FUN(__glewUniformMatrix3fvARB)
3374     #define glUniformMatrix4fvARB GLEW_GET_FUN(__glewUniformMatrix4fvARB)
3375     #define glUseProgramObjectARB GLEW_GET_FUN(__glewUseProgramObjectARB)
3376     #define glValidateProgramARB GLEW_GET_FUN(__glewValidateProgramARB)
3377    
3378     #define GLEW_ARB_shader_objects GLEW_GET_VAR(__GLEW_ARB_shader_objects)
3379    
3380     #endif /* GL_ARB_shader_objects */
3381    
3382     /* ---------------------- GL_ARB_shading_language_100 ---------------------- */
3383    
3384     #ifndef GL_ARB_shading_language_100
3385     #define GL_ARB_shading_language_100 1
3386    
3387     #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
3388    
3389     #define GLEW_ARB_shading_language_100 GLEW_GET_VAR(__GLEW_ARB_shading_language_100)
3390    
3391     #endif /* GL_ARB_shading_language_100 */
3392    
3393     /* ----------------------------- GL_ARB_shadow ----------------------------- */
3394    
3395     #ifndef GL_ARB_shadow
3396     #define GL_ARB_shadow 1
3397    
3398     #define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
3399     #define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
3400     #define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
3401    
3402     #define GLEW_ARB_shadow GLEW_GET_VAR(__GLEW_ARB_shadow)
3403    
3404     #endif /* GL_ARB_shadow */
3405    
3406     /* ------------------------- GL_ARB_shadow_ambient ------------------------- */
3407    
3408     #ifndef GL_ARB_shadow_ambient
3409     #define GL_ARB_shadow_ambient 1
3410    
3411     #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
3412    
3413     #define GLEW_ARB_shadow_ambient GLEW_GET_VAR(__GLEW_ARB_shadow_ambient)
3414    
3415     #endif /* GL_ARB_shadow_ambient */
3416    
3417     /* ---------------------- GL_ARB_texture_border_clamp ---------------------- */
3418    
3419     #ifndef GL_ARB_texture_border_clamp
3420     #define GL_ARB_texture_border_clamp 1
3421    
3422     #define GL_CLAMP_TO_BORDER_ARB 0x812D
3423    
3424     #define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(__GLEW_ARB_texture_border_clamp)
3425    
3426     #endif /* GL_ARB_texture_border_clamp */
3427    
3428     /* ---------------------- GL_ARB_texture_buffer_object --------------------- */
3429    
3430     #ifndef GL_ARB_texture_buffer_object
3431     #define GL_ARB_texture_buffer_object 1
3432    
3433     #define GL_TEXTURE_BUFFER_ARB 0x8C2A
3434     #define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
3435     #define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
3436     #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
3437     #define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E
3438    
3439     typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);
3440    
3441     #define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB)
3442    
3443     #define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object)
3444    
3445     #endif /* GL_ARB_texture_buffer_object */
3446    
3447     /* ----------------------- GL_ARB_texture_compression ---------------------- */
3448    
3449     #ifndef GL_ARB_texture_compression
3450     #define GL_ARB_texture_compression 1
3451    
3452     #define GL_COMPRESSED_ALPHA_ARB 0x84E9
3453     #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
3454     #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
3455     #define GL_COMPRESSED_INTENSITY_ARB 0x84EC
3456     #define GL_COMPRESSED_RGB_ARB 0x84ED
3457     #define GL_COMPRESSED_RGBA_ARB 0x84EE
3458     #define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
3459     #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
3460     #define GL_TEXTURE_COMPRESSED_ARB 0x86A1
3461     #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
3462     #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
3463    
3464     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data);
3465     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
3466     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
3467     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data);
3468     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
3469     typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
3470     typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, void* img);
3471    
3472     #define glCompressedTexImage1DARB GLEW_GET_FUN(__glewCompressedTexImage1DARB)
3473     #define glCompressedTexImage2DARB GLEW_GET_FUN(__glewCompressedTexImage2DARB)
3474     #define glCompressedTexImage3DARB GLEW_GET_FUN(__glewCompressedTexImage3DARB)
3475     #define glCompressedTexSubImage1DARB GLEW_GET_FUN(__glewCompressedTexSubImage1DARB)
3476     #define glCompressedTexSubImage2DARB GLEW_GET_FUN(__glewCompressedTexSubImage2DARB)
3477     #define glCompressedTexSubImage3DARB GLEW_GET_FUN(__glewCompressedTexSubImage3DARB)
3478     #define glGetCompressedTexImageARB GLEW_GET_FUN(__glewGetCompressedTexImageARB)
3479    
3480     #define GLEW_ARB_texture_compression GLEW_GET_VAR(__GLEW_ARB_texture_compression)
3481    
3482     #endif /* GL_ARB_texture_compression */
3483    
3484     /* -------------------- GL_ARB_texture_compression_rgtc -------------------- */
3485    
3486     #ifndef GL_ARB_texture_compression_rgtc
3487     #define GL_ARB_texture_compression_rgtc 1
3488    
3489     #define GL_COMPRESSED_RED_RGTC1 0x8DBB
3490     #define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
3491     #define GL_COMPRESSED_RG_RGTC2 0x8DBD
3492     #define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
3493    
3494     #define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc)
3495    
3496     #endif /* GL_ARB_texture_compression_rgtc */
3497    
3498     /* ------------------------ GL_ARB_texture_cube_map ------------------------ */
3499    
3500     #ifndef GL_ARB_texture_cube_map
3501     #define GL_ARB_texture_cube_map 1
3502    
3503     #define GL_NORMAL_MAP_ARB 0x8511
3504     #define GL_REFLECTION_MAP_ARB 0x8512
3505     #define GL_TEXTURE_CUBE_MAP_ARB 0x8513
3506     #define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
3507     #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
3508     #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
3509     #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
3510     #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
3511     #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
3512     #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
3513     #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
3514     #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
3515    
3516     #define GLEW_ARB_texture_cube_map GLEW_GET_VAR(__GLEW_ARB_texture_cube_map)
3517    
3518     #endif /* GL_ARB_texture_cube_map */
3519    
3520     /* ------------------------- GL_ARB_texture_env_add ------------------------ */
3521    
3522     #ifndef GL_ARB_texture_env_add
3523     #define GL_ARB_texture_env_add 1
3524    
3525     #define GLEW_ARB_texture_env_add GLEW_GET_VAR(__GLEW_ARB_texture_env_add)
3526    
3527     #endif /* GL_ARB_texture_env_add */
3528    
3529     /* ----------------------- GL_ARB_texture_env_combine ---------------------- */
3530    
3531     #ifndef GL_ARB_texture_env_combine
3532     #define GL_ARB_texture_env_combine 1
3533    
3534     #define GL_SUBTRACT_ARB 0x84E7
3535     #define GL_COMBINE_ARB 0x8570
3536     #define GL_COMBINE_RGB_ARB 0x8571
3537     #define GL_COMBINE_ALPHA_ARB 0x8572
3538     #define GL_RGB_SCALE_ARB 0x8573
3539     #define GL_ADD_SIGNED_ARB 0x8574
3540     #define GL_INTERPOLATE_ARB 0x8575
3541     #define GL_CONSTANT_ARB 0x8576
3542     #define GL_PRIMARY_COLOR_ARB 0x8577
3543     #define GL_PREVIOUS_ARB 0x8578
3544     #define GL_SOURCE0_RGB_ARB 0x8580
3545     #define GL_SOURCE1_RGB_ARB 0x8581
3546     #define GL_SOURCE2_RGB_ARB 0x8582
3547     #define GL_SOURCE0_ALPHA_ARB 0x8588
3548     #define GL_SOURCE1_ALPHA_ARB 0x8589
3549     #define GL_SOURCE2_ALPHA_ARB 0x858A
3550     #define GL_OPERAND0_RGB_ARB 0x8590
3551     #define GL_OPERAND1_RGB_ARB 0x8591
3552     #define GL_OPERAND2_RGB_ARB 0x8592
3553     #define GL_OPERAND0_ALPHA_ARB 0x8598
3554     #define GL_OPERAND1_ALPHA_ARB 0x8599
3555     #define GL_OPERAND2_ALPHA_ARB 0x859A
3556    
3557     #define GLEW_ARB_texture_env_combine GLEW_GET_VAR(__GLEW_ARB_texture_env_combine)
3558    
3559     #endif /* GL_ARB_texture_env_combine */
3560    
3561     /* ---------------------- GL_ARB_texture_env_crossbar ---------------------- */
3562    
3563     #ifndef GL_ARB_texture_env_crossbar
3564     #define GL_ARB_texture_env_crossbar 1
3565    
3566     #define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(__GLEW_ARB_texture_env_crossbar)
3567    
3568     #endif /* GL_ARB_texture_env_crossbar */
3569    
3570     /* ------------------------ GL_ARB_texture_env_dot3 ------------------------ */
3571    
3572     #ifndef GL_ARB_texture_env_dot3
3573     #define GL_ARB_texture_env_dot3 1
3574    
3575     #define GL_DOT3_RGB_ARB 0x86AE
3576     #define GL_DOT3_RGBA_ARB 0x86AF
3577    
3578     #define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(__GLEW_ARB_texture_env_dot3)
3579    
3580     #endif /* GL_ARB_texture_env_dot3 */
3581    
3582     /* -------------------------- GL_ARB_texture_float ------------------------- */
3583    
3584     #ifndef GL_ARB_texture_float
3585     #define GL_ARB_texture_float 1
3586    
3587     #define GL_RGBA32F_ARB 0x8814
3588     #define GL_RGB32F_ARB 0x8815
3589     #define GL_ALPHA32F_ARB 0x8816
3590     #define GL_INTENSITY32F_ARB 0x8817
3591     #define GL_LUMINANCE32F_ARB 0x8818
3592     #define GL_LUMINANCE_ALPHA32F_ARB 0x8819
3593     #define GL_RGBA16F_ARB 0x881A
3594     #define GL_RGB16F_ARB 0x881B
3595     #define GL_ALPHA16F_ARB 0x881C
3596     #define GL_INTENSITY16F_ARB 0x881D
3597     #define GL_LUMINANCE16F_ARB 0x881E
3598     #define GL_LUMINANCE_ALPHA16F_ARB 0x881F
3599     #define GL_TEXTURE_RED_TYPE_ARB 0x8C10
3600     #define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
3601     #define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
3602     #define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
3603     #define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
3604     #define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
3605     #define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
3606     #define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
3607    
3608     #define GLEW_ARB_texture_float GLEW_GET_VAR(__GLEW_ARB_texture_float)
3609    
3610     #endif /* GL_ARB_texture_float */
3611    
3612     /* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */
3613    
3614     #ifndef GL_ARB_texture_mirrored_repeat
3615     #define GL_ARB_texture_mirrored_repeat 1
3616    
3617     #define GL_MIRRORED_REPEAT_ARB 0x8370
3618    
3619     #define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_ARB_texture_mirrored_repeat)
3620    
3621     #endif /* GL_ARB_texture_mirrored_repeat */
3622    
3623     /* -------------------- GL_ARB_texture_non_power_of_two -------------------- */
3624    
3625     #ifndef GL_ARB_texture_non_power_of_two
3626     #define GL_ARB_texture_non_power_of_two 1
3627    
3628     #define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(__GLEW_ARB_texture_non_power_of_two)
3629    
3630     #endif /* GL_ARB_texture_non_power_of_two */
3631    
3632     /* ------------------------ GL_ARB_texture_rectangle ----------------------- */
3633    
3634     #ifndef GL_ARB_texture_rectangle
3635     #define GL_ARB_texture_rectangle 1
3636    
3637     #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
3638     #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
3639     #define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
3640     #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
3641     #define GL_SAMPLER_2D_RECT_ARB 0x8B63
3642     #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
3643    
3644     #define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle)
3645    
3646     #endif /* GL_ARB_texture_rectangle */
3647    
3648     /* --------------------------- GL_ARB_texture_rg --------------------------- */
3649    
3650     #ifndef GL_ARB_texture_rg
3651     #define GL_ARB_texture_rg 1
3652    
3653     #define GL_RED 0x1903
3654     #define GL_RG 0x8227
3655     #define GL_RG_INTEGER 0x8228
3656     #define GL_R8 0x8229
3657     #define GL_R16 0x822A
3658     #define GL_RG8 0x822B
3659     #define GL_RG16 0x822C
3660     #define GL_R16F 0x822D
3661     #define GL_R32F 0x822E
3662     #define GL_RG16F 0x822F
3663     #define GL_RG32F 0x8230
3664     #define GL_R8I 0x8231
3665     #define GL_R8UI 0x8232
3666     #define GL_R16I 0x8233
3667     #define GL_R16UI 0x8234
3668     #define GL_R32I 0x8235
3669     #define GL_R32UI 0x8236
3670     #define GL_RG8I 0x8237
3671     #define GL_RG8UI 0x8238
3672     #define GL_RG16I 0x8239
3673     #define GL_RG16UI 0x823A
3674     #define GL_RG32I 0x823B
3675     #define GL_RG32UI 0x823C
3676    
3677     #define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg)
3678    
3679     #endif /* GL_ARB_texture_rg */
3680    
3681     /* ------------------------ GL_ARB_transpose_matrix ------------------------ */
3682    
3683     #ifndef GL_ARB_transpose_matrix
3684     #define GL_ARB_transpose_matrix 1
3685    
3686     #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
3687     #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
3688     #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
3689     #define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
3690    
3691     typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]);
3692     typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]);
3693     typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]);
3694     typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]);
3695    
3696     #define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB)
3697     #define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB)
3698     #define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB)
3699     #define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB)
3700    
3701     #define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix)
3702    
3703     #endif /* GL_ARB_transpose_matrix */
3704    
3705     /* ----------------------- GL_ARB_vertex_array_object ---------------------- */
3706    
3707     #ifndef GL_ARB_vertex_array_object
3708     #define GL_ARB_vertex_array_object 1
3709    
3710     #define GL_VERTEX_ARRAY_BINDING 0x85B5
3711    
3712     typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array);
3713     typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays);
3714     typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays);
3715     typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array);
3716    
3717     #define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray)
3718     #define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays)
3719     #define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays)
3720     #define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray)
3721    
3722     #define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object)
3723    
3724