Merge branch 'q3map2help' into 'master'
[xonotic/netradiant.git] / include / igl.h
1 /*
2    Copyright (C) 2001-2006, William Joseph.
3    All Rights Reserved.
4
5    This file is part of GtkRadiant.
6
7    GtkRadiant is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    GtkRadiant is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with GtkRadiant; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20  */
21
22 #if !defined( INCLUDED_IGL_H )
23 #define INCLUDED_IGL_H
24
25 #include "globaldefs.h"
26 #include <cstddef>
27 #include <string.h>
28 #include "generic/constant.h"
29
30 #if GDEF_OS_WINDOWS
31 #define QGL_DLLEXPORT __stdcall
32 #else
33 #define QGL_DLLEXPORT
34 #endif
35
36 typedef unsigned int GLenum;
37 typedef unsigned char GLboolean;
38 typedef unsigned int GLbitfield;
39 typedef signed char GLbyte;
40 typedef short GLshort;
41 typedef int GLint;
42 typedef int GLsizei;
43 typedef unsigned char GLubyte;
44 typedef unsigned short GLushort;
45 typedef unsigned int GLuint;
46 typedef float GLfloat;
47 typedef float GLclampf;
48 typedef double GLdouble;
49 typedef double GLclampd;
50 typedef void GLvoid;
51
52 #if !defined( GL_VERSION_1_1 )
53 #define GL_VERSION_1_1 1
54
55 #define GL_ZERO 0
56 #define GL_ONE 1
57 #define GL_TRUE 1
58 #define GL_FALSE 0
59 #define GL_POINTS 0x0000
60 #define GL_LINES 0x0001
61 #define GL_LINE_LOOP 0x0002
62 #define GL_LINE_STRIP 0x0003
63 #define GL_TRIANGLES 0x0004
64 #define GL_TRIANGLE_STRIP 0x0005
65 #define GL_TRIANGLE_FAN 0x0006
66 #define GL_QUADS 0x0007
67 #define GL_QUAD_STRIP 0x0008
68 #define GL_POLYGON 0x0009
69 #define GL_ACCUM 0x0100
70 #define GL_LOAD 0x0101
71 #define GL_RETURN 0x0102
72 #define GL_MULT 0x0103
73 #define GL_ADD 0x0104
74 #define GL_NEVER 0x0200
75 #define GL_LESS 0x0201
76 #define GL_EQUAL 0x0202
77 #define GL_LEQUAL 0x0203
78 #define GL_GREATER 0x0204
79 #define GL_NOTEQUAL 0x0205
80 #define GL_GEQUAL 0x0206
81 #define GL_ALWAYS 0x0207
82 #define GL_SRC_COLOR 0x0300
83 #define GL_ONE_MINUS_SRC_COLOR 0x0301
84 #define GL_SRC_ALPHA 0x0302
85 #define GL_ONE_MINUS_SRC_ALPHA 0x0303
86 #define GL_DST_ALPHA 0x0304
87 #define GL_ONE_MINUS_DST_ALPHA 0x0305
88 #define GL_DST_COLOR 0x0306
89 #define GL_ONE_MINUS_DST_COLOR 0x0307
90 #define GL_SRC_ALPHA_SATURATE 0x0308
91 #define GL_BYTE 0x1400
92 #define GL_UNSIGNED_BYTE 0x1401
93 #define GL_SHORT 0x1402
94 #define GL_UNSIGNED_SHORT 0x1403
95 #define GL_INT 0x1404
96 #define GL_UNSIGNED_INT 0x1405
97 #define GL_FLOAT 0x1406
98 #define GL_2_BYTES 0x1407
99 #define GL_3_BYTES 0x1408
100 #define GL_4_BYTES 0x1409
101 #define GL_DOUBLE 0x140A
102 #define GL_NONE 0
103 #define GL_FRONT_LEFT 0x0400
104 #define GL_FRONT_RIGHT 0x0401
105 #define GL_BACK_LEFT 0x0402
106 #define GL_BACK_RIGHT 0x0403
107 #define GL_FRONT 0x0404
108 #define GL_BACK 0x0405
109 #define GL_LEFT 0x0406
110 #define GL_RIGHT 0x0407
111 #define GL_FRONT_AND_BACK 0x0408
112 #define GL_AUX0 0x0409
113 #define GL_AUX1 0x040A
114 #define GL_AUX2 0x040B
115 #define GL_AUX3 0x040C
116 #define GL_NO_ERROR 0
117 #define GL_INVALID_ENUM 0x0500
118 #define GL_INVALID_VALUE 0x0501
119 #define GL_INVALID_OPERATION 0x0502
120 #define GL_STACK_OVERFLOW 0x0503
121 #define GL_STACK_UNDERFLOW 0x0504
122 #define GL_OUT_OF_MEMORY 0x0505
123 #define GL_2D 0x0600
124 #define GL_3D 0x0601
125 #define GL_3D_COLOR 0x0602
126 #define GL_3D_COLOR_TEXTURE 0x0603
127 #define GL_4D_COLOR_TEXTURE 0x0604
128 #define GL_PASS_THROUGH_TOKEN 0x0700
129 #define GL_POINT_TOKEN 0x0701
130 #define GL_LINE_TOKEN 0x0702
131 #define GL_POLYGON_TOKEN 0x0703
132 #define GL_BITMAP_TOKEN 0x0704
133 #define GL_DRAW_PIXEL_TOKEN 0x0705
134 #define GL_COPY_PIXEL_TOKEN 0x0706
135 #define GL_LINE_RESET_TOKEN 0x0707
136 #define GL_EXP 0x0800
137 #define GL_EXP2 0x0801
138 #define GL_CW 0x0900
139 #define GL_CCW 0x0901
140 #define GL_COEFF 0x0A00
141 #define GL_ORDER 0x0A01
142 #define GL_DOMAIN 0x0A02
143 #define GL_CURRENT_COLOR 0x0B00
144 #define GL_CURRENT_INDEX 0x0B01
145 #define GL_CURRENT_NORMAL 0x0B02
146 #define GL_CURRENT_TEXTURE_COORDS 0x0B03
147 #define GL_CURRENT_RASTER_COLOR 0x0B04
148 #define GL_CURRENT_RASTER_INDEX 0x0B05
149 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
150 #define GL_CURRENT_RASTER_POSITION 0x0B07
151 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
152 #define GL_CURRENT_RASTER_DISTANCE 0x0B09
153 #define GL_POINT_SMOOTH 0x0B10
154 #define GL_POINT_SIZE 0x0B11
155 #define GL_POINT_SIZE_RANGE 0x0B12
156 #define GL_POINT_SIZE_GRANULARITY 0x0B13
157 #define GL_LINE_SMOOTH 0x0B20
158 #define GL_LINE_WIDTH 0x0B21
159 #define GL_LINE_WIDTH_RANGE 0x0B22
160 #define GL_LINE_WIDTH_GRANULARITY 0x0B23
161 #define GL_LINE_STIPPLE 0x0B24
162 #define GL_LINE_STIPPLE_PATTERN 0x0B25
163 #define GL_LINE_STIPPLE_REPEAT 0x0B26
164 #define GL_LIST_MODE 0x0B30
165 #define GL_MAX_LIST_NESTING 0x0B31
166 #define GL_LIST_BASE 0x0B32
167 #define GL_LIST_INDEX 0x0B33
168 #define GL_POLYGON_MODE 0x0B40
169 #define GL_POLYGON_SMOOTH 0x0B41
170 #define GL_POLYGON_STIPPLE 0x0B42
171 #define GL_EDGE_FLAG 0x0B43
172 #define GL_CULL_FACE 0x0B44
173 #define GL_CULL_FACE_MODE 0x0B45
174 #define GL_FRONT_FACE 0x0B46
175 #define GL_LIGHTING 0x0B50
176 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
177 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
178 #define GL_LIGHT_MODEL_AMBIENT 0x0B53
179 #define GL_SHADE_MODEL 0x0B54
180 #define GL_COLOR_MATERIAL_FACE 0x0B55
181 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56
182 #define GL_COLOR_MATERIAL 0x0B57
183 #define GL_FOG 0x0B60
184 #define GL_FOG_INDEX 0x0B61
185 #define GL_FOG_DENSITY 0x0B62
186 #define GL_FOG_START 0x0B63
187 #define GL_FOG_END 0x0B64
188 #define GL_FOG_MODE 0x0B65
189 #define GL_FOG_COLOR 0x0B66
190 #define GL_DEPTH_RANGE 0x0B70
191 #define GL_DEPTH_TEST 0x0B71
192 #define GL_DEPTH_WRITEMASK 0x0B72
193 #define GL_DEPTH_CLEAR_VALUE 0x0B73
194 #define GL_DEPTH_FUNC 0x0B74
195 #define GL_ACCUM_CLEAR_VALUE 0x0B80
196 #define GL_STENCIL_TEST 0x0B90
197 #define GL_STENCIL_CLEAR_VALUE 0x0B91
198 #define GL_STENCIL_FUNC 0x0B92
199 #define GL_STENCIL_VALUE_MASK 0x0B93
200 #define GL_STENCIL_FAIL 0x0B94
201 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
202 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
203 #define GL_STENCIL_REF 0x0B97
204 #define GL_STENCIL_WRITEMASK 0x0B98
205 #define GL_MATRIX_MODE 0x0BA0
206 #define GL_NORMALIZE 0x0BA1
207 #define GL_VIEWPORT 0x0BA2
208 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3
209 #define GL_PROJECTION_STACK_DEPTH 0x0BA4
210 #define GL_TEXTURE_STACK_DEPTH 0x0BA5
211 #define GL_MODELVIEW_MATRIX 0x0BA6
212 #define GL_PROJECTION_MATRIX 0x0BA7
213 #define GL_TEXTURE_MATRIX 0x0BA8
214 #define GL_ATTRIB_STACK_DEPTH 0x0BB0
215 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
216 #define GL_ALPHA_TEST 0x0BC0
217 #define GL_ALPHA_TEST_FUNC 0x0BC1
218 #define GL_ALPHA_TEST_REF 0x0BC2
219 #define GL_DITHER 0x0BD0
220 #define GL_BLEND_DST 0x0BE0
221 #define GL_BLEND_SRC 0x0BE1
222 #define GL_BLEND 0x0BE2
223 #define GL_LOGIC_OP_MODE 0x0BF0
224 #define GL_INDEX_LOGIC_OP 0x0BF1
225 #define GL_COLOR_LOGIC_OP 0x0BF2
226 #define GL_AUX_BUFFERS 0x0C00
227 #define GL_DRAW_BUFFER 0x0C01
228 #define GL_READ_BUFFER 0x0C02
229 #define GL_SCISSOR_BOX 0x0C10
230 #define GL_SCISSOR_TEST 0x0C11
231 #define GL_INDEX_CLEAR_VALUE 0x0C20
232 #define GL_INDEX_WRITEMASK 0x0C21
233 #define GL_COLOR_CLEAR_VALUE 0x0C22
234 #define GL_COLOR_WRITEMASK 0x0C23
235 #define GL_INDEX_MODE 0x0C30
236 #define GL_RGBA_MODE 0x0C31
237 #define GL_DOUBLEBUFFER 0x0C32
238 #define GL_STEREO 0x0C33
239 #define GL_RENDER_MODE 0x0C40
240 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
241 #define GL_POINT_SMOOTH_HINT 0x0C51
242 #define GL_LINE_SMOOTH_HINT 0x0C52
243 #define GL_POLYGON_SMOOTH_HINT 0x0C53
244 #define GL_FOG_HINT 0x0C54
245 #define GL_TEXTURE_GEN_S 0x0C60
246 #define GL_TEXTURE_GEN_T 0x0C61
247 #define GL_TEXTURE_GEN_R 0x0C62
248 #define GL_TEXTURE_GEN_Q 0x0C63
249 #define GL_PIXEL_MAP_I_TO_I 0x0C70
250 #define GL_PIXEL_MAP_S_TO_S 0x0C71
251 #define GL_PIXEL_MAP_I_TO_R 0x0C72
252 #define GL_PIXEL_MAP_I_TO_G 0x0C73
253 #define GL_PIXEL_MAP_I_TO_B 0x0C74
254 #define GL_PIXEL_MAP_I_TO_A 0x0C75
255 #define GL_PIXEL_MAP_R_TO_R 0x0C76
256 #define GL_PIXEL_MAP_G_TO_G 0x0C77
257 #define GL_PIXEL_MAP_B_TO_B 0x0C78
258 #define GL_PIXEL_MAP_A_TO_A 0x0C79
259 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
260 #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
261 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
262 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
263 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
264 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
265 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
266 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
267 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
268 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
269 #define GL_UNPACK_SWAP_BYTES 0x0CF0
270 #define GL_UNPACK_LSB_FIRST 0x0CF1
271 #define GL_UNPACK_ROW_LENGTH 0x0CF2
272 #define GL_UNPACK_SKIP_ROWS 0x0CF3
273 #define GL_UNPACK_SKIP_PIXELS 0x0CF4
274 #define GL_UNPACK_ALIGNMENT 0x0CF5
275 #define GL_PACK_SWAP_BYTES 0x0D00
276 #define GL_PACK_LSB_FIRST 0x0D01
277 #define GL_PACK_ROW_LENGTH 0x0D02
278 #define GL_PACK_SKIP_ROWS 0x0D03
279 #define GL_PACK_SKIP_PIXELS 0x0D04
280 #define GL_PACK_ALIGNMENT 0x0D05
281 #define GL_MAP_COLOR 0x0D10
282 #define GL_MAP_STENCIL 0x0D11
283 #define GL_INDEX_SHIFT 0x0D12
284 #define GL_INDEX_OFFSET 0x0D13
285 #define GL_RED_SCALE 0x0D14
286 #define GL_RED_BIAS 0x0D15
287 #define GL_ZOOM_X 0x0D16
288 #define GL_ZOOM_Y 0x0D17
289 #define GL_GREEN_SCALE 0x0D18
290 #define GL_GREEN_BIAS 0x0D19
291 #define GL_BLUE_SCALE 0x0D1A
292 #define GL_BLUE_BIAS 0x0D1B
293 #define GL_ALPHA_SCALE 0x0D1C
294 #define GL_ALPHA_BIAS 0x0D1D
295 #define GL_DEPTH_SCALE 0x0D1E
296 #define GL_DEPTH_BIAS 0x0D1F
297 #define GL_MAX_EVAL_ORDER 0x0D30
298 #define GL_MAX_LIGHTS 0x0D31
299 #define GL_MAX_CLIP_PLANES 0x0D32
300 #define GL_MAX_TEXTURE_SIZE 0x0D33
301 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34
302 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
303 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
304 #define GL_MAX_NAME_STACK_DEPTH 0x0D37
305 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
306 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
307 #define GL_MAX_VIEWPORT_DIMS 0x0D3A
308 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
309 #define GL_SUBPIXEL_BITS 0x0D50
310 #define GL_INDEX_BITS 0x0D51
311 #define GL_RED_BITS 0x0D52
312 #define GL_GREEN_BITS 0x0D53
313 #define GL_BLUE_BITS 0x0D54
314 #define GL_ALPHA_BITS 0x0D55
315 #define GL_DEPTH_BITS 0x0D56
316 #define GL_STENCIL_BITS 0x0D57
317 #define GL_ACCUM_RED_BITS 0x0D58
318 #define GL_ACCUM_GREEN_BITS 0x0D59
319 #define GL_ACCUM_BLUE_BITS 0x0D5A
320 #define GL_ACCUM_ALPHA_BITS 0x0D5B
321 #define GL_NAME_STACK_DEPTH 0x0D70
322 #define GL_AUTO_NORMAL 0x0D80
323 #define GL_MAP1_COLOR_4 0x0D90
324 #define GL_MAP1_INDEX 0x0D91
325 #define GL_MAP1_NORMAL 0x0D92
326 #define GL_MAP1_TEXTURE_COORD_1 0x0D93
327 #define GL_MAP1_TEXTURE_COORD_2 0x0D94
328 #define GL_MAP1_TEXTURE_COORD_3 0x0D95
329 #define GL_MAP1_TEXTURE_COORD_4 0x0D96
330 #define GL_MAP1_VERTEX_3 0x0D97
331 #define GL_MAP1_VERTEX_4 0x0D98
332 #define GL_MAP2_COLOR_4 0x0DB0
333 #define GL_MAP2_INDEX 0x0DB1
334 #define GL_MAP2_NORMAL 0x0DB2
335 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3
336 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4
337 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5
338 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6
339 #define GL_MAP2_VERTEX_3 0x0DB7
340 #define GL_MAP2_VERTEX_4 0x0DB8
341 #define GL_MAP1_GRID_DOMAIN 0x0DD0
342 #define GL_MAP1_GRID_SEGMENTS 0x0DD1
343 #define GL_MAP2_GRID_DOMAIN 0x0DD2
344 #define GL_MAP2_GRID_SEGMENTS 0x0DD3
345 #define GL_TEXTURE_1D 0x0DE0
346 #define GL_TEXTURE_2D 0x0DE1
347 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
348 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
349 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
350 #define GL_SELECTION_BUFFER_POINTER 0x0DF3
351 #define GL_SELECTION_BUFFER_SIZE 0x0DF4
352 #define GL_TEXTURE_WIDTH 0x1000
353 #define GL_TEXTURE_HEIGHT 0x1001
354 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
355 #define GL_TEXTURE_BORDER_COLOR 0x1004
356 #define GL_TEXTURE_BORDER 0x1005
357 #define GL_DONT_CARE 0x1100
358 #define GL_FASTEST 0x1101
359 #define GL_NICEST 0x1102
360 #define GL_LIGHT0 0x4000
361 #define GL_LIGHT1 0x4001
362 #define GL_LIGHT2 0x4002
363 #define GL_LIGHT3 0x4003
364 #define GL_LIGHT4 0x4004
365 #define GL_LIGHT5 0x4005
366 #define GL_LIGHT6 0x4006
367 #define GL_LIGHT7 0x4007
368 #define GL_AMBIENT 0x1200
369 #define GL_DIFFUSE 0x1201
370 #define GL_SPECULAR 0x1202
371 #define GL_POSITION 0x1203
372 #define GL_SPOT_DIRECTION 0x1204
373 #define GL_SPOT_EXPONENT 0x1205
374 #define GL_SPOT_CUTOFF 0x1206
375 #define GL_CONSTANT_ATTENUATION 0x1207
376 #define GL_LINEAR_ATTENUATION 0x1208
377 #define GL_QUADRATIC_ATTENUATION 0x1209
378 #define GL_COMPILE 0x1300
379 #define GL_COMPILE_AND_EXECUTE 0x1301
380 #define GL_CLEAR 0x1500
381 #define GL_AND 0x1501
382 #define GL_AND_REVERSE 0x1502
383 #define GL_COPY 0x1503
384 #define GL_AND_INVERTED 0x1504
385 #define GL_NOOP 0x1505
386 #define GL_XOR 0x1506
387 #define GL_OR 0x1507
388 #define GL_NOR 0x1508
389 #define GL_EQUIV 0x1509
390 #define GL_INVERT 0x150A
391 #define GL_OR_REVERSE 0x150B
392 #define GL_COPY_INVERTED 0x150C
393 #define GL_OR_INVERTED 0x150D
394 #define GL_NAND 0x150E
395 #define GL_SET 0x150F
396 #define GL_EMISSION 0x1600
397 #define GL_SHININESS 0x1601
398 #define GL_AMBIENT_AND_DIFFUSE 0x1602
399 #define GL_COLOR_INDEXES 0x1603
400 #define GL_MODELVIEW 0x1700
401 #define GL_PROJECTION 0x1701
402 #define GL_TEXTURE 0x1702
403 #define GL_COLOR 0x1800
404 #define GL_DEPTH 0x1801
405 #define GL_STENCIL 0x1802
406 #define GL_COLOR_INDEX 0x1900
407 #define GL_STENCIL_INDEX 0x1901
408 #define GL_DEPTH_COMPONENT 0x1902
409 #define GL_RED 0x1903
410 #define GL_GREEN 0x1904
411 #define GL_BLUE 0x1905
412 #define GL_ALPHA 0x1906
413 #define GL_RGB 0x1907
414 #define GL_RGBA 0x1908
415 #define GL_LUMINANCE 0x1909
416 #define GL_LUMINANCE_ALPHA 0x190A
417 #define GL_BITMAP 0x1A00
418 #define GL_POINT 0x1B00
419 #define GL_LINE 0x1B01
420 #define GL_FILL 0x1B02
421 #define GL_RENDER 0x1C00
422 #define GL_FEEDBACK 0x1C01
423 #define GL_SELECT 0x1C02
424 #define GL_FLAT 0x1D00
425 #define GL_SMOOTH 0x1D01
426 #define GL_KEEP 0x1E00
427 #define GL_REPLACE 0x1E01
428 #define GL_INCR 0x1E02
429 #define GL_DECR 0x1E03
430 #define GL_VENDOR 0x1F00
431 #define GL_RENDERER 0x1F01
432 #define GL_VERSION 0x1F02
433 #define GL_EXTENSIONS 0x1F03
434 #define GL_S 0x2000
435 #define GL_T 0x2001
436 #define GL_R 0x2002
437 #define GL_Q 0x2003
438 #define GL_MODULATE 0x2100
439 #define GL_DECAL 0x2101
440 #define GL_TEXTURE_ENV_MODE 0x2200
441 #define GL_TEXTURE_ENV_COLOR 0x2201
442 #define GL_TEXTURE_ENV 0x2300
443 #define GL_EYE_LINEAR 0x2400
444 #define GL_OBJECT_LINEAR 0x2401
445 #define GL_SPHERE_MAP 0x2402
446 #define GL_TEXTURE_GEN_MODE 0x2500
447 #define GL_OBJECT_PLANE 0x2501
448 #define GL_EYE_PLANE 0x2502
449 #define GL_NEAREST 0x2600
450 #define GL_LINEAR 0x2601
451 #define GL_NEAREST_MIPMAP_NEAREST 0x2700
452 #define GL_LINEAR_MIPMAP_NEAREST 0x2701
453 #define GL_NEAREST_MIPMAP_LINEAR 0x2702
454 #define GL_LINEAR_MIPMAP_LINEAR 0x2703
455 #define GL_TEXTURE_MAG_FILTER 0x2800
456 #define GL_TEXTURE_MIN_FILTER 0x2801
457 #define GL_TEXTURE_WRAP_S 0x2802
458 #define GL_TEXTURE_WRAP_T 0x2803
459 #define GL_CLAMP 0x2900
460 #define GL_REPEAT 0x2901
461 #define GL_CLIP_PLANE0 0x3000
462 #define GL_CLIP_PLANE1 0x3001
463 #define GL_CLIP_PLANE2 0x3002
464 #define GL_CLIP_PLANE3 0x3003
465 #define GL_CLIP_PLANE4 0x3004
466 #define GL_CLIP_PLANE5 0x3005
467 #define GL_CURRENT_BIT 0x00000001
468 #define GL_POINT_BIT 0x00000002
469 #define GL_LINE_BIT 0x00000004
470 #define GL_POLYGON_BIT 0x00000008
471 #define GL_POLYGON_STIPPLE_BIT 0x00000010
472 #define GL_PIXEL_MODE_BIT 0x00000020
473 #define GL_LIGHTING_BIT 0x00000040
474 #define GL_FOG_BIT 0x00000080
475 #define GL_DEPTH_BUFFER_BIT 0x00000100
476 #define GL_ACCUM_BUFFER_BIT 0x00000200
477 #define GL_STENCIL_BUFFER_BIT 0x00000400
478 #define GL_VIEWPORT_BIT 0x00000800
479 #define GL_TRANSFORM_BIT 0x00001000
480 #define GL_ENABLE_BIT 0x00002000
481 #define GL_COLOR_BUFFER_BIT 0x00004000
482 #define GL_HINT_BIT 0x00008000
483 #define GL_EVAL_BIT 0x00010000
484 #define GL_LIST_BIT 0x00020000
485 #define GL_TEXTURE_BIT 0x00040000
486 #define GL_SCISSOR_BIT 0x00080000
487 #define GL_ALL_ATTRIB_BITS 0x000fffff
488 #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
489 #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
490 #define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff
491 #define GL_POLYGON_OFFSET_UNITS 0x2A00
492 #define GL_POLYGON_OFFSET_POINT 0x2A01
493 #define GL_POLYGON_OFFSET_LINE 0x2A02
494 #define GL_POLYGON_OFFSET_FILL 0x8037
495 #define GL_POLYGON_OFFSET_FACTOR 0x8038
496 #define GL_ALPHA4 0x803B
497 #define GL_ALPHA8 0x803C
498 #define GL_ALPHA12 0x803D
499 #define GL_ALPHA16 0x803E
500 #define GL_LUMINANCE4 0x803F
501 #define GL_LUMINANCE8 0x8040
502 #define GL_LUMINANCE12 0x8041
503 #define GL_LUMINANCE16 0x8042
504 #define GL_LUMINANCE4_ALPHA4 0x8043
505 #define GL_LUMINANCE6_ALPHA2 0x8044
506 #define GL_LUMINANCE8_ALPHA8 0x8045
507 #define GL_LUMINANCE12_ALPHA4 0x8046
508 #define GL_LUMINANCE12_ALPHA12 0x8047
509 #define GL_LUMINANCE16_ALPHA16 0x8048
510 #define GL_INTENSITY 0x8049
511 #define GL_INTENSITY4 0x804A
512 #define GL_INTENSITY8 0x804B
513 #define GL_INTENSITY12 0x804C
514 #define GL_INTENSITY16 0x804D
515 #define GL_R3_G3_B2 0x2A10
516 #define GL_RGB4 0x804F
517 #define GL_RGB5 0x8050
518 #define GL_RGB8 0x8051
519 #define GL_RGB10 0x8052
520 #define GL_RGB12 0x8053
521 #define GL_RGB16 0x8054
522 #define GL_RGBA2 0x8055
523 #define GL_RGBA4 0x8056
524 #define GL_RGB5_A1 0x8057
525 #define GL_RGBA8 0x8058
526 #define GL_RGB10_A2 0x8059
527 #define GL_RGBA12 0x805A
528 #define GL_RGBA16 0x805B
529 #define GL_TEXTURE_RED_SIZE 0x805C
530 #define GL_TEXTURE_GREEN_SIZE 0x805D
531 #define GL_TEXTURE_BLUE_SIZE 0x805E
532 #define GL_TEXTURE_ALPHA_SIZE 0x805F
533 #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
534 #define GL_TEXTURE_INTENSITY_SIZE 0x8061
535 #define GL_PROXY_TEXTURE_1D 0x8063
536 #define GL_PROXY_TEXTURE_2D 0x8064
537 #define GL_TEXTURE_PRIORITY 0x8066
538 #define GL_TEXTURE_RESIDENT 0x8067
539 #define GL_TEXTURE_BINDING_1D 0x8068
540 #define GL_TEXTURE_BINDING_2D 0x8069
541 #define GL_VERTEX_ARRAY 0x8074
542 #define GL_NORMAL_ARRAY 0x8075
543 #define GL_COLOR_ARRAY 0x8076
544 #define GL_INDEX_ARRAY 0x8077
545 #define GL_TEXTURE_COORD_ARRAY 0x8078
546 #define GL_EDGE_FLAG_ARRAY 0x8079
547 #define GL_VERTEX_ARRAY_SIZE 0x807A
548 #define GL_VERTEX_ARRAY_TYPE 0x807B
549 #define GL_VERTEX_ARRAY_STRIDE 0x807C
550 #define GL_NORMAL_ARRAY_TYPE 0x807E
551 #define GL_NORMAL_ARRAY_STRIDE 0x807F
552 #define GL_COLOR_ARRAY_SIZE 0x8081
553 #define GL_COLOR_ARRAY_TYPE 0x8082
554 #define GL_COLOR_ARRAY_STRIDE 0x8083
555 #define GL_INDEX_ARRAY_TYPE 0x8085
556 #define GL_INDEX_ARRAY_STRIDE 0x8086
557 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
558 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
559 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
560 #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
561 #define GL_VERTEX_ARRAY_POINTER 0x808E
562 #define GL_NORMAL_ARRAY_POINTER 0x808F
563 #define GL_COLOR_ARRAY_POINTER 0x8090
564 #define GL_INDEX_ARRAY_POINTER 0x8091
565 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
566 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
567 #define GL_V2F 0x2A20
568 #define GL_V3F 0x2A21
569 #define GL_C4UB_V2F 0x2A22
570 #define GL_C4UB_V3F 0x2A23
571 #define GL_C3F_V3F 0x2A24
572 #define GL_N3F_V3F 0x2A25
573 #define GL_C4F_N3F_V3F 0x2A26
574 #define GL_T2F_V3F 0x2A27
575 #define GL_T4F_V4F 0x2A28
576 #define GL_T2F_C4UB_V3F 0x2A29
577 #define GL_T2F_C3F_V3F 0x2A2A
578 #define GL_T2F_N3F_V3F 0x2A2B
579 #define GL_T2F_C4F_N3F_V3F 0x2A2C
580 #define GL_T4F_C4F_N3F_V4F 0x2A2D
581
582 #define glAccum GlobalOpenGL().m_glAccum
583 #define glAlphaFunc GlobalOpenGL().m_glAlphaFunc
584 #define glAreTexturesResident GlobalOpenGL().m_glAreTexturesResident
585 #define glArrayElement GlobalOpenGL().m_glArrayElement
586 #define glBegin GlobalOpenGL().m_glBegin
587 #define glBindTexture GlobalOpenGL().m_glBindTexture
588 #define glBitmap GlobalOpenGL().m_glBitmap
589 #define glBlendFunc GlobalOpenGL().m_glBlendFunc
590 #define glCallList GlobalOpenGL().m_glCallList
591 #define glCallLists GlobalOpenGL().m_glCallLists
592 #define glClear GlobalOpenGL().m_glClear
593 #define glClearAccum GlobalOpenGL().m_glClearAccum
594 #define glClearColor GlobalOpenGL().m_glClearColor
595 #define glClearDepth GlobalOpenGL().m_glClearDepth
596 #define glClearIndex GlobalOpenGL().m_glClearIndex
597 #define glClearStencil GlobalOpenGL().m_glClearStencil
598 #define glClipPlane GlobalOpenGL().m_glClipPlane
599 #define glColor3b GlobalOpenGL().m_glColor3b
600 #define glColor3bv GlobalOpenGL().m_glColor3bv
601 #define glColor3d GlobalOpenGL().m_glColor3d
602 #define glColor3dv GlobalOpenGL().m_glColor3dv
603 #define glColor3f GlobalOpenGL().m_glColor3f
604 #define glColor3fv GlobalOpenGL().m_glColor3fv
605 #define glColor3i GlobalOpenGL().m_glColor3i
606 #define glColor3iv GlobalOpenGL().m_glColor3iv
607 #define glColor3s GlobalOpenGL().m_glColor3s
608 #define glColor3sv GlobalOpenGL().m_glColor3sv
609 #define glColor3ub GlobalOpenGL().m_glColor3ub
610 #define glColor3ubv GlobalOpenGL().m_glColor3ubv
611 #define glColor3ui GlobalOpenGL().m_glColor3ui
612 #define glColor3uiv GlobalOpenGL().m_glColor3uiv
613 #define glColor3us GlobalOpenGL().m_glColor3us
614 #define glColor3usv GlobalOpenGL().m_glColor3usv
615 #define glColor4b GlobalOpenGL().m_glColor4b
616 #define glColor4bv GlobalOpenGL().m_glColor4bv
617 #define glColor4d GlobalOpenGL().m_glColor4d
618 #define glColor4dv GlobalOpenGL().m_glColor4dv
619 #define glColor4f GlobalOpenGL().m_glColor4f
620 #define glColor4fv GlobalOpenGL().m_glColor4fv
621 #define glColor4i GlobalOpenGL().m_glColor4i
622 #define glColor4iv GlobalOpenGL().m_glColor4iv
623 #define glColor4s GlobalOpenGL().m_glColor4s
624 #define glColor4sv GlobalOpenGL().m_glColor4sv
625 #define glColor4ub GlobalOpenGL().m_glColor4ub
626 #define glColor4ubv GlobalOpenGL().m_glColor4ubv
627 #define glColor4ui GlobalOpenGL().m_glColor4ui
628 #define glColor4uiv GlobalOpenGL().m_glColor4uiv
629 #define glColor4us GlobalOpenGL().m_glColor4us
630 #define glColor4usv GlobalOpenGL().m_glColor4usv
631 #define glColorMask GlobalOpenGL().m_glColorMask
632 #define glColorMaterial GlobalOpenGL().m_glColorMaterial
633 #define glColorPointer GlobalOpenGL().m_glColorPointer
634 #define glCopyPixels GlobalOpenGL().m_glCopyPixels
635 #define glCopyTexImage1D GlobalOpenGL().m_glCopyTexImage1D
636 #define glCopyTexImage2D GlobalOpenGL().m_glCopyTexImage2D
637 #define glCopyTexSubImage1D GlobalOpenGL().m_glCopyTexSubImage1D
638 #define glCopyTexSubImage2D GlobalOpenGL().m_glCopyTexSubImage2D
639 #define glCullFace GlobalOpenGL().m_glCullFace
640 #define glDeleteLists GlobalOpenGL().m_glDeleteLists
641 #define glDeleteTextures GlobalOpenGL().m_glDeleteTextures
642 #define glDepthFunc GlobalOpenGL().m_glDepthFunc
643 #define glDepthMask GlobalOpenGL().m_glDepthMask
644 #define glDepthRange GlobalOpenGL().m_glDepthRange
645 #define glDisable GlobalOpenGL().m_glDisable
646 #define glDisableClientState GlobalOpenGL().m_glDisableClientState
647 #define glDrawArrays GlobalOpenGL().m_glDrawArrays
648 #define glDrawBuffer GlobalOpenGL().m_glDrawBuffer
649 #define glDrawElements GlobalOpenGL().m_glDrawElements
650 #define glDrawPixels GlobalOpenGL().m_glDrawPixels
651 #define glEdgeFlag GlobalOpenGL().m_glEdgeFlag
652 #define glEdgeFlagPointer GlobalOpenGL().m_glEdgeFlagPointer
653 #define glEdgeFlagv GlobalOpenGL().m_glEdgeFlagv
654 #define glEnable GlobalOpenGL().m_glEnable
655 #define glEnableClientState GlobalOpenGL().m_glEnableClientState
656 #define glEnd GlobalOpenGL().m_glEnd
657 #define glEndList GlobalOpenGL().m_glEndList
658 #define glEvalCoord1d GlobalOpenGL().m_glEvalCoord1d
659 #define glEvalCoord1dv GlobalOpenGL().m_glEvalCoord1dv
660 #define glEvalCoord1f GlobalOpenGL().m_glEvalCoord1f
661 #define glEvalCoord1fv GlobalOpenGL().m_glEvalCoord1fv
662 #define glEvalCoord2d GlobalOpenGL().m_glEvalCoord2d
663 #define glEvalCoord2dv GlobalOpenGL().m_glEvalCoord2dv
664 #define glEvalCoord2f GlobalOpenGL().m_glEvalCoord2f
665 #define glEvalCoord2fv GlobalOpenGL().m_glEvalCoord2fv
666 #define glEvalMesh1 GlobalOpenGL().m_glEvalMesh1
667 #define glEvalMesh2 GlobalOpenGL().m_glEvalMesh2
668 #define glEvalPoint1 GlobalOpenGL().m_glEvalPoint1
669 #define glEvalPoint2 GlobalOpenGL().m_glEvalPoint2
670 #define glFeedbackBuffer GlobalOpenGL().m_glFeedbackBuffer
671 #define glFinish GlobalOpenGL().m_glFinish
672 #define glFlush GlobalOpenGL().m_glFlush
673 #define glFogf GlobalOpenGL().m_glFogf
674 #define glFogfv GlobalOpenGL().m_glFogfv
675 #define glFogi GlobalOpenGL().m_glFogi
676 #define glFogiv GlobalOpenGL().m_glFogiv
677 #define glFrontFace GlobalOpenGL().m_glFrontFace
678 #define glFrustum GlobalOpenGL().m_glFrustum
679 #define glGenLists GlobalOpenGL().m_glGenLists
680 #define glGenTextures GlobalOpenGL().m_glGenTextures
681 #define glGetBooleanv GlobalOpenGL().m_glGetBooleanv
682 #define glGetClipPlane GlobalOpenGL().m_glGetClipPlane
683 #define glGetDoublev GlobalOpenGL().m_glGetDoublev
684 #define glGetError GlobalOpenGL().m_glGetError
685 #define glGetFloatv GlobalOpenGL().m_glGetFloatv
686 #define glGetIntegerv GlobalOpenGL().m_glGetIntegerv
687 #define glGetLightfv GlobalOpenGL().m_glGetLightfv
688 #define glGetLightiv GlobalOpenGL().m_glGetLightiv
689 #define glGetMapdv GlobalOpenGL().m_glGetMapdv
690 #define glGetMapfv GlobalOpenGL().m_glGetMapfv
691 #define glGetMapiv GlobalOpenGL().m_glGetMapiv
692 #define glGetMaterialfv GlobalOpenGL().m_glGetMaterialfv
693 #define glGetMaterialiv GlobalOpenGL().m_glGetMaterialiv
694 #define glGetPixelMapfv GlobalOpenGL().m_glGetPixelMapfv
695 #define glGetPixelMapuiv GlobalOpenGL().m_glGetPixelMapuiv
696 #define glGetPixelMapusv GlobalOpenGL().m_glGetPixelMapusv
697 #define glGetPointerv GlobalOpenGL().m_glGetPointerv
698 #define glGetPolygonStipple GlobalOpenGL().m_glGetPolygonStipple
699 #define glGetString GlobalOpenGL().m_glGetString
700 #define glGetTexEnvfv GlobalOpenGL().m_glGetTexEnvfv
701 #define glGetTexEnviv GlobalOpenGL().m_glGetTexEnviv
702 #define glGetTexGendv GlobalOpenGL().m_glGetTexGendv
703 #define glGetTexGenfv GlobalOpenGL().m_glGetTexGenfv
704 #define glGetTexGeniv GlobalOpenGL().m_glGetTexGeniv
705 #define glGetTexImage GlobalOpenGL().m_glGetTexImage
706 #define glGetTexLevelParameterfv GlobalOpenGL().m_glGetTexLevelParameter
707 #define glGetTexLevelParameteriv GlobalOpenGL().m_glGetTexLevelParameteriv
708 #define glGetTexParameterfv GlobalOpenGL().m_glGetTexParameterfv
709 #define glGetTexParameteriv GlobalOpenGL().m_glGetTexParameteriv
710 #define glHint GlobalOpenGL().m_glHint
711 #define glIndexMask GlobalOpenGL().m_glIndexMask
712 #define glIndexPointer GlobalOpenGL().m_glIndexPointer
713 #define glIndexd GlobalOpenGL().m_glIndexd
714 #define glIndexdv GlobalOpenGL().m_glIndexdv
715 #define glIndexf GlobalOpenGL().m_glIndexf
716 #define glIndexfv GlobalOpenGL().m_glIndexfv
717 #define glIndexi GlobalOpenGL().m_glIndexi
718 #define glIndexiv GlobalOpenGL().m_glIndexiv
719 #define glIndexs GlobalOpenGL().m_glIndexs
720 #define glIndexsv GlobalOpenGL().m_glIndexsv
721 #define glIndexub GlobalOpenGL().m_glIndexub
722 #define glIndexubv GlobalOpenGL().m_glIndexubv
723 #define glInitNames GlobalOpenGL().m_glInitNames
724 #define glInterleavedArrays GlobalOpenGL().m_glInterleavedArrays
725 #define glIsEnabled GlobalOpenGL().m_glIsEnabled
726 #define glIsList GlobalOpenGL().m_glIsList
727 #define glIsTexture GlobalOpenGL().m_glIsTexture
728 #define glLightModelf GlobalOpenGL().m_glLightModelf
729 #define glLightModelfv GlobalOpenGL().m_glLightModelfv
730 #define glLightModeli GlobalOpenGL().m_glLightModeli
731 #define glLightModeliv GlobalOpenGL().m_glLightModeliv
732 #define glLightf GlobalOpenGL().m_glLightf
733 #define glLightfv GlobalOpenGL().m_glLightfv
734 #define glLighti GlobalOpenGL().m_glLighti
735 #define glLightiv GlobalOpenGL().m_glLightiv
736 #define glLineStipple GlobalOpenGL().m_glLineStipple
737 #define glLineWidth GlobalOpenGL().m_glLineWidth
738 #define glListBase GlobalOpenGL().m_glListBase
739 #define glLoadIdentity GlobalOpenGL().m_glLoadIdentity
740 #define glLoadMatrixd GlobalOpenGL().m_glLoadMatrixd
741 #define glLoadMatrixf GlobalOpenGL().m_glLoadMatrixf
742 #define glLoadName GlobalOpenGL().m_glLoadName
743 #define glLogicOp GlobalOpenGL().m_glLogicOp
744 #define glMap1d GlobalOpenGL().m_glMap1d
745 #define glMap1f GlobalOpenGL().m_glMap1f
746 #define glMap2d GlobalOpenGL().m_glMap2d
747 #define glMap2f GlobalOpenGL().m_glMap2f
748 #define glMapGrid1d GlobalOpenGL().m_glMapGrid1d
749 #define glMapGrid1f GlobalOpenGL().m_glMapGrid1f
750 #define glMapGrid2d GlobalOpenGL().m_glMapGrid2d
751 #define glMapGrid2f GlobalOpenGL().m_glMapGrid2f
752 #define glMaterialf GlobalOpenGL().m_glMaterialf
753 #define glMaterialfv GlobalOpenGL().m_glMaterialfv
754 #define glMateriali GlobalOpenGL().m_glMateriali
755 #define glMaterialiv GlobalOpenGL().m_glMaterialiv
756 #define glMatrixMode GlobalOpenGL().m_glMatrixMode
757 #define glMultMatrixd GlobalOpenGL().m_glMultMatrixd
758 #define glMultMatrixf GlobalOpenGL().m_glMultMatrixf
759 #define glNewList GlobalOpenGL().m_glNewList
760 #define glNormal3b GlobalOpenGL().m_glNormal3b
761 #define glNormal3bv GlobalOpenGL().m_glNormal3bv
762 #define glNormal3d GlobalOpenGL().m_glNormal3d
763 #define glNormal3dv GlobalOpenGL().m_glNormal3dv
764 #define glNormal3f GlobalOpenGL().m_glNormal3f
765 #define glNormal3fv GlobalOpenGL().m_glNormal3fv
766 #define glNormal3i GlobalOpenGL().m_glNormal3i
767 #define glNormal3iv GlobalOpenGL().m_glNormal3iv
768 #define glNormal3s GlobalOpenGL().m_glNormal3s
769 #define glNormal3sv GlobalOpenGL().m_glNormal3sv
770 #define glNormalPointer GlobalOpenGL().m_glNormalPointer
771 #define glOrtho GlobalOpenGL().m_glOrtho
772 #define glPassThrough GlobalOpenGL().m_glPassThrough
773 #define glPixelMapfv GlobalOpenGL().m_glPixelMapfv
774 #define glPixelMapuiv GlobalOpenGL().m_glPixelMapuiv
775 #define glPixelMapusv GlobalOpenGL().m_glPixelMapusv
776 #define glPixelStoref GlobalOpenGL().m_glPixelStoref
777 #define glPixelStorei GlobalOpenGL().m_glPixelStorei
778 #define glPixelTransferf GlobalOpenGL().m_glPixelTransferf
779 #define glPixelTransferi GlobalOpenGL().m_glPixelTransferi
780 #define glPixelZoom GlobalOpenGL().m_glPixelZoom
781 #define glPointSize GlobalOpenGL().m_glPointSize
782 #define glPolygonMode GlobalOpenGL().m_glPolygonMode
783 #define glPolygonOffset GlobalOpenGL().m_glPolygonOffset
784 #define glPolygonStipple GlobalOpenGL().m_glPolygonStipple
785 #define glPopAttrib GlobalOpenGL().m_glPopAttrib
786 #define glPopClientAttrib GlobalOpenGL().m_glPopClientAttrib
787 #define glPopMatrix GlobalOpenGL().m_glPopMatrix
788 #define glPopName GlobalOpenGL().m_glPopName
789 #define glPrioritizeTextures GlobalOpenGL().m_glPrioritizeTextures
790 #define glPushAttrib GlobalOpenGL().m_glPushAttrib
791 #define glPushClientAttrib GlobalOpenGL().m_glPushClientAttrib
792 #define glPushMatrix GlobalOpenGL().m_glPushMatrix
793 #define glPushName GlobalOpenGL().m_glPushName
794 #define glRasterPos2d GlobalOpenGL().m_glRasterPos2d
795 #define glRasterPos2dv GlobalOpenGL().m_glRasterPos2dv
796 #define glRasterPos2f GlobalOpenGL().m_glRasterPos2f
797 #define glRasterPos2fv GlobalOpenGL().m_glRasterPos2fv
798 #define glRasterPos2i GlobalOpenGL().m_glRasterPos2i
799 #define glRasterPos2iv GlobalOpenGL().m_glRasterPos2iv
800 #define glRasterPos2s GlobalOpenGL().m_glRasterPos2s
801 #define glRasterPos2sv GlobalOpenGL().m_glRasterPos2sv
802 #define glRasterPos3d GlobalOpenGL().m_glRasterPos3d
803 #define glRasterPos3dv GlobalOpenGL().m_glRasterPos3dv
804 #define glRasterPos3f GlobalOpenGL().m_glRasterPos3f
805 #define glRasterPos3fv GlobalOpenGL().m_glRasterPos3fv
806 #define glRasterPos3i GlobalOpenGL().m_glRasterPos3i
807 #define glRasterPos3iv GlobalOpenGL().m_glRasterPos3iv
808 #define glRasterPos3s GlobalOpenGL().m_glRasterPos3s
809 #define glRasterPos3sv GlobalOpenGL().m_glRasterPos3sv
810 #define glRasterPos4d GlobalOpenGL().m_glRasterPos4d
811 #define glRasterPos4dv GlobalOpenGL().m_glRasterPos4dv
812 #define glRasterPos4f GlobalOpenGL().m_glRasterPos4f
813 #define glRasterPos4fv GlobalOpenGL().m_glRasterPos4fv
814 #define glRasterPos4i GlobalOpenGL().m_glRasterPos4i
815 #define glRasterPos4iv GlobalOpenGL().m_glRasterPos4iv
816 #define glRasterPos4s GlobalOpenGL().m_glRasterPos4s
817 #define glRasterPos4sv GlobalOpenGL().m_glRasterPos4sv
818 #define glReadBuffer GlobalOpenGL().m_glReadBuffer
819 #define glReadPixels GlobalOpenGL().m_glReadPixels
820 #define glRectd GlobalOpenGL().m_glRectd
821 #define glRectdv GlobalOpenGL().m_glRectdv
822 #define glRectf GlobalOpenGL().m_glRectf
823 #define glRectfv GlobalOpenGL().m_glRectfv
824 #define glRecti GlobalOpenGL().m_glRecti
825 #define glRectiv GlobalOpenGL().m_glRectiv
826 #define glRects GlobalOpenGL().m_glRects
827 #define glRectsv GlobalOpenGL().m_glRectsv
828 #define glRenderMode GlobalOpenGL().m_glRenderMode
829 #define glRotated GlobalOpenGL().m_glRotated
830 #define glRotatef GlobalOpenGL().m_glRotatef
831 #define glScaled GlobalOpenGL().m_glScaled
832 #define glScalef GlobalOpenGL().m_glScalef
833 #define glScissor GlobalOpenGL().m_glScissor
834 #define glSelectBuffer GlobalOpenGL().m_glSelectBuffer
835 #define glShadeModel GlobalOpenGL().m_glShadeModel
836 #define glStencilFunc GlobalOpenGL().m_glStencilFunc
837 #define glStencilMask GlobalOpenGL().m_glStencilMask
838 #define glStencilOp GlobalOpenGL().m_glStencilOp
839 #define glTexCoord1d GlobalOpenGL().m_glTexCoord1d
840 #define glTexCoord1dv GlobalOpenGL().m_glTexCoord1dv
841 #define glTexCoord1f GlobalOpenGL().m_glTexCoord1f
842 #define glTexCoord1fv GlobalOpenGL().m_glTexCoord1fv
843 #define glTexCoord1i GlobalOpenGL().m_glTexCoord1i
844 #define glTexCoord1iv GlobalOpenGL().m_glTexCoord1iv
845 #define glTexCoord1s GlobalOpenGL().m_glTexCoord1s
846 #define glTexCoord1sv GlobalOpenGL().m_glTexCoord1sv
847 #define glTexCoord2d GlobalOpenGL().m_glTexCoord2d
848 #define glTexCoord2dv GlobalOpenGL().m_glTexCoord2dv
849 #define glTexCoord2f GlobalOpenGL().m_glTexCoord2f
850 #define glTexCoord2fv GlobalOpenGL().m_glTexCoord2fv
851 #define glTexCoord2i GlobalOpenGL().m_glTexCoord2i
852 #define glTexCoord2iv GlobalOpenGL().m_glTexCoord2iv
853 #define glTexCoord2s GlobalOpenGL().m_glTexCoord2s
854 #define glTexCoord2sv GlobalOpenGL().m_glTexCoord2sv
855 #define glTexCoord3d GlobalOpenGL().m_glTexCoord3d
856 #define glTexCoord3dv GlobalOpenGL().m_glTexCoord3dv
857 #define glTexCoord3f GlobalOpenGL().m_glTexCoord3f
858 #define glTexCoord3fv GlobalOpenGL().m_glTexCoord3fv
859 #define glTexCoord3i GlobalOpenGL().m_glTexCoord3i
860 #define glTexCoord3iv GlobalOpenGL().m_glTexCoord3iv
861 #define glTexCoord3s GlobalOpenGL().m_glTexCoord3s
862 #define glTexCoord3sv GlobalOpenGL().m_glTexCoord3sv
863 #define glTexCoord4d GlobalOpenGL().m_glTexCoord4d
864 #define glTexCoord4dv GlobalOpenGL().m_glTexCoord4dv
865 #define glTexCoord4f GlobalOpenGL().m_glTexCoord4f
866 #define glTexCoord4fv GlobalOpenGL().m_glTexCoord4fv
867 #define glTexCoord4i GlobalOpenGL().m_glTexCoord4i
868 #define glTexCoord4iv GlobalOpenGL().m_glTexCoord4iv
869 #define glTexCoord4s GlobalOpenGL().m_glTexCoord4s
870 #define glTexCoord4sv GlobalOpenGL().m_glTexCoord4sv
871 #define glTexCoordPointer GlobalOpenGL().m_glTexCoordPointer
872 #define glTexEnvf GlobalOpenGL().m_glTexEnvf
873 #define glTexEnvfv GlobalOpenGL().m_glTexEnvfv
874 #define glTexEnvi GlobalOpenGL().m_glTexEnvi
875 #define glTexEnviv GlobalOpenGL().m_glTexEnviv
876 #define glTexGend GlobalOpenGL().m_glTexGend
877 #define glTexGendv GlobalOpenGL().m_glTexGendv
878 #define glTexGenf GlobalOpenGL().m_glTexGenf
879 #define glTexGenfv GlobalOpenGL().m_glTexGenfv
880 #define glTexGeni GlobalOpenGL().m_glTexGeni
881 #define glTexGeniv GlobalOpenGL().m_glTexGeniv
882 #define glTexImage1D GlobalOpenGL().m_glTexImage1D
883 #define glTexImage2D GlobalOpenGL().m_glTexImage2D
884 #define glTexParameterf GlobalOpenGL().m_glTexParameterf
885 #define glTexParameterfv GlobalOpenGL().m_glTexParameterfv
886 #define glTexParameteri GlobalOpenGL().m_glTexParameteri
887 #define glTexParameteriv GlobalOpenGL().m_glTexParameteriv
888 #define glTexSubImage1D GlobalOpenGL().m_glTexSubImage1D
889 #define glTexSubImage2D GlobalOpenGL().m_glTexSubImage2D
890 #define glTranslated GlobalOpenGL().m_glTranslated
891 #define glTranslatef GlobalOpenGL().m_glTranslatef
892 #define glVertex2d GlobalOpenGL().m_glVertex2d
893 #define glVertex2dv GlobalOpenGL().m_glVertex2dv
894 #define glVertex2f GlobalOpenGL().m_glVertex2f
895 #define glVertex2fv GlobalOpenGL().m_glVertex2fv
896 #define glVertex2i GlobalOpenGL().m_glVertex2i
897 #define glVertex2iv GlobalOpenGL().m_glVertex2iv
898 #define glVertex2s GlobalOpenGL().m_glVertex2s
899 #define glVertex2sv GlobalOpenGL().m_glVertex2sv
900 #define glVertex3d GlobalOpenGL().m_glVertex3d
901 #define glVertex3dv GlobalOpenGL().m_glVertex3dv
902 #define glVertex3f GlobalOpenGL().m_glVertex3f
903 #define glVertex3fv GlobalOpenGL().m_glVertex3fv
904 #define glVertex3i GlobalOpenGL().m_glVertex3i
905 #define glVertex3iv GlobalOpenGL().m_glVertex3iv
906 #define glVertex3s GlobalOpenGL().m_glVertex3s
907 #define glVertex3sv GlobalOpenGL().m_glVertex3sv
908 #define glVertex4d GlobalOpenGL().m_glVertex4d
909 #define glVertex4dv GlobalOpenGL().m_glVertex4dv
910 #define glVertex4f GlobalOpenGL().m_glVertex4f
911 #define glVertex4fv GlobalOpenGL().m_glVertex4fv
912 #define glVertex4i GlobalOpenGL().m_glVertex4i
913 #define glVertex4iv GlobalOpenGL().m_glVertex4iv
914 #define glVertex4s GlobalOpenGL().m_glVertex4s
915 #define glVertex4sv GlobalOpenGL().m_glVertex4sv
916 #define glVertexPointer GlobalOpenGL().m_glVertexPointer
917 #define glViewport GlobalOpenGL().m_glViewport
918
919 #endif
920
921
922 #if !defined( GL_EXT_vertex_array )
923 #define GL_EXT_vertex_array 1
924
925 #define GL_VERTEX_ARRAY_EXT 0x8074
926 #define GL_NORMAL_ARRAY_EXT 0x8075
927 #define GL_COLOR_ARRAY_EXT 0x8076
928 #define GL_INDEX_ARRAY_EXT 0x8077
929 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
930 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079
931 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
932 #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
933 #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
934 #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
935 #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
936 #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
937 #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
938 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081
939 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082
940 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
941 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084
942 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085
943 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
944 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087
945 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
946 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
947 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
948 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
949 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
950 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
951 #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
952 #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
953 #define GL_COLOR_ARRAY_POINTER_EXT 0x8090
954 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091
955 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
956 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
957 #define GL_DOUBLE_EXT GL_DOUBLE
958
959 #endif
960
961
962 #if !defined( GL_EXT_bgra )
963 #define GL_EXT_bgra 1
964
965 #define GL_BGR_EXT 0x80E0
966 #define GL_BGRA_EXT 0x80E1
967
968 #endif
969
970
971 #if !defined( GL_EXT_paletted_texture )
972 #define GL_EXT_paletted_texture 1
973
974 #define GL_COLOR_TABLE_FORMAT_EXT 0x80D8
975 #define GL_COLOR_TABLE_WIDTH_EXT 0x80D9
976 #define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA
977 #define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB
978 #define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC
979 #define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD
980 #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
981 #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
982
983 #define GL_COLOR_INDEX1_EXT 0x80E2
984 #define GL_COLOR_INDEX2_EXT 0x80E3
985 #define GL_COLOR_INDEX4_EXT 0x80E4
986 #define GL_COLOR_INDEX8_EXT 0x80E5
987 #define GL_COLOR_INDEX12_EXT 0x80E6
988 #define GL_COLOR_INDEX16_EXT 0x80E7
989
990 #define GL_LOGIC_OP GL_INDEX_LOGIC_OP
991 #define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT
992
993 #endif
994
995 #if !defined( GL_ARB_multitexture )
996 #define GL_ARB_multitexture 1
997
998 #define GL_TEXTURE0_ARB 0x84C0
999 #define GL_TEXTURE1_ARB 0x84C1
1000 #define GL_TEXTURE2_ARB 0x84C2
1001 #define GL_TEXTURE3_ARB 0x84C3
1002 #define GL_TEXTURE4_ARB 0x84C4
1003 #define GL_TEXTURE5_ARB 0x84C5
1004 #define GL_TEXTURE6_ARB 0x84C6
1005 #define GL_TEXTURE7_ARB 0x84C7
1006 #define GL_TEXTURE8_ARB 0x84C8
1007 #define GL_TEXTURE9_ARB 0x84C9
1008 #define GL_TEXTURE10_ARB 0x84CA
1009 #define GL_TEXTURE11_ARB 0x84CB
1010 #define GL_TEXTURE12_ARB 0x84CC
1011 #define GL_TEXTURE13_ARB 0x84CD
1012 #define GL_TEXTURE14_ARB 0x84CE
1013 #define GL_TEXTURE15_ARB 0x84CF
1014 #define GL_TEXTURE16_ARB 0x84D0
1015 #define GL_TEXTURE17_ARB 0x84D1
1016 #define GL_TEXTURE18_ARB 0x84D2
1017 #define GL_TEXTURE19_ARB 0x84D3
1018 #define GL_TEXTURE20_ARB 0x84D4
1019 #define GL_TEXTURE21_ARB 0x84D5
1020 #define GL_TEXTURE22_ARB 0x84D6
1021 #define GL_TEXTURE23_ARB 0x84D7
1022 #define GL_TEXTURE24_ARB 0x84D8
1023 #define GL_TEXTURE25_ARB 0x84D9
1024 #define GL_TEXTURE26_ARB 0x84DA
1025 #define GL_TEXTURE27_ARB 0x84DB
1026 #define GL_TEXTURE28_ARB 0x84DC
1027 #define GL_TEXTURE29_ARB 0x84DD
1028 #define GL_TEXTURE30_ARB 0x84DE
1029 #define GL_TEXTURE31_ARB 0x84DF
1030 #define GL_ACTIVE_TEXTURE_ARB 0x84E0
1031 #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
1032 #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
1033
1034 #define glActiveTextureARB GlobalOpenGL().m_glActiveTextureARB
1035 #define glClientActiveTextureARB GlobalOpenGL().m_glClientActiveTextureARB
1036 #define glMultiTexCoord1dARB GlobalOpenGL().m_glMultiTexCoord1dARB
1037 #define glMultiTexCoord1dvARB GlobalOpenGL().m_glMultiTexCoord1dvARB
1038 #define glMultiTexCoord1fARB GlobalOpenGL().m_glMultiTexCoord1fARB
1039 #define glMultiTexCoord1fvARB GlobalOpenGL().m_glMultiTexCoord1fvARB
1040 #define glMultiTexCoord1iARB GlobalOpenGL().m_glMultiTexCoord1iARB
1041 #define glMultiTexCoord1ivARB GlobalOpenGL().m_glMultiTexCoord1ivARB
1042 #define glMultiTexCoord1sARB GlobalOpenGL().m_glMultiTexCoord1sARB
1043 #define glMultiTexCoord1svARB GlobalOpenGL().m_glMultiTexCoord1svARB
1044 #define glMultiTexCoord2dARB GlobalOpenGL().m_glMultiTexCoord2dARB
1045 #define glMultiTexCoord2dvARB GlobalOpenGL().m_glMultiTexCoord2dvARB
1046 #define glMultiTexCoord2fARB GlobalOpenGL().m_glMultiTexCoord2fARB
1047 #define glMultiTexCoord2fvARB GlobalOpenGL().m_glMultiTexCoord2fvARB
1048 #define glMultiTexCoord2iARB GlobalOpenGL().m_glMultiTexCoord2iARB
1049 #define glMultiTexCoord2ivARB GlobalOpenGL().m_glMultiTexCoord2ivARB
1050 #define glMultiTexCoord2sARB GlobalOpenGL().m_glMultiTexCoord2sARB
1051 #define glMultiTexCoord2svARB GlobalOpenGL().m_glMultiTexCoord2svARB
1052 #define glMultiTexCoord3dARB GlobalOpenGL().m_glMultiTexCoord3dARB
1053 #define glMultiTexCoord3dvARB GlobalOpenGL().m_glMultiTexCoord3dvARB
1054 #define glMultiTexCoord3fARB GlobalOpenGL().m_glMultiTexCoord3fARB
1055 #define glMultiTexCoord3fvARB GlobalOpenGL().m_glMultiTexCoord3fvARB
1056 #define glMultiTexCoord3iARB GlobalOpenGL().m_glMultiTexCoord3iARB
1057 #define glMultiTexCoord3ivARB GlobalOpenGL().m_glMultiTexCoord3ivARB
1058 #define glMultiTexCoord3sARB GlobalOpenGL().m_glMultiTexCoord3sARB
1059 #define glMultiTexCoord3svARB GlobalOpenGL().m_glMultiTexCoord3svARB
1060 #define glMultiTexCoord4dARB GlobalOpenGL().m_glMultiTexCoord4dARB
1061 #define glMultiTexCoord4dvARB GlobalOpenGL().m_glMultiTexCoord4dvARB
1062 #define glMultiTexCoord4fARB GlobalOpenGL().m_glMultiTexCoord4fARB
1063 #define glMultiTexCoord4fvARB GlobalOpenGL().m_glMultiTexCoord4fvARB
1064 #define glMultiTexCoord4iARB GlobalOpenGL().m_glMultiTexCoord4iARB
1065 #define glMultiTexCoord4ivARB GlobalOpenGL().m_glMultiTexCoord4ivARB
1066 #define glMultiTexCoord4sARB GlobalOpenGL().m_glMultiTexCoord4sARB
1067 #define glMultiTexCoord4svARB GlobalOpenGL().m_glMultiTexCoord4svARB
1068
1069 #endif
1070
1071
1072 // EXT_texture_compression_s3tc
1073 #if !defined( GL_EXT_texture_compression_s3tc )
1074 #define GL_EXT_texture_compression_s3tc 1
1075
1076 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
1077 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
1078 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
1079 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
1080
1081 #endif
1082
1083
1084 // ARB_texture_compression
1085 #if !defined( GL_ARB_texture_compression )
1086 #define GL_ARB_texture_compression 1
1087
1088 #define GL_COMPRESSED_ALPHA_ARB 0x84E9
1089 #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
1090 #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
1091 #define GL_COMPRESSED_INTENSITY_ARB 0x84EC
1092 #define GL_COMPRESSED_RGB_ARB 0x84ED
1093 #define GL_COMPRESSED_RGBA_ARB 0x84EE
1094 #define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
1095 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
1096 #define GL_TEXTURE_COMPRESSED_ARB 0x86A1
1097 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
1098 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
1099
1100 #define glCompressedTexImage3DARB GlobalOpenGL().m_glCompressedTexImage3DARB
1101 #define glCompressedTexImage2DARB GlobalOpenGL().m_glCompressedTexImage2DARB
1102 #define glCompressedTexImage1DARB GlobalOpenGL().m_glCompressedTexImage1DARB
1103 #define glCompressedTexSubImage3DARB GlobalOpenGL().m_glCompressedTexSubImage3DARB
1104 #define glCompressedTexSubImage2DARB GlobalOpenGL().m_glCompressedTexSubImage2DARB
1105 #define glCompressedTexSubImage1DARB GlobalOpenGL().m_glCompressedTexSubImage1DARB
1106 #define glGetCompressedTexImageARB GlobalOpenGL().m_glGetCompressedTexImageARB
1107
1108 #endif
1109
1110
1111 // GL 1.2
1112
1113 #if !defined( GL_VERSION_1_2 )
1114
1115 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
1116 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
1117 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
1118 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
1119 #define GL_UNSIGNED_BYTE_3_3_2 0x8032
1120 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
1121 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
1122 #define GL_UNSIGNED_INT_8_8_8_8 0x8035
1123 #define GL_UNSIGNED_INT_10_10_10_2 0x8036
1124 #define GL_RESCALE_NORMAL 0x803A
1125 #define GL_TEXTURE_BINDING_3D 0x806A
1126 #define GL_PACK_SKIP_IMAGES 0x806B
1127 #define GL_PACK_IMAGE_HEIGHT 0x806C
1128 #define GL_UNPACK_SKIP_IMAGES 0x806D
1129 #define GL_UNPACK_IMAGE_HEIGHT 0x806E
1130 #define GL_TEXTURE_3D 0x806F
1131 #define GL_PROXY_TEXTURE_3D 0x8070
1132 #define GL_TEXTURE_DEPTH 0x8071
1133 #define GL_TEXTURE_WRAP_R 0x8072
1134 #define GL_MAX_3D_TEXTURE_SIZE 0x8073
1135 #define GL_BGR 0x80E0
1136 #define GL_BGRA 0x80E1
1137 #define GL_MAX_ELEMENTS_VERTICES 0x80E8
1138 #define GL_MAX_ELEMENTS_INDICES 0x80E9
1139 #define GL_CLAMP_TO_EDGE 0x812F
1140 #define GL_TEXTURE_MIN_LOD 0x813A
1141 #define GL_TEXTURE_MAX_LOD 0x813B
1142 #define GL_TEXTURE_BASE_LEVEL 0x813C
1143 #define GL_TEXTURE_MAX_LEVEL 0x813D
1144 #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
1145 #define GL_SINGLE_COLOR 0x81F9
1146 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
1147 #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
1148 #define GL_UNSIGNED_SHORT_5_6_5 0x8363
1149 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
1150 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
1151 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
1152 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
1153 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
1154 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
1155 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
1156
1157 #define glCopyTexSubImage3D GlobalOpenGL().m_glCopyTexSubImage3D
1158 #define glDrawRangeElements GlobalOpenGL().m_glDrawRangeElements
1159 #define glTexImage3D GlobalOpenGL().m_glTexImage3D
1160 #define glTexSubImage3D GlobalOpenGL().m_glTexSubImage3D
1161
1162 #endif
1163
1164
1165 // GL 1.3
1166
1167 #if !defined( GL_VERSION_1_3 )
1168 #define GL_VERSION_1_3 1
1169
1170 #define GL_MULTISAMPLE 0x809D
1171 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
1172 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
1173 #define GL_SAMPLE_COVERAGE 0x80A0
1174 #define GL_SAMPLE_BUFFERS 0x80A8
1175 #define GL_SAMPLES 0x80A9
1176 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
1177 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
1178 #define GL_CLAMP_TO_BORDER 0x812D
1179 #define GL_TEXTURE0 0x84C0
1180 #define GL_TEXTURE1 0x84C1
1181 #define GL_TEXTURE2 0x84C2
1182 #define GL_TEXTURE3 0x84C3
1183 #define GL_TEXTURE4 0x84C4
1184 #define GL_TEXTURE5 0x84C5
1185 #define GL_TEXTURE6 0x84C6
1186 #define GL_TEXTURE7 0x84C7
1187 #define GL_TEXTURE8 0x84C8
1188 #define GL_TEXTURE9 0x84C9
1189 #define GL_TEXTURE10 0x84CA
1190 #define GL_TEXTURE11 0x84CB
1191 #define GL_TEXTURE12 0x84CC
1192 #define GL_TEXTURE13 0x84CD
1193 #define GL_TEXTURE14 0x84CE
1194 #define GL_TEXTURE15 0x84CF
1195 #define GL_TEXTURE16 0x84D0
1196 #define GL_TEXTURE17 0x84D1
1197 #define GL_TEXTURE18 0x84D2
1198 #define GL_TEXTURE19 0x84D3
1199 #define GL_TEXTURE20 0x84D4
1200 #define GL_TEXTURE21 0x84D5
1201 #define GL_TEXTURE22 0x84D6
1202 #define GL_TEXTURE23 0x84D7
1203 #define GL_TEXTURE24 0x84D8
1204 #define GL_TEXTURE25 0x84D9
1205 #define GL_TEXTURE26 0x84DA
1206 #define GL_TEXTURE27 0x84DB
1207 #define GL_TEXTURE28 0x84DC
1208 #define GL_TEXTURE29 0x84DD
1209 #define GL_TEXTURE30 0x84DE
1210 #define GL_TEXTURE31 0x84DF
1211 #define GL_ACTIVE_TEXTURE 0x84E0
1212 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
1213 #define GL_MAX_TEXTURE_UNITS 0x84E2
1214 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
1215 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
1216 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
1217 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
1218 #define GL_SUBTRACT 0x84E7
1219 #define GL_COMPRESSED_ALPHA 0x84E9
1220 #define GL_COMPRESSED_LUMINANCE 0x84EA
1221 #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
1222 #define GL_COMPRESSED_INTENSITY 0x84EC
1223 #define GL_COMPRESSED_RGB 0x84ED
1224 #define GL_COMPRESSED_RGBA 0x84EE
1225 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
1226 #define GL_NORMAL_MAP 0x8511
1227 #define GL_REFLECTION_MAP 0x8512
1228 #define GL_TEXTURE_CUBE_MAP 0x8513
1229 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
1230 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
1231 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
1232 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
1233 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
1234 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
1235 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
1236 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
1237 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
1238 #define GL_COMBINE 0x8570
1239 #define GL_COMBINE_RGB 0x8571
1240 #define GL_COMBINE_ALPHA 0x8572
1241 #define GL_RGB_SCALE 0x8573
1242 #define GL_ADD_SIGNED 0x8574
1243 #define GL_INTERPOLATE 0x8575
1244 #define GL_CONSTANT 0x8576
1245 #define GL_PRIMARY_COLOR 0x8577
1246 #define GL_PREVIOUS 0x8578
1247 #define GL_SOURCE0_RGB 0x8580
1248 #define GL_SOURCE1_RGB 0x8581
1249 #define GL_SOURCE2_RGB 0x8582
1250 #define GL_SOURCE0_ALPHA 0x8588
1251 #define GL_SOURCE1_ALPHA 0x8589
1252 #define GL_SOURCE2_ALPHA 0x858A
1253 #define GL_OPERAND0_RGB 0x8590
1254 #define GL_OPERAND1_RGB 0x8591
1255 #define GL_OPERAND2_RGB 0x8592
1256 #define GL_OPERAND0_ALPHA 0x8598
1257 #define GL_OPERAND1_ALPHA 0x8599
1258 #define GL_OPERAND2_ALPHA 0x859A
1259 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
1260 #define GL_TEXTURE_COMPRESSED 0x86A1
1261 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
1262 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
1263 #define GL_DOT3_RGB 0x86AE
1264 #define GL_DOT3_RGBA 0x86AF
1265 #define GL_MULTISAMPLE_BIT 0x20000000
1266
1267 #define glActiveTexture GlobalOpenGL().m_glActiveTexture
1268 #define glClientActiveTexture GlobalOpenGL().m_glClientActiveTexture
1269 #define glCompressedTexImage1D GlobalOpenGL().m_glCompressedTexImage1D
1270 #define glCompressedTexImage2D GlobalOpenGL().m_glCompressedTexImage2D
1271 #define glCompressedTexImage3D GlobalOpenGL().m_glCompressedTexImage3D
1272 #define glCompressedTexSubImage1D GlobalOpenGL().m_glCompressedTexSubImage1D
1273 #define glCompressedTexSubImage2D GlobalOpenGL().m_glCompressedTexSubImage2D
1274 #define glCompressedTexSubImage3D GlobalOpenGL().m_glCompressedTexSubImage3D
1275 #define glGetCompressedTexImage GlobalOpenGL().m_glGetCompressedTexImage
1276 #define glLoadTransposeMatrixd GlobalOpenGL().m_glLoadTransposeMatrixd
1277 #define glLoadTransposeMatrixf GlobalOpenGL().m_glLoadTransposeMatrixf
1278 #define glMultTransposeMatrixd GlobalOpenGL().m_glMultTransposeMatrixd
1279 #define glMultTransposeMatrixf GlobalOpenGL().m_glMultTransposeMatrixf
1280 #define glMultiTexCoord1d GlobalOpenGL().m_glMultiTexCoord1d
1281 #define glMultiTexCoord1dv GlobalOpenGL().m_glMultiTexCoord1dv
1282 #define glMultiTexCoord1f GlobalOpenGL().m_glMultiTexCoord1f
1283 #define glMultiTexCoord1fv GlobalOpenGL().m_glMultiTexCoord1fv
1284 #define glMultiTexCoord1i GlobalOpenGL().m_glMultiTexCoord1i
1285 #define glMultiTexCoord1iv GlobalOpenGL().m_glMultiTexCoord1iv
1286 #define glMultiTexCoord1s GlobalOpenGL().m_glMultiTexCoord1s
1287 #define glMultiTexCoord1sv GlobalOpenGL().m_glMultiTexCoord1sv
1288 #define glMultiTexCoord2d GlobalOpenGL().m_glMultiTexCoord2d
1289 #define glMultiTexCoord2dv GlobalOpenGL().m_glMultiTexCoord2dv
1290 #define glMultiTexCoord2f GlobalOpenGL().m_glMultiTexCoord2f
1291 #define glMultiTexCoord2fv GlobalOpenGL().m_glMultiTexCoord2fv
1292 #define glMultiTexCoord2i GlobalOpenGL().m_glMultiTexCoord2i
1293 #define glMultiTexCoord2iv GlobalOpenGL().m_glMultiTexCoord2iv
1294 #define glMultiTexCoord2s GlobalOpenGL().m_glMultiTexCoord2s
1295 #define glMultiTexCoord2sv GlobalOpenGL().m_glMultiTexCoord2sv
1296 #define glMultiTexCoord3d GlobalOpenGL().m_glMultiTexCoord3d
1297 #define glMultiTexCoord3dv GlobalOpenGL().m_glMultiTexCoord3dv
1298 #define glMultiTexCoord3f GlobalOpenGL().m_glMultiTexCoord3f
1299 #define glMultiTexCoord3fv GlobalOpenGL().m_glMultiTexCoord3fv
1300 #define glMultiTexCoord3i GlobalOpenGL().m_glMultiTexCoord3i
1301 #define glMultiTexCoord3iv GlobalOpenGL().m_glMultiTexCoord3iv
1302 #define glMultiTexCoord3s GlobalOpenGL().m_glMultiTexCoord3s
1303 #define glMultiTexCoord3sv GlobalOpenGL().m_glMultiTexCoord3sv
1304 #define glMultiTexCoord4d GlobalOpenGL().m_glMultiTexCoord4d
1305 #define glMultiTexCoord4dv GlobalOpenGL().m_glMultiTexCoord4dv
1306 #define glMultiTexCoord4f GlobalOpenGL().m_glMultiTexCoord4f
1307 #define glMultiTexCoord4fv GlobalOpenGL().m_glMultiTexCoord4fv
1308 #define glMultiTexCoord4i GlobalOpenGL().m_glMultiTexCoord4i
1309 #define glMultiTexCoord4iv GlobalOpenGL().m_glMultiTexCoord4iv
1310 #define glMultiTexCoord4s GlobalOpenGL().m_glMultiTexCoord4s
1311 #define glMultiTexCoord4sv GlobalOpenGL().m_glMultiTexCoord4sv
1312 #define glSampleCoverage GlobalOpenGL().m_glSampleCoverage
1313
1314 #endif
1315
1316
1317 // GL 1.4
1318 #if !defined( GL_VERSION_1_4 )
1319 #define GL_VERSION_1_4 1
1320
1321 #define GL_BLEND_DST_RGB 0x80C8
1322 #define GL_BLEND_SRC_RGB 0x80C9
1323 #define GL_BLEND_DST_ALPHA 0x80CA
1324 #define GL_BLEND_SRC_ALPHA 0x80CB
1325 #define GL_POINT_SIZE_MIN 0x8126
1326 #define GL_POINT_SIZE_MAX 0x8127
1327 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
1328 #define GL_POINT_DISTANCE_ATTENUATION 0x8129
1329 #define GL_GENERATE_MIPMAP 0x8191
1330 #define GL_GENERATE_MIPMAP_HINT 0x8192
1331 #define GL_DEPTH_COMPONENT16 0x81A5
1332 #define GL_DEPTH_COMPONENT24 0x81A6
1333 #define GL_DEPTH_COMPONENT32 0x81A7
1334 #define GL_MIRRORED_REPEAT 0x8370
1335 #define GL_FOG_COORDINATE_SOURCE 0x8450
1336 #define GL_FOG_COORDINATE 0x8451
1337 #define GL_FRAGMENT_DEPTH 0x8452
1338 #define GL_CURRENT_FOG_COORDINATE 0x8453
1339 #define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
1340 #define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
1341 #define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
1342 #define GL_FOG_COORDINATE_ARRAY 0x8457
1343 #define GL_COLOR_SUM 0x8458
1344 #define GL_CURRENT_SECONDARY_COLOR 0x8459
1345 #define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
1346 #define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
1347 #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
1348 #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
1349 #define GL_SECONDARY_COLOR_ARRAY 0x845E
1350 #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
1351 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
1352 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
1353 #define GL_TEXTURE_FILTER_CONTROL 0x8500
1354 #define GL_TEXTURE_LOD_BIAS 0x8501
1355 #define GL_INCR_WRAP 0x8507
1356 #define GL_DECR_WRAP 0x8508
1357 #define GL_TEXTURE_DEPTH_SIZE 0x884A
1358 #define GL_DEPTH_TEXTURE_MODE 0x884B
1359 #define GL_TEXTURE_COMPARE_MODE 0x884C
1360 #define GL_TEXTURE_COMPARE_FUNC 0x884D
1361 #define GL_COMPARE_R_TO_TEXTURE 0x884E
1362
1363 #define glBlendColor GlobalOpenGL().m_glBlendColor
1364 #define glBlendEquation GlobalOpenGL().m_glBlendEquation
1365 #define glBlendFuncSeparate GlobalOpenGL().m_glBlendFuncSeparate
1366 #define glFogCoordPointer GlobalOpenGL().m_glFogCoordPointer
1367 #define glFogCoordd GlobalOpenGL().m_glFogCoordd
1368 #define glFogCoorddv GlobalOpenGL().m_glFogCoorddv
1369 #define glFogCoordf GlobalOpenGL().m_glFogCoordf
1370 #define glFogCoordfv GlobalOpenGL().m_glFogCoordfv
1371 #define glMultiDrawArrays GlobalOpenGL().m_glMultiDrawArrays
1372 #define glMultiDrawElements GlobalOpenGL().m_glMultiDrawElements
1373 #define glPointParameterf GlobalOpenGL().m_glPointParameterf
1374 #define glPointParameterfv GlobalOpenGL().m_glPointParameterfv
1375 #define glSecondaryColor3b GlobalOpenGL().m_glSecondaryColor3b
1376 #define glSecondaryColor3bv GlobalOpenGL().m_glSecondaryColor3bv
1377 #define glSecondaryColor3d GlobalOpenGL().m_glSecondaryColor3d
1378 #define glSecondaryColor3dv GlobalOpenGL().m_glSecondaryColor3dv
1379 #define glSecondaryColor3f GlobalOpenGL().m_glSecondaryColor3f
1380 #define glSecondaryColor3fv GlobalOpenGL().m_glSecondaryColor3fv
1381 #define glSecondaryColor3i GlobalOpenGL().m_glSecondaryColor3i
1382 #define glSecondaryColor3iv GlobalOpenGL().m_glSecondaryColor3iv
1383 #define glSecondaryColor3s GlobalOpenGL().m_glSecondaryColor3s
1384 #define glSecondaryColor3sv GlobalOpenGL().m_glSecondaryColor3sv
1385 #define glSecondaryColor3ub GlobalOpenGL().m_glSecondaryColor3ub
1386 #define glSecondaryColor3ubv GlobalOpenGL().m_glSecondaryColor3ubv
1387 #define glSecondaryColor3ui GlobalOpenGL().m_glSecondaryColor3ui
1388 #define glSecondaryColor3uiv GlobalOpenGL().m_glSecondaryColor3uiv
1389 #define glSecondaryColor3us GlobalOpenGL().m_glSecondaryColor3us
1390 #define glSecondaryColor3usv GlobalOpenGL().m_glSecondaryColor3usv
1391 #define glSecondaryColorPointer GlobalOpenGL().m_glSecondaryColorPointer
1392 #define glWindowPos2d GlobalOpenGL().m_glWindowPos2d
1393 #define glWindowPos2dv GlobalOpenGL().m_glWindowPos2dv
1394 #define glWindowPos2f GlobalOpenGL().m_glWindowPos2f
1395 #define glWindowPos2fv GlobalOpenGL().m_glWindowPos2fv
1396 #define glWindowPos2i GlobalOpenGL().m_glWindowPos2i
1397 #define glWindowPos2iv GlobalOpenGL().m_glWindowPos2iv
1398 #define glWindowPos2s GlobalOpenGL().m_glWindowPos2s
1399 #define glWindowPos2sv GlobalOpenGL().m_glWindowPos2sv
1400 #define glWindowPos3d GlobalOpenGL().m_glWindowPos3d
1401 #define glWindowPos3dv GlobalOpenGL().m_glWindowPos3dv
1402 #define glWindowPos3f GlobalOpenGL().m_glWindowPos3f
1403 #define glWindowPos3fv GlobalOpenGL().m_glWindowPos3fv
1404 #define glWindowPos3i GlobalOpenGL().m_glWindowPos3i
1405 #define glWindowPos3iv GlobalOpenGL().m_glWindowPos3iv
1406 #define glWindowPos3s GlobalOpenGL().m_glWindowPos3s
1407 #define glWindowPos3sv GlobalOpenGL().m_glWindowPos3sv
1408
1409 #endif
1410
1411
1412 // GL 1.5
1413 #if !defined( GL_VERSION_1_5 )
1414 #define GL_VERSION_1_5 1
1415
1416 #define GL_FOG_COORD GL_FOG_COORDINATE
1417 #define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
1418 #define GL_SRC0_RGB GL_SOURCE0_RGB
1419 #define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
1420 #define GL_FOG_COORD_SOURCE GL_FOG_COORDINATE_SOURCE
1421 #define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
1422 #define GL_SRC1_ALPHA GL_SOURCE1_ALPHA
1423 #define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
1424 #define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
1425 #define GL_SRC0_ALPHA GL_SOURCE0_ALPHA
1426 #define GL_SRC1_RGB GL_SOURCE1_RGB
1427 #define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
1428 #define GL_SRC2_ALPHA GL_SOURCE2_ALPHA
1429 #define GL_SRC2_RGB GL_SOURCE2_RGB
1430 #define GL_BUFFER_SIZE 0x8764
1431 #define GL_BUFFER_USAGE 0x8765
1432 #define GL_QUERY_COUNTER_BITS 0x8864
1433 #define GL_CURRENT_QUERY 0x8865
1434 #define GL_QUERY_RESULT 0x8866
1435 #define GL_QUERY_RESULT_AVAILABLE 0x8867
1436 #define GL_ARRAY_BUFFER 0x8892
1437 #define GL_ELEMENT_ARRAY_BUFFER 0x8893
1438 #define GL_ARRAY_BUFFER_BINDING 0x8894
1439 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
1440 #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
1441 #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
1442 #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
1443 #define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
1444 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
1445 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
1446 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
1447 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
1448 #define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
1449 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
1450 #define GL_READ_ONLY 0x88B8
1451 #define GL_WRITE_ONLY 0x88B9
1452 #define GL_READ_WRITE 0x88BA
1453 #define GL_BUFFER_ACCESS 0x88BB
1454 #define GL_BUFFER_MAPPED 0x88BC
1455 #define GL_BUFFER_MAP_POINTER 0x88BD
1456 #define GL_STREAM_DRAW 0x88E0
1457 #define GL_STREAM_READ 0x88E1
1458 #define GL_STREAM_COPY 0x88E2
1459 #define GL_STATIC_DRAW 0x88E4
1460 #define GL_STATIC_READ 0x88E5
1461 #define GL_STATIC_COPY 0x88E6
1462 #define GL_DYNAMIC_DRAW 0x88E8
1463 #define GL_DYNAMIC_READ 0x88E9
1464 #define GL_DYNAMIC_COPY 0x88EA
1465 #define GL_SAMPLES_PASSED 0x8914
1466
1467 typedef std::ptrdiff_t GLsizeiptr;
1468 typedef std::ptrdiff_t GLintptr;
1469
1470 #define glBeginQuery GlobalOpenGL().m_glBeginQuery
1471 #define glBindBuffer GlobalOpenGL().m_glBindBuffer
1472 #define glBufferData GlobalOpenGL().m_glBufferData
1473 #define glBufferSubData GlobalOpenGL().m_glBufferSubData
1474 #define glDeleteBuffers GlobalOpenGL().m_glDeleteBuffers
1475 #define glDeleteQueries GlobalOpenGL().m_glDeleteQueries
1476 #define glEndQuery GlobalOpenGL().m_glEndQuery
1477 #define glGenBuffers GlobalOpenGL().m_glGenBuffers
1478 #define glGenQueries GlobalOpenGL().m_glGenQueries
1479 #define glGetBufferParameteriv GlobalOpenGL().m_glGetBufferParameteriv
1480 #define glGetBufferPointerv GlobalOpenGL().m_glGetBufferPointerv
1481 #define glGetBufferSubData GlobalOpenGL().m_glGetBufferSubData
1482 #define glGetQueryObjectiv GlobalOpenGL().m_glGetQueryObjectiv
1483 #define glGetQueryObjectuiv GlobalOpenGL().m_glGetQueryObjectuiv
1484 #define glGetQueryiv GlobalOpenGL().m_glGetQueryiv
1485 #define glIsBuffer GlobalOpenGL().m_glIsBuffer
1486 #define glIsQuery GlobalOpenGL().m_glIsQuery
1487 #define glMapBuffer GlobalOpenGL().m_glMapBuffer
1488 #define glUnmapBuffer GlobalOpenGL().m_glUnmapBuffer
1489
1490 #endif
1491
1492
1493 // GL_ARB_vertex_program
1494 #if !defined( GL_ARB_vertex_program )
1495 #define GL_ARB_vertex_program
1496
1497 #define GL_VERTEX_PROGRAM_ARB 0x8620
1498 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
1499 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
1500 #define GL_COLOR_SUM_ARB 0x8458
1501 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
1502 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
1503 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
1504 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
1505 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
1506 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
1507 #define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
1508 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
1509 #define GL_PROGRAM_LENGTH_ARB 0x8627
1510 #define GL_PROGRAM_FORMAT_ARB 0x8876
1511 #define GL_PROGRAM_BINDING_ARB 0x8677
1512 #define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
1513 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
1514 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
1515 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
1516 #define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
1517 #define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
1518 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
1519 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
1520 #define GL_PROGRAM_PARAMETERS_ARB 0x88A8
1521 #define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
1522 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
1523 #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
1524 #define GL_PROGRAM_ATTRIBS_ARB 0x88AC
1525 #define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
1526 #define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
1527 #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
1528 #define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
1529 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
1530 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
1531 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
1532 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
1533 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
1534 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
1535 #define GL_PROGRAM_STRING_ARB 0x8628
1536 #define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
1537 #define GL_CURRENT_MATRIX_ARB 0x8641
1538 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
1539 #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
1540 #define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
1541 #define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
1542 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
1543 #define GL_PROGRAM_ERROR_STRING_ARB 0x8874
1544 #define GL_MATRIX0_ARB 0x88C0
1545 #define GL_MATRIX1_ARB 0x88C1
1546 #define GL_MATRIX2_ARB 0x88C2
1547 #define GL_MATRIX3_ARB 0x88C3
1548 #define GL_MATRIX4_ARB 0x88C4
1549 #define GL_MATRIX5_ARB 0x88C5
1550 #define GL_MATRIX6_ARB 0x88C6
1551 #define GL_MATRIX7_ARB 0x88C7
1552 #define GL_MATRIX8_ARB 0x88C8
1553 #define GL_MATRIX9_ARB 0x88C9
1554 #define GL_MATRIX10_ARB 0x88CA
1555 #define GL_MATRIX11_ARB 0x88CB
1556 #define GL_MATRIX12_ARB 0x88CC
1557 #define GL_MATRIX13_ARB 0x88CD
1558 #define GL_MATRIX14_ARB 0x88CE
1559 #define GL_MATRIX15_ARB 0x88CF
1560 #define GL_MATRIX16_ARB 0x88D0
1561 #define GL_MATRIX17_ARB 0x88D1
1562 #define GL_MATRIX18_ARB 0x88D2
1563 #define GL_MATRIX19_ARB 0x88D3
1564 #define GL_MATRIX20_ARB 0x88D4
1565 #define GL_MATRIX21_ARB 0x88D5
1566 #define GL_MATRIX22_ARB 0x88D6
1567 #define GL_MATRIX23_ARB 0x88D7
1568 #define GL_MATRIX24_ARB 0x88D8
1569 #define GL_MATRIX25_ARB 0x88D9
1570 #define GL_MATRIX26_ARB 0x88DA
1571 #define GL_MATRIX27_ARB 0x88DB
1572 #define GL_MATRIX28_ARB 0x88DC
1573 #define GL_MATRIX29_ARB 0x88DD
1574 #define GL_MATRIX30_ARB 0x88DE
1575 #define GL_MATRIX31_ARB 0x88DF
1576
1577 #define glVertexAttrib1sARB GlobalOpenGL().m_glVertexAttrib1sARB
1578 #define glVertexAttrib1fARB GlobalOpenGL().m_glVertexAttrib1fARB
1579 #define glVertexAttrib1dARB GlobalOpenGL().m_glVertexAttrib1dARB
1580 #define glVertexAttrib2sARB GlobalOpenGL().m_glVertexAttrib2sARB
1581 #define glVertexAttrib2fARB GlobalOpenGL().m_glVertexAttrib2fARB
1582 #define glVertexAttrib2dARB GlobalOpenGL().m_glVertexAttrib2dARB
1583 #define glVertexAttrib3sARB GlobalOpenGL().m_glVertexAttrib3sARB
1584 #define glVertexAttrib3fARB GlobalOpenGL().m_glVertexAttrib3fARB
1585 #define glVertexAttrib3dARB GlobalOpenGL().m_glVertexAttrib3dARB
1586 #define glVertexAttrib4sARB GlobalOpenGL().m_glVertexAttrib4sARB
1587 #define glVertexAttrib4fARB GlobalOpenGL().m_glVertexAttrib4fARB
1588 #define glVertexAttrib4dARB GlobalOpenGL().m_glVertexAttrib4dARB
1589 #define glVertexAttrib4NubARB GlobalOpenGL().m_glVertexAttrib4NubARB
1590 #define glVertexAttrib1svARB GlobalOpenGL().m_glVertexAttrib1svARB
1591 #define glVertexAttrib1fvARB GlobalOpenGL().m_glVertexAttrib1fvARB
1592 #define glVertexAttrib1dvARB GlobalOpenGL().m_glVertexAttrib1dvARB
1593 #define glVertexAttrib2svARB GlobalOpenGL().m_glVertexAttrib2svARB
1594 #define glVertexAttrib2fvARB GlobalOpenGL().m_glVertexAttrib2fvARB
1595 #define glVertexAttrib2dvARB GlobalOpenGL().m_glVertexAttrib2dvARB
1596 #define glVertexAttrib3svARB GlobalOpenGL().m_glVertexAttrib3svARB
1597 #define glVertexAttrib3fvARB GlobalOpenGL().m_glVertexAttrib3fvARB
1598 #define glVertexAttrib3dvARB GlobalOpenGL().m_glVertexAttrib3dvARB
1599 #define glVertexAttrib4bvARB GlobalOpenGL().m_glVertexAttrib4bvARB
1600 #define glVertexAttrib4svARB GlobalOpenGL().m_glVertexAttrib4svARB
1601 #define glVertexAttrib4ivARB GlobalOpenGL().m_glVertexAttrib4ivARB
1602 #define glVertexAttrib4ubvARB GlobalOpenGL().m_glVertexAttrib4ubvARB
1603 #define glVertexAttrib4usvARB GlobalOpenGL().m_glVertexAttrib4usvARB
1604 #define glVertexAttrib4uivARB GlobalOpenGL().m_glVertexAttrib4uivARB
1605 #define glVertexAttrib4fvARB GlobalOpenGL().m_glVertexAttrib4fvARB
1606 #define glVertexAttrib4dvARB GlobalOpenGL().m_glVertexAttrib4dvARB
1607 #define glVertexAttrib4NbvARB GlobalOpenGL().m_glVertexAttrib4NbvARB
1608 #define glVertexAttrib4NsvARB GlobalOpenGL().m_glVertexAttrib4NsvARB
1609 #define glVertexAttrib4NivARB GlobalOpenGL().m_glVertexAttrib4NivARB
1610 #define glVertexAttrib4NubvARB GlobalOpenGL().m_glVertexAttrib4NubvARB
1611 #define glVertexAttrib4NusvARB GlobalOpenGL().m_glVertexAttrib4NusvARB
1612 #define glVertexAttrib4NuivARB GlobalOpenGL().m_glVertexAttrib4NuivARB
1613 #define glVertexAttribPointerARB GlobalOpenGL().m_glVertexAttribPointerARB
1614 #define glEnableVertexAttribArrayARB GlobalOpenGL().m_glEnableVertexAttribArrayARB
1615 #define glDisableVertexAttribArrayARB GlobalOpenGL().m_glDisableVertexAttribArrayARB
1616 #define glProgramStringARB GlobalOpenGL().m_glProgramStringARB
1617 #define glBindProgramARB GlobalOpenGL().m_glBindProgramARB
1618 #define glDeleteProgramsARB GlobalOpenGL().m_glDeleteProgramsARB
1619 #define glGenProgramsARB GlobalOpenGL().m_glGenProgramsARB
1620 #define glProgramEnvParameter4dARB GlobalOpenGL().m_glProgramEnvParameter4dARB
1621 #define glProgramEnvParameter4dvARB GlobalOpenGL().m_glProgramEnvParameter4dvARB
1622 #define glProgramEnvParameter4fARB GlobalOpenGL().m_glProgramEnvParameter4fARB
1623 #define glProgramEnvParameter4fvARB GlobalOpenGL().m_glProgramEnvParameter4fvARB
1624 #define glProgramLocalParameter4dARB GlobalOpenGL().m_glProgramLocalParameter4dARB
1625 #define glProgramLocalParameter4dvARB GlobalOpenGL().m_glProgramLocalParameter4dvARB
1626 #define glProgramLocalParameter4fARB GlobalOpenGL().m_glProgramLocalParameter4fARB
1627 #define glProgramLocalParameter4fvARB GlobalOpenGL().m_glProgramLocalParameter4fvARB
1628 #define glGetProgramEnvParameterdvARB GlobalOpenGL().m_glGetProgramEnvParameterdvARB
1629 #define glGetProgramEnvParameterfvARB GlobalOpenGL().m_glGetProgramEnvParameterfvARB
1630 #define glGetProgramLocalParameterdvARB GlobalOpenGL().m_glGetProgramLocalParameterdvARB
1631 #define glGetProgramLocalParameterfvARB GlobalOpenGL().m_glGetProgramLocalParameterfvARB
1632 #define glGetProgramivARB GlobalOpenGL().m_glGetProgramivARB
1633 #define glGetProgramStringARB GlobalOpenGL().m_glGetProgramStringARB
1634 #define glGetVertexAttribdvARB GlobalOpenGL().m_glGetVertexAttribdvARB
1635 #define glGetVertexAttribfvARB GlobalOpenGL().m_glGetVertexAttribfvARB
1636 #define glGetVertexAttribivARB GlobalOpenGL().m_glGetVertexAttribivARB
1637 #define glGetVertexAttribPointervARB GlobalOpenGL().m_glGetVertexAttribPointervARB
1638 #define glIsProgramARB GlobalOpenGL().m_glIsProgramARB
1639
1640 #endif
1641
1642
1643 // GL_ARB_fragment_program
1644 #if !defined( GL_ARB_fragment_program )
1645 #define GL_ARB_fragment_program 1
1646
1647 #define GL_FRAGMENT_PROGRAM_ARB 0x8804
1648 #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
1649 #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
1650 #define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
1651 #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
1652 #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
1653 #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
1654 #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
1655 #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
1656 #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
1657 #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
1658 #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
1659 #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
1660 #define GL_MAX_TEXTURE_COORDS_ARB 0x8871
1661 #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
1662
1663 #endif
1664
1665
1666 // GL_ARB_shader_objects
1667 #if !defined( GL_ARB_shader_objects )
1668 #define GL_ARB_shader_objects 1
1669
1670 #define GL_PROGRAM_OBJECT_ARB 0x8B40
1671 #define GL_SHADER_OBJECT_ARB 0x8B48
1672 #define GL_OBJECT_TYPE_ARB 0x8B4E
1673 #define GL_OBJECT_SUBTYPE_ARB 0x8B4F
1674 #define GL_FLOAT_VEC2_ARB 0x8B50
1675 #define GL_FLOAT_VEC3_ARB 0x8B51
1676 #define GL_FLOAT_VEC4_ARB 0x8B52
1677 #define GL_INT_VEC2_ARB 0x8B53
1678 #define GL_INT_VEC3_ARB 0x8B54
1679 #define GL_INT_VEC4_ARB 0x8B55
1680 #define GL_BOOL_ARB 0x8B56
1681 #define GL_BOOL_VEC2_ARB 0x8B57
1682 #define GL_BOOL_VEC3_ARB 0x8B58
1683 #define GL_BOOL_VEC4_ARB 0x8B59
1684 #define GL_FLOAT_MAT2_ARB 0x8B5A
1685 #define GL_FLOAT_MAT3_ARB 0x8B5B
1686 #define GL_FLOAT_MAT4_ARB 0x8B5C
1687 #define GL_SAMPLER_1D_ARB 0x8B5D
1688 #define GL_SAMPLER_2D_ARB 0x8B5E
1689 #define GL_SAMPLER_3D_ARB 0x8B5F
1690 #define GL_SAMPLER_CUBE_ARB 0x8B60
1691 #define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
1692 #define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
1693 #define GL_SAMPLER_2D_RECT_ARB 0x8B63
1694 #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
1695 #define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
1696 #define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
1697 #define GL_OBJECT_LINK_STATUS_ARB 0x8B82
1698 #define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
1699 #define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
1700 #define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
1701 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
1702 #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
1703 #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
1704
1705 #define glDeleteObjectARB GlobalOpenGL().m_glDeleteObjectARB
1706 #define glGetHandleARB GlobalOpenGL().m_glGetHandleARB
1707 #define glDetachObjectARB GlobalOpenGL().m_glDetachObjectARB
1708 #define glCreateShaderObjectARB GlobalOpenGL().m_glCreateShaderObjectARB
1709 #define glShaderSourceARB GlobalOpenGL().m_glShaderSourceARB
1710 #define glCompileShaderARB GlobalOpenGL().m_glCompileShaderARB
1711 #define glCreateProgramObjectARB GlobalOpenGL().m_glCreateProgramObjectARB
1712 #define glAttachObjectARB GlobalOpenGL().m_glAttachObjectARB
1713 #define glLinkProgramARB GlobalOpenGL().m_glLinkProgramARB
1714 #define glUseProgramObjectARB GlobalOpenGL().m_glUseProgramObjectARB
1715 #define glValidateProgramARB GlobalOpenGL().m_glValidateProgramARB
1716 #define glUniform1fARB GlobalOpenGL().m_glUniform1fARB
1717 #define glUniform2fARB GlobalOpenGL().m_glUniform2fARB
1718 #define glUniform3fARB GlobalOpenGL().m_glUniform3fARB
1719 #define glUniform4fARB GlobalOpenGL().m_glUniform4fARB
1720 #define glUniform1iARB GlobalOpenGL().m_glUniform1iARB
1721 #define glUniform2iARB GlobalOpenGL().m_glUniform2iARB
1722 #define glUniform3iARB GlobalOpenGL().m_glUniform3iARB
1723 #define glUniform4iARB GlobalOpenGL().m_glUniform4iARB
1724 #define glUniform1fvARB GlobalOpenGL().m_glUniform1fvARB
1725 #define glUniform2fvARB GlobalOpenGL().m_glUniform2fvARB
1726 #define glUniform3fvARB GlobalOpenGL().m_glUniform3fvARB
1727 #define glUniform4fvARB GlobalOpenGL().m_glUniform4fvARB
1728 #define glUniform1ivARB GlobalOpenGL().m_glUniform1ivARB
1729 #define glUniform2ivARB GlobalOpenGL().m_glUniform2ivARB
1730 #define glUniform3ivARB GlobalOpenGL().m_glUniform3ivARB
1731 #define glUniform4ivARB GlobalOpenGL().m_glUniform4ivARB
1732 #define glUniformMatrix2fvARB GlobalOpenGL().m_glUniformMatrix2fvARB
1733 #define glUniformMatrix3fvARB GlobalOpenGL().m_glUniformMatrix3fvARB
1734 #define glUniformMatrix4fvARB GlobalOpenGL().m_glUniformMatrix4fvARB
1735 #define glGetObjectParameterfvARB GlobalOpenGL().m_glGetObjectParameterfvARB
1736 #define glGetObjectParameterivARB GlobalOpenGL().m_glGetObjectParameterivARB
1737 #define glGetInfoLogARB GlobalOpenGL().m_glGetInfoLogARB
1738 #define glGetAttachedObjectsARB GlobalOpenGL().m_glGetAttachedObjectsARB
1739 #define glGetUniformLocationARB GlobalOpenGL().m_glGetUniformLocationARB
1740 #define glGetActiveUniformARB GlobalOpenGL().m_glGetActiveUniformARB
1741 #define glGetUniformfvARB GlobalOpenGL().m_glGetUniformfvARB
1742 #define glGetUniformivARB GlobalOpenGL().m_glGetUniformivARB
1743 #define glGetShaderSourceARB GlobalOpenGL().m_glGetShaderSourceARB
1744
1745 typedef char GLcharARB;
1746 typedef unsigned int GLhandleARB;
1747
1748 #endif
1749
1750 // GL_ARB_vertex_shader
1751 #if !defined( GL_ARB_vertex_shader )
1752 #define GL_ARB_vertex_shader 1
1753
1754 #define GL_VERTEX_SHADER_ARB 0x8B31
1755 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
1756 #define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
1757 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
1758 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
1759 #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
1760 #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
1761
1762 #if 0
1763 #define glVertexAttrib1fARB GlobalOpenGL().m_glVertexAttrib1fARB
1764 #define glVertexAttrib1sARB GlobalOpenGL().m_glVertexAttrib1sARB
1765 #define glVertexAttrib1dARB GlobalOpenGL().m_glVertexAttrib1dARB
1766 #define glVertexAttrib2fARB GlobalOpenGL().m_glVertexAttrib2fARB
1767 #define glVertexAttrib2sARB GlobalOpenGL().m_glVertexAttrib2sARB
1768 #define glVertexAttrib2dARB GlobalOpenGL().m_glVertexAttrib2dARB
1769 #define glVertexAttrib3fARB GlobalOpenGL().m_glVertexAttrib3fARB
1770 #define glVertexAttrib3sARB GlobalOpenGL().m_glVertexAttrib3sARB
1771 #define glVertexAttrib3dARB GlobalOpenGL().m_glVertexAttrib3dARB
1772 #define glVertexAttrib4fARB GlobalOpenGL().m_glVertexAttrib4fARB
1773 #define glVertexAttrib4sARB GlobalOpenGL().m_glVertexAttrib4sARB
1774 #define glVertexAttrib4dARB GlobalOpenGL().m_glVertexAttrib4dARB
1775 #define glVertexAttrib4NubARB GlobalOpenGL().m_glVertexAttrib4NubARB
1776 #define glVertexAttrib1fvARB GlobalOpenGL().m_glVertexAttrib1fvARB
1777 #define glVertexAttrib1svARB GlobalOpenGL().m_glVertexAttrib1svARB
1778 #define glVertexAttrib1dvARB GlobalOpenGL().m_glVertexAttrib1dvARB
1779 #define glVertexAttrib2fvARB GlobalOpenGL().m_glVertexAttrib2fvARB
1780 #define glVertexAttrib2svARB GlobalOpenGL().m_glVertexAttrib2svARB
1781 #define glVertexAttrib2dvARB GlobalOpenGL().m_glVertexAttrib2dvARB
1782 #define glVertexAttrib3fvARB GlobalOpenGL().m_glVertexAttrib3fvARB
1783 #define glVertexAttrib3svARB GlobalOpenGL().m_glVertexAttrib3svARB
1784 #define glVertexAttrib3dvARB GlobalOpenGL().m_glVertexAttrib3dvARB
1785 #define glVertexAttrib4fvARB GlobalOpenGL().m_glVertexAttrib4fvARB
1786 #define glVertexAttrib4svARB GlobalOpenGL().m_glVertexAttrib4svARB
1787 #define glVertexAttrib4dvARB GlobalOpenGL().m_glVertexAttrib4dvARB
1788 #define glVertexAttrib4ivARB GlobalOpenGL().m_glVertexAttrib4ivARB
1789 #define glVertexAttrib4bvARB GlobalOpenGL().m_glVertexAttrib4bvARB
1790 #define glVertexAttrib4ubvARB GlobalOpenGL().m_glVertexAttrib4ubvARB
1791 #define glVertexAttrib4usvARB GlobalOpenGL().m_glVertexAttrib4usvARB
1792 #define glVertexAttrib4uivARB GlobalOpenGL().m_glVertexAttrib4uivARB
1793 #define glVertexAttrib4NbvARB GlobalOpenGL().m_glVertexAttrib4NbvARB
1794 #define glVertexAttrib4NsvARB GlobalOpenGL().m_glVertexAttrib4NsvARB
1795 #define glVertexAttrib4NivARB GlobalOpenGL().m_glVertexAttrib4NivARB
1796 #define glVertexAttrib4NubvARB GlobalOpenGL().m_glVertexAttrib4NubvARB
1797 #define glVertexAttrib4NusvARB GlobalOpenGL().m_glVertexAttrib4NusvARB
1798 #define glVertexAttrib4NuivARB GlobalOpenGL().m_glVertexAttrib4NuivARB
1799 #define glVertexAttribPointerARB GlobalOpenGL().m_glVertexAttribPointerARB
1800 #define glEnableVertexAttribArrayARB GlobalOpenGL().m_glEnableVertexAttribArrayARB
1801 #define glDisableVertexAttribArrayARB GlobalOpenGL().m_glDisableVertexAttribArrayARB
1802 #endif
1803 #define glBindAttribLocationARB GlobalOpenGL().m_glBindAttribLocationARB
1804 #define glGetActiveAttribARB GlobalOpenGL().m_glGetActiveAttribARB
1805 #define glGetAttribLocationARB GlobalOpenGL().m_glGetAttribLocationARB
1806 #if 0
1807 #define glGetVertexAttribdvARB GlobalOpenGL().m_glGetVertexAttribdvARB
1808 #define glGetVertexAttribfvARB GlobalOpenGL().m_glGetVertexAttribfvARB
1809 #define glGetVertexAttribivARB GlobalOpenGL().m_glGetVertexAttribivARB
1810 #define glGetVertexAttribPointervARB GlobalOpenGL().m_glGetVertexAttribPointervARB
1811 #endif
1812 #endif
1813
1814
1815
1816 // GL_ARB_fragment_shader
1817 #if !defined( GL_ARB_fragment_shader )
1818 #define GL_ARB_fragment_shader 1
1819
1820 #define GL_FRAGMENT_SHADER_ARB 0x8B30
1821 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
1822 #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
1823
1824 #endif
1825
1826
1827 // GL_ARB_shading_language_100
1828 #if !defined( GL_ARB_shading_language_100 )
1829 #define GL_ARB_shading_language_100 1
1830
1831 #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
1832
1833 #endif
1834
1835
1836 // GL_NV_vertex_program2
1837 #if !defined( GL_NV_vertex_program )
1838 #define GL_NV_vertex_program 1
1839
1840 #define GL_VERTEX_PROGRAM_NV 0x8620
1841 #define GL_VERTEX_STATE_PROGRAM_NV 0x8621
1842 #define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
1843 #define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
1844 #define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
1845 #define GL_CURRENT_ATTRIB_NV 0x8626
1846 #define GL_PROGRAM_LENGTH_NV 0x8627
1847 #define GL_PROGRAM_STRING_NV 0x8628
1848 #define GL_MODELVIEW_PROJECTION_NV 0x8629
1849 #define GL_IDENTITY_NV 0x862A
1850 #define GL_INVERSE_NV 0x862B
1851 #define GL_TRANSPOSE_NV 0x862C
1852 #define GL_INVERSE_TRANSPOSE_NV 0x862D
1853 #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
1854 #define GL_MAX_TRACK_MATRICES_NV 0x862F
1855 #define GL_MATRIX0_NV 0x8630
1856 #define GL_MATRIX1_NV 0x8631
1857 #define GL_MATRIX2_NV 0x8632
1858 #define GL_MATRIX3_NV 0x8633
1859 #define GL_MATRIX4_NV 0x8634
1860 #define GL_MATRIX5_NV 0x8635
1861 #define GL_MATRIX6_NV 0x8636
1862 #define GL_MATRIX7_NV 0x8637
1863 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
1864 #define GL_CURRENT_MATRIX_NV 0x8641
1865 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
1866 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
1867 #define GL_PROGRAM_PARAMETER_NV 0x8644
1868 #define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
1869 #define GL_PROGRAM_TARGET_NV 0x8646
1870 #define GL_PROGRAM_RESIDENT_NV 0x8647
1871 #define GL_TRACK_MATRIX_NV 0x8648
1872 #define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
1873 #define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
1874 #define GL_PROGRAM_ERROR_POSITION_NV 0x864B
1875 #define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
1876 #define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
1877 #define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
1878 #define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
1879 #define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
1880 #define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
1881 #define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
1882 #define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
1883 #define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
1884 #define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
1885 #define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
1886 #define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
1887 #define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
1888 #define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
1889 #define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
1890 #define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
1891 #define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
1892 #define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
1893 #define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
1894 #define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
1895 #define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
1896 #define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
1897 #define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
1898 #define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
1899 #define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
1900 #define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
1901 #define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
1902 #define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
1903 #define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
1904 #define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
1905 #define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
1906 #define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
1907 #define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
1908 #define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
1909 #define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
1910 #define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
1911 #define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
1912 #define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
1913 #define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
1914 #define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
1915 #define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
1916 #define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
1917 #define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
1918 #define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
1919 #define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
1920 #define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
1921 #define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
1922 #define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
1923
1924 #define glAreProgramsResidentNV GlobalOpenGL().m_glAreProgramsResidentNV
1925 #define glBindProgramNV GlobalOpenGL().m_glBindProgramNV
1926 #define glDeleteProgramsNV GlobalOpenGL().m_glDeleteProgramsNV
1927 #define glExecuteProgramNV GlobalOpenGL().m_glExecuteProgramNV
1928 #define glGenProgramsNV GlobalOpenGL().m_glGenProgramsNV
1929 #define glGetProgramParameterdvNV GlobalOpenGL().m_glGetProgramParameterdvNV
1930 #define glGetProgramParameterfvNV GlobalOpenGL().m_glGetProgramParameterfvNV
1931 #define glGetProgramivNV GlobalOpenGL().m_glGetProgramivNV
1932 #define glGetProgramStringNV GlobalOpenGL().m_glGetProgramStringNV
1933 #define glGetTrackMatrixivNV GlobalOpenGL().m_glGetTrackMatrixivNV
1934 #define glGetVertexAttribdvNV GlobalOpenGL().m_glGetVertexAttribdvNV
1935 #define glGetVertexAttribfvNV GlobalOpenGL().m_glGetVertexAttribfvNV
1936 #define glGetVertexAttribivNV GlobalOpenGL().m_glGetVertexAttribivNV
1937 #define glGetVertexAttribPointervNV GlobalOpenGL().m_glGetVertexAttribPointervNV
1938 #define glIsProgramNV GlobalOpenGL().m_glIsProgramNV
1939 #define glLoadProgramNV GlobalOpenGL().m_glLoadProgramNV
1940 #define glProgramParameter4fNV GlobalOpenGL().m_glProgramParameter4fNV
1941 #define glProgramParameter4fvNV GlobalOpenGL().m_glProgramParameter4fvNV
1942 #define glProgramParameters4fvNV GlobalOpenGL().m_glProgramParameters4fvNV
1943 #define glRequestResidentProgramsNV GlobalOpenGL().m_glRequestResidentProgramsNV
1944 #define glTrackMatrixNV GlobalOpenGL().m_glTrackMatrixNV
1945 #define glVertexAttribPointerNV GlobalOpenGL().m_glVertexAttribPointerNV
1946 #define glVertexAttrib1fNV GlobalOpenGL().m_glVertexAttrib1fNV
1947 #define glVertexAttrib1fvNV GlobalOpenGL().m_glVertexAttrib1fvNV
1948 #define glVertexAttrib2fNV GlobalOpenGL().m_glVertexAttrib2fNV
1949 #define glVertexAttrib2fvNV GlobalOpenGL().m_glVertexAttrib2fvNV
1950 #define glVertexAttrib3fNV GlobalOpenGL().m_glVertexAttrib3fNV
1951 #define glVertexAttrib3fvNV GlobalOpenGL().m_glVertexAttrib3fvNV
1952 #define glVertexAttrib4fNV GlobalOpenGL().m_glVertexAttrib4fNV
1953 #define glVertexAttrib4fvNV GlobalOpenGL().m_glVertexAttrib4fvNV
1954 #define glVertexAttribs1fvNV GlobalOpenGL().m_glVertexAttribs1fvNV
1955 #define glVertexAttribs2fvNV GlobalOpenGL().m_glVertexAttribs2fvNV
1956 #define glVertexAttribs3fvNV GlobalOpenGL().m_glVertexAttribs3fvNV
1957 #define glVertexAttribs4fvNV GlobalOpenGL().m_glVertexAttribs4fvNV
1958
1959 #endif
1960
1961
1962 // GL_NV_fragment_program
1963 #if !defined( GL_NV_fragment_program )
1964
1965 #define GL_NV_fragment_program 1
1966
1967 #define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
1968 #define GL_FRAGMENT_PROGRAM_NV 0x8870
1969 #define GL_MAX_TEXTURE_COORDS_NV 0x8871
1970 #define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
1971 #define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
1972 #define GL_PROGRAM_ERROR_STRING_NV 0x8874
1973
1974 #define glProgramNamedParameter4fNV GlobalOpenGL().m_glProgramNamedParameter4fNV
1975 #define glProgramNamedParameter4fvNV GlobalOpenGL().m_glProgramNamedParameter4fvNV
1976 #define glGetProgramNamedParameterfvNV GlobalOpenGL().m_glGetProgramNamedParameterfvNV
1977
1978 #endif
1979
1980 #include "gtkutil/glfont.h"
1981
1982 /// \brief A module which wraps a runtime-binding of the standard OpenGL functions.
1983 /// Provides convenience functions for querying availabiliy of extensions, rendering text and error-checking.
1984 struct OpenGLBinding
1985 {
1986         INTEGER_CONSTANT( Version, 2 );
1987         STRING_CONSTANT( Name, "qgl" );
1988
1989         /// \brief OpenGL version, extracted from the GL_VERSION string.
1990         int major_version, minor_version;
1991
1992         /// \brief Is true if the global shared OpenGL context is valid.
1993         bool contextValid;
1994
1995         OpenGLBinding() : contextValid( false ){
1996         }
1997
1998         /// \brief Asserts that there no OpenGL errors have occurred since the last call to glGetError.
1999         void ( *assertNoErrors )( const char *file, int line );
2000
2001         GLFont *m_font; // MUST be set!
2002
2003         /// \brief Renders \p string at the current raster-position of the current context.
2004         void drawString( const char* string ) const {
2005                 m_font->printString( string );
2006         }
2007
2008         /// \brief Renders \p character at the current raster-position of the current context.
2009         void drawChar( char character ) const {
2010                 char s[2];
2011                 s[0] = character;
2012                 s[1] = 0;
2013                 drawString( s );
2014         }
2015
2016
2017         // GL 1.1
2018         void ( QGL_DLLEXPORT *m_glAccum )( GLenum op, GLfloat value );
2019         void ( QGL_DLLEXPORT *m_glAlphaFunc )( GLenum func, GLclampf ref );
2020         GLboolean ( QGL_DLLEXPORT *m_glAreTexturesResident )( GLsizei n, const GLuint *textures, GLboolean *residences );
2021         void ( QGL_DLLEXPORT *m_glArrayElement )( GLint i );
2022         void ( QGL_DLLEXPORT *m_glBegin )( GLenum mode );
2023         void ( QGL_DLLEXPORT *m_glBindTexture )( GLenum target, GLuint texture );
2024         void ( QGL_DLLEXPORT *m_glBitmap )( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
2025         void ( QGL_DLLEXPORT *m_glBlendFunc )( GLenum sfactor, GLenum dfactor );
2026         void ( QGL_DLLEXPORT *m_glCallList )( GLuint list );
2027         void ( QGL_DLLEXPORT *m_glCallLists )( GLsizei n, GLenum type, const GLvoid *lists );
2028         void ( QGL_DLLEXPORT *m_glClear )( GLbitfield mask );
2029         void ( QGL_DLLEXPORT *m_glClearAccum )( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
2030         void ( QGL_DLLEXPORT *m_glClearColor )( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
2031         void ( QGL_DLLEXPORT *m_glClearDepth )( GLclampd depth );
2032         void ( QGL_DLLEXPORT *m_glClearIndex )( GLfloat c );
2033         void ( QGL_DLLEXPORT *m_glClearStencil )( GLint s );
2034         void ( QGL_DLLEXPORT *m_glClipPlane )( GLenum plane, const GLdouble *equation );
2035         void ( QGL_DLLEXPORT *m_glColor3b )( GLbyte red, GLbyte green, GLbyte blue );
2036         void ( QGL_DLLEXPORT *m_glColor3bv )( const GLbyte *v );
2037         void ( QGL_DLLEXPORT *m_glColor3d )( GLdouble red, GLdouble green, GLdouble blue );
2038         void ( QGL_DLLEXPORT *m_glColor3dv )( const GLdouble *v );
2039         void ( QGL_DLLEXPORT *m_glColor3f )( GLfloat red, GLfloat green, GLfloat blue );
2040         void ( QGL_DLLEXPORT *m_glColor3fv )( const GLfloat *v );
2041         void ( QGL_DLLEXPORT *m_glColor3i )( GLint red, GLint green, GLint blue );
2042         void ( QGL_DLLEXPORT *m_glColor3iv )( const GLint *v );
2043         void ( QGL_DLLEXPORT *m_glColor3s )( GLshort red, GLshort green, GLshort blue );
2044         void ( QGL_DLLEXPORT *m_glColor3sv )( const GLshort *v );
2045         void ( QGL_DLLEXPORT *m_glColor3ub )( GLubyte red, GLubyte green, GLubyte blue );
2046         void ( QGL_DLLEXPORT *m_glColor3ubv )( const GLubyte *v );
2047         void ( QGL_DLLEXPORT *m_glColor3ui )( GLuint red, GLuint green, GLuint blue );
2048         void ( QGL_DLLEXPORT *m_glColor3uiv )( const GLuint *v );
2049         void ( QGL_DLLEXPORT *m_glColor3us )( GLushort red, GLushort green, GLushort blue );
2050         void ( QGL_DLLEXPORT *m_glColor3usv )( const GLushort *v );
2051         void ( QGL_DLLEXPORT *m_glColor4b )( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
2052         void ( QGL_DLLEXPORT *m_glColor4bv )( const GLbyte *v );
2053         void ( QGL_DLLEXPORT *m_glColor4d )( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
2054         void ( QGL_DLLEXPORT *m_glColor4dv )( const GLdouble *v );
2055         void ( QGL_DLLEXPORT *m_glColor4f )( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
2056         void ( QGL_DLLEXPORT *m_glColor4fv )( const GLfloat *v );
2057         void ( QGL_DLLEXPORT *m_glColor4i )( GLint red, GLint green, GLint blue, GLint alpha );
2058         void ( QGL_DLLEXPORT *m_glColor4iv )( const GLint *v );
2059         void ( QGL_DLLEXPORT *m_glColor4s )( GLshort red, GLshort green, GLshort blue, GLshort alpha );
2060         void ( QGL_DLLEXPORT *m_glColor4sv )( const GLshort *v );
2061         void ( QGL_DLLEXPORT *m_glColor4ub )( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
2062         void ( QGL_DLLEXPORT *m_glColor4ubv )( const GLubyte *v );
2063         void ( QGL_DLLEXPORT *m_glColor4ui )( GLuint red, GLuint green, GLuint blue, GLuint alpha );
2064         void ( QGL_DLLEXPORT *m_glColor4uiv )( const GLuint *v );
2065         void ( QGL_DLLEXPORT *m_glColor4us )( GLushort red, GLushort green, GLushort blue, GLushort alpha );
2066         void ( QGL_DLLEXPORT *m_glColor4usv )( const GLushort *v );
2067         void ( QGL_DLLEXPORT *m_glColorMask )( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
2068         void ( QGL_DLLEXPORT *m_glColorMaterial )( GLenum face, GLenum mode );
2069         void ( QGL_DLLEXPORT *m_glColorPointer )( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
2070         void ( QGL_DLLEXPORT *m_glCopyPixels )( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
2071         void ( QGL_DLLEXPORT *m_glCopyTexImage1D )( GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border );
2072         void ( QGL_DLLEXPORT *m_glCopyTexImage2D )( GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
2073         void ( QGL_DLLEXPORT *m_glCopyTexSubImage1D )( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
2074         void ( QGL_DLLEXPORT *m_glCopyTexSubImage2D )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
2075         void ( QGL_DLLEXPORT *m_glCullFace )( GLenum mode );
2076         void ( QGL_DLLEXPORT *m_glDeleteLists )( GLuint list, GLsizei range );
2077         void ( QGL_DLLEXPORT *m_glDeleteTextures )( GLsizei n, const GLuint *textures );
2078         void ( QGL_DLLEXPORT *m_glDepthFunc )( GLenum func );
2079         void ( QGL_DLLEXPORT *m_glDepthMask )( GLboolean flag );
2080         void ( QGL_DLLEXPORT *m_glDepthRange )( GLclampd zNear, GLclampd zFar );
2081         void ( QGL_DLLEXPORT *m_glDisable )( GLenum cap );
2082         void ( QGL_DLLEXPORT *m_glDisableClientState )( GLenum array );
2083         void ( QGL_DLLEXPORT *m_glDrawArrays )( GLenum mode, GLint first, GLsizei count );
2084         void ( QGL_DLLEXPORT *m_glDrawBuffer )( GLenum mode );
2085         void ( QGL_DLLEXPORT *m_glDrawElements )( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
2086         void ( QGL_DLLEXPORT *m_glDrawPixels )( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
2087         void ( QGL_DLLEXPORT *m_glEdgeFlag )( GLboolean flag );
2088         void ( QGL_DLLEXPORT *m_glEdgeFlagPointer )( GLsizei stride, const GLvoid *pointer );
2089         void ( QGL_DLLEXPORT *m_glEdgeFlagv )( const GLboolean *flag );
2090         void ( QGL_DLLEXPORT *m_glEnable )( GLenum cap );
2091         void ( QGL_DLLEXPORT *m_glEnableClientState )( GLenum array );
2092         void ( QGL_DLLEXPORT *m_glEnd )( void );
2093         void ( QGL_DLLEXPORT *m_glEndList )( void );
2094         void ( QGL_DLLEXPORT *m_glEvalCoord1d )( GLdouble u );
2095         void ( QGL_DLLEXPORT *m_glEvalCoord1dv )( const GLdouble *u );
2096         void ( QGL_DLLEXPORT *m_glEvalCoord1f )( GLfloat u );
2097         void ( QGL_DLLEXPORT *m_glEvalCoord1fv )( const GLfloat *u );
2098         void ( QGL_DLLEXPORT *m_glEvalCoord2d )( GLdouble u, GLdouble v );
2099         void ( QGL_DLLEXPORT *m_glEvalCoord2dv )( const GLdouble *u );
2100         void ( QGL_DLLEXPORT *m_glEvalCoord2f )( GLfloat u, GLfloat v );
2101         void ( QGL_DLLEXPORT *m_glEvalCoord2fv )( const GLfloat *u );
2102         void ( QGL_DLLEXPORT *m_glEvalMesh1 )( GLenum mode, GLint i1, GLint i2 );
2103         void ( QGL_DLLEXPORT *m_glEvalMesh2 )( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
2104         void ( QGL_DLLEXPORT *m_glEvalPoint1 )( GLint i );
2105         void ( QGL_DLLEXPORT *m_glEvalPoint2 )( GLint i, GLint j );
2106         void ( QGL_DLLEXPORT *m_glFeedbackBuffer )( GLsizei size, GLenum type, GLfloat *buffer );
2107         void ( QGL_DLLEXPORT *m_glFinish )( void );
2108         void ( QGL_DLLEXPORT *m_glFlush )( void );
2109         void ( QGL_DLLEXPORT *m_glFogf )( GLenum pname, GLfloat param );
2110         void ( QGL_DLLEXPORT *m_glFogfv )( GLenum pname, const GLfloat *params );
2111         void ( QGL_DLLEXPORT *m_glFogi )( GLenum pname, GLint param );
2112         void ( QGL_DLLEXPORT *m_glFogiv )( GLenum pname, const GLint *params );
2113         void ( QGL_DLLEXPORT *m_glFrontFace )( GLenum mode );
2114         void ( QGL_DLLEXPORT *m_glFrustum )( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
2115         GLuint ( QGL_DLLEXPORT *m_glGenLists )( GLsizei range );
2116         void ( QGL_DLLEXPORT *m_glGenTextures )( GLsizei n, GLuint *textures );
2117         void ( QGL_DLLEXPORT *m_glGetBooleanv )( GLenum pname, GLboolean *params );
2118         void ( QGL_DLLEXPORT *m_glGetClipPlane )( GLenum plane, GLdouble *equation );
2119         void ( QGL_DLLEXPORT *m_glGetDoublev )( GLenum pname, GLdouble *params );
2120         GLenum ( QGL_DLLEXPORT *m_glGetError )( void );
2121         void ( QGL_DLLEXPORT *m_glGetFloatv )( GLenum pname, GLfloat *params );
2122         void ( QGL_DLLEXPORT *m_glGetIntegerv )( GLenum pname, GLint *params );
2123         void ( QGL_DLLEXPORT *m_glGetLightfv )( GLenum light, GLenum pname, GLfloat *params );
2124         void ( QGL_DLLEXPORT *m_glGetLightiv )( GLenum light, GLenum pname, GLint *params );
2125         void ( QGL_DLLEXPORT *m_glGetMapdv )( GLenum target, GLenum query, GLdouble *v );
2126         void ( QGL_DLLEXPORT *m_glGetMapfv )( GLenum target, GLenum query, GLfloat *v );
2127         void ( QGL_DLLEXPORT *m_glGetMapiv )( GLenum target, GLenum query, GLint *v );
2128         void ( QGL_DLLEXPORT *m_glGetMaterialfv )( GLenum face, GLenum pname, GLfloat *params );
2129         void ( QGL_DLLEXPORT *m_glGetMaterialiv )( GLenum face, GLenum pname, GLint *params );
2130         void ( QGL_DLLEXPORT *m_glGetPixelMapfv )( GLenum map, GLfloat *values );
2131         void ( QGL_DLLEXPORT *m_glGetPixelMapuiv )( GLenum map, GLuint *values );
2132         void ( QGL_DLLEXPORT *m_glGetPixelMapusv )( GLenum map, GLushort *values );
2133         void ( QGL_DLLEXPORT *m_glGetPointerv )( GLenum pname, GLvoid* *params );
2134         void ( QGL_DLLEXPORT *m_glGetPolygonStipple )( GLubyte *mask );
2135         const GLubyte * ( QGL_DLLEXPORT * m_glGetString )(GLenum name);
2136         void ( QGL_DLLEXPORT *m_glGetTexEnvfv )( GLenum target, GLenum pname, GLfloat *params );
2137         void ( QGL_DLLEXPORT *m_glGetTexEnviv )( GLenum target, GLenum pname, GLint *params );
2138         void ( QGL_DLLEXPORT *m_glGetTexGendv )( GLenum coord, GLenum pname, GLdouble *params );
2139         void ( QGL_DLLEXPORT *m_glGetTexGenfv )( GLenum coord, GLenum pname, GLfloat *params );
2140         void ( QGL_DLLEXPORT *m_glGetTexGeniv )( GLenum coord, GLenum pname, GLint *params );
2141         void ( QGL_DLLEXPORT *m_glGetTexImage )( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels );
2142         void ( QGL_DLLEXPORT *m_glGetTexLevelParameterfv )( GLenum target, GLint level, GLenum pname, GLfloat *params );
2143         void ( QGL_DLLEXPORT *m_glGetTexLevelParameteriv )( GLenum target, GLint level, GLenum pname, GLint *params );
2144         void ( QGL_DLLEXPORT *m_glGetTexParameterfv )( GLenum target, GLenum pname, GLfloat *params );
2145         void ( QGL_DLLEXPORT *m_glGetTexParameteriv )( GLenum target, GLenum pname, GLint *params );
2146         void ( QGL_DLLEXPORT *m_glHint )( GLenum target, GLenum mode );
2147         void ( QGL_DLLEXPORT *m_glIndexMask )( GLuint mask );
2148         void ( QGL_DLLEXPORT *m_glIndexPointer )( GLenum type, GLsizei stride, const GLvoid *pointer );
2149         void ( QGL_DLLEXPORT *m_glIndexd )( GLdouble c );
2150         void ( QGL_DLLEXPORT *m_glIndexdv )( const GLdouble *c );
2151         void ( QGL_DLLEXPORT *m_glIndexf )( GLfloat c );
2152         void ( QGL_DLLEXPORT *m_glIndexfv )( const GLfloat *c );
2153         void ( QGL_DLLEXPORT *m_glIndexi )( GLint c );
2154         void ( QGL_DLLEXPORT *m_glIndexiv )( const GLint *c );
2155         void ( QGL_DLLEXPORT *m_glIndexs )( GLshort c );
2156         void ( QGL_DLLEXPORT *m_glIndexsv )( const GLshort *c );
2157         void ( QGL_DLLEXPORT *m_glIndexub )( GLubyte c );
2158         void ( QGL_DLLEXPORT *m_glIndexubv )( const GLubyte *c );
2159         void ( QGL_DLLEXPORT *m_glInitNames )( void );
2160         void ( QGL_DLLEXPORT *m_glInterleavedArrays )( GLenum format, GLsizei stride, const GLvoid *pointer );
2161         GLboolean ( QGL_DLLEXPORT *m_glIsEnabled )( GLenum cap );
2162         GLboolean ( QGL_DLLEXPORT *m_glIsList )( GLuint list );
2163         GLboolean ( QGL_DLLEXPORT *m_glIsTexture )( GLuint texture );
2164         void ( QGL_DLLEXPORT *m_glLightModelf )( GLenum pname, GLfloat param );
2165         void ( QGL_DLLEXPORT *m_glLightModelfv )( GLenum pname, const GLfloat *params );
2166         void ( QGL_DLLEXPORT *m_glLightModeli )( GLenum pname, GLint param );
2167         void ( QGL_DLLEXPORT *m_glLightModeliv )( GLenum pname, const GLint *params );
2168         void ( QGL_DLLEXPORT *m_glLightf )( GLenum light, GLenum pname, GLfloat param );
2169         void ( QGL_DLLEXPORT *m_glLightfv )( GLenum light, GLenum pname, const GLfloat *params );
2170         void ( QGL_DLLEXPORT *m_glLighti )( GLenum light, GLenum pname, GLint param );
2171         void ( QGL_DLLEXPORT *m_glLightiv )( GLenum light, GLenum pname, const GLint *params );
2172         void ( QGL_DLLEXPORT *m_glLineStipple )( GLint factor, GLushort pattern );
2173         void ( QGL_DLLEXPORT *m_glLineWidth )( GLfloat width );
2174         void ( QGL_DLLEXPORT *m_glListBase )( GLuint base );
2175         void ( QGL_DLLEXPORT *m_glLoadIdentity )( void );
2176         void ( QGL_DLLEXPORT *m_glLoadMatrixd )( const GLdouble *m );
2177         void ( QGL_DLLEXPORT *m_glLoadMatrixf )( const GLfloat *m );
2178         void ( QGL_DLLEXPORT *m_glLoadName )( GLuint name );
2179         void ( QGL_DLLEXPORT *m_glLogicOp )( GLenum opcode );
2180         void ( QGL_DLLEXPORT *m_glMap1d )( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
2181         void ( QGL_DLLEXPORT *m_glMap1f )( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
2182         void ( QGL_DLLEXPORT *m_glMap2d )( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
2183         void ( QGL_DLLEXPORT *m_glMap2f )( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
2184         void ( QGL_DLLEXPORT *m_glMapGrid1d )( GLint un, GLdouble u1, GLdouble u2 );
2185         void ( QGL_DLLEXPORT *m_glMapGrid1f )( GLint un, GLfloat u1, GLfloat u2 );
2186         void ( QGL_DLLEXPORT *m_glMapGrid2d )( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
2187         void ( QGL_DLLEXPORT *m_glMapGrid2f )( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
2188         void ( QGL_DLLEXPORT *m_glMaterialf )( GLenum face, GLenum pname, GLfloat param );
2189         void ( QGL_DLLEXPORT *m_glMaterialfv )( GLenum face, GLenum pname, const GLfloat *params );
2190         void ( QGL_DLLEXPORT *m_glMateriali )( GLenum face, GLenum pname, GLint param );
2191         void ( QGL_DLLEXPORT *m_glMaterialiv )( GLenum face, GLenum pname, const GLint *params );
2192         void ( QGL_DLLEXPORT *m_glMatrixMode )( GLenum mode );
2193         void ( QGL_DLLEXPORT *m_glMultMatrixd )( const GLdouble *m );
2194         void ( QGL_DLLEXPORT *m_glMultMatrixf )( const GLfloat *m );
2195         void ( QGL_DLLEXPORT *m_glNewList )( GLuint list, GLenum mode );
2196         void ( QGL_DLLEXPORT *m_glNormal3b )( GLbyte nx, GLbyte ny, GLbyte nz );
2197         void ( QGL_DLLEXPORT *m_glNormal3bv )( const GLbyte *v );
2198         void ( QGL_DLLEXPORT *m_glNormal3d )( GLdouble nx, GLdouble ny, GLdouble nz );
2199         void ( QGL_DLLEXPORT *m_glNormal3dv )( const GLdouble *v );
2200         void ( QGL_DLLEXPORT *m_glNormal3f )( GLfloat nx, GLfloat ny, GLfloat nz );
2201         void ( QGL_DLLEXPORT *m_glNormal3fv )( const GLfloat *v );
2202         void ( QGL_DLLEXPORT *m_glNormal3i )( GLint nx, GLint ny, GLint nz );
2203         void ( QGL_DLLEXPORT *m_glNormal3iv )( const GLint *v );
2204         void ( QGL_DLLEXPORT *m_glNormal3s )( GLshort nx, GLshort ny, GLshort nz );
2205         void ( QGL_DLLEXPORT *m_glNormal3sv )( const GLshort *v );
2206         void ( QGL_DLLEXPORT *m_glNormalPointer )( GLenum type, GLsizei stride, const GLvoid *pointer );
2207         void ( QGL_DLLEXPORT *m_glOrtho )( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
2208         void ( QGL_DLLEXPORT *m_glPassThrough )( GLfloat token );
2209         void ( QGL_DLLEXPORT *m_glPixelMapfv )( GLenum map, GLsizei mapsize, const GLfloat *values );
2210         void ( QGL_DLLEXPORT *m_glPixelMapuiv )( GLenum map, GLsizei mapsize, const GLuint *values );
2211         void ( QGL_DLLEXPORT *m_glPixelMapusv )( GLenum map, GLsizei mapsize, const GLushort *values );
2212         void ( QGL_DLLEXPORT *m_glPixelStoref )( GLenum pname, GLfloat param );
2213         void ( QGL_DLLEXPORT *m_glPixelStorei )( GLenum pname, GLint param );
2214         void ( QGL_DLLEXPORT *m_glPixelTransferf )( GLenum pname, GLfloat param );
2215         void ( QGL_DLLEXPORT *m_glPixelTransferi )( GLenum pname, GLint param );
2216         void ( QGL_DLLEXPORT *m_glPixelZoom )( GLfloat xfactor, GLfloat yfactor );
2217         void ( QGL_DLLEXPORT *m_glPointSize )( GLfloat size );
2218         void ( QGL_DLLEXPORT *m_glPolygonMode )( GLenum face, GLenum mode );
2219         void ( QGL_DLLEXPORT *m_glPolygonOffset )( GLfloat factor, GLfloat units );
2220         void ( QGL_DLLEXPORT *m_glPolygonStipple )( const GLubyte *mask );
2221         void ( QGL_DLLEXPORT *m_glPopAttrib )( void );
2222         void ( QGL_DLLEXPORT *m_glPopClientAttrib )( void );
2223         void ( QGL_DLLEXPORT *m_glPopMatrix )( void );
2224         void ( QGL_DLLEXPORT *m_glPopName )( void );
2225         void ( QGL_DLLEXPORT *m_glPrioritizeTextures )( GLsizei n, const GLuint *textures, const GLclampf *priorities );
2226         void ( QGL_DLLEXPORT *m_glPushAttrib )( GLbitfield mask );
2227         void ( QGL_DLLEXPORT *m_glPushClientAttrib )( GLbitfield mask );
2228         void ( QGL_DLLEXPORT *m_glPushMatrix )( void );
2229         void ( QGL_DLLEXPORT *m_glPushName )( GLuint name );
2230         void ( QGL_DLLEXPORT *m_glRasterPos2d )( GLdouble x, GLdouble y );
2231         void ( QGL_DLLEXPORT *m_glRasterPos2dv )( const GLdouble *v );
2232         void ( QGL_DLLEXPORT *m_glRasterPos2f )( GLfloat x, GLfloat y );
2233         void ( QGL_DLLEXPORT *m_glRasterPos2fv )( const GLfloat *v );
2234         void ( QGL_DLLEXPORT *m_glRasterPos2i )( GLint x, GLint y );
2235         void ( QGL_DLLEXPORT *m_glRasterPos2iv )( const GLint *v );
2236         void ( QGL_DLLEXPORT *m_glRasterPos2s )( GLshort x, GLshort y );
2237         void ( QGL_DLLEXPORT *m_glRasterPos2sv )( const GLshort *v );
2238         void ( QGL_DLLEXPORT *m_glRasterPos3d )( GLdouble x, GLdouble y, GLdouble z );
2239         void ( QGL_DLLEXPORT *m_glRasterPos3dv )( const GLdouble *v );
2240         void ( QGL_DLLEXPORT *m_glRasterPos3f )( GLfloat x, GLfloat y, GLfloat z );
2241         void ( QGL_DLLEXPORT *m_glRasterPos3fv )( const GLfloat *v );
2242         void ( QGL_DLLEXPORT *m_glRasterPos3i )( GLint x, GLint y, GLint z );
2243         void ( QGL_DLLEXPORT *m_glRasterPos3iv )( const GLint *v );
2244         void ( QGL_DLLEXPORT *m_glRasterPos3s )( GLshort x, GLshort y, GLshort z );
2245         void ( QGL_DLLEXPORT *m_glRasterPos3sv )( const GLshort *v );
2246         void ( QGL_DLLEXPORT *m_glRasterPos4d )( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
2247         void ( QGL_DLLEXPORT *m_glRasterPos4dv )( const GLdouble *v );
2248         void ( QGL_DLLEXPORT *m_glRasterPos4f )( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
2249         void ( QGL_DLLEXPORT *m_glRasterPos4fv )( const GLfloat *v );
2250         void ( QGL_DLLEXPORT *m_glRasterPos4i )( GLint x, GLint y, GLint z, GLint w );
2251         void ( QGL_DLLEXPORT *m_glRasterPos4iv )( const GLint *v );
2252         void ( QGL_DLLEXPORT *m_glRasterPos4s )( GLshort x, GLshort y, GLshort z, GLshort w );
2253         void ( QGL_DLLEXPORT *m_glRasterPos4sv )( const GLshort *v );
2254         void ( QGL_DLLEXPORT *m_glReadBuffer )( GLenum mode );
2255         void ( QGL_DLLEXPORT *m_glReadPixels )( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels );
2256         void ( QGL_DLLEXPORT *m_glRectd )( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
2257         void ( QGL_DLLEXPORT *m_glRectdv )( const GLdouble *v1, const GLdouble *v2 );
2258         void ( QGL_DLLEXPORT *m_glRectf )( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
2259         void ( QGL_DLLEXPORT *m_glRectfv )( const GLfloat *v1, const GLfloat *v2 );
2260         void ( QGL_DLLEXPORT *m_glRecti )( GLint x1, GLint y1, GLint x2, GLint y2 );
2261         void ( QGL_DLLEXPORT *m_glRectiv )( const GLint *v1, const GLint *v2 );
2262         void ( QGL_DLLEXPORT *m_glRects )( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
2263         void ( QGL_DLLEXPORT *m_glRectsv )( const GLshort *v1, const GLshort *v2 );
2264         GLint ( QGL_DLLEXPORT *m_glRenderMode )( GLenum mode );
2265         void ( QGL_DLLEXPORT *m_glRotated )( GLdouble anm_gle, GLdouble x, GLdouble y, GLdouble z );
2266         void ( QGL_DLLEXPORT *m_glRotatef )( GLfloat anm_gle, GLfloat x, GLfloat y, GLfloat z );
2267         void ( QGL_DLLEXPORT *m_glScaled )( GLdouble x, GLdouble y, GLdouble z );
2268         void ( QGL_DLLEXPORT *m_glScalef )( GLfloat x, GLfloat y, GLfloat z );
2269         void ( QGL_DLLEXPORT *m_glScissor )( GLint x, GLint y, GLsizei width, GLsizei height );
2270         void ( QGL_DLLEXPORT *m_glSelectBuffer )( GLsizei size, GLuint *buffer );
2271         void ( QGL_DLLEXPORT *m_glShadeModel )( GLenum mode );
2272         void ( QGL_DLLEXPORT *m_glStencilFunc )( GLenum func, GLint ref, GLuint mask );
2273         void ( QGL_DLLEXPORT *m_glStencilMask )( GLuint mask );
2274         void ( QGL_DLLEXPORT *m_glStencilOp )( GLenum fail, GLenum zfail, GLenum zpass );
2275         void ( QGL_DLLEXPORT *m_glTexCoord1d )( GLdouble s );
2276         void ( QGL_DLLEXPORT *m_glTexCoord1dv )( const GLdouble *v );
2277         void ( QGL_DLLEXPORT *m_glTexCoord1f )( GLfloat s );
2278         void ( QGL_DLLEXPORT *m_glTexCoord1fv )( const GLfloat *v );
2279         void ( QGL_DLLEXPORT *m_glTexCoord1i )( GLint s );
2280         void ( QGL_DLLEXPORT *m_glTexCoord1iv )( const GLint *v );
2281         void ( QGL_DLLEXPORT *m_glTexCoord1s )( GLshort s );
2282         void ( QGL_DLLEXPORT *m_glTexCoord1sv )( const GLshort *v );
2283         void ( QGL_DLLEXPORT *m_glTexCoord2d )( GLdouble s, GLdouble t );
2284         void ( QGL_DLLEXPORT *m_glTexCoord2dv )( const GLdouble *v );
2285         void ( QGL_DLLEXPORT *m_glTexCoord2f )( GLfloat s, GLfloat t );
2286         void ( QGL_DLLEXPORT *m_glTexCoord2fv )( const GLfloat *v );
2287         void ( QGL_DLLEXPORT *m_glTexCoord2i )( GLint s, GLint t );
2288         void ( QGL_DLLEXPORT *m_glTexCoord2iv )( const GLint *v );
2289         void ( QGL_DLLEXPORT *m_glTexCoord2s )( GLshort s, GLshort t );
2290         void ( QGL_DLLEXPORT *m_glTexCoord2sv )( const GLshort *v );
2291         void ( QGL_DLLEXPORT *m_glTexCoord3d )( GLdouble s, GLdouble t, GLdouble r );
2292         void ( QGL_DLLEXPORT *m_glTexCoord3dv )( const GLdouble *v );
2293         void ( QGL_DLLEXPORT *m_glTexCoord3f )( GLfloat s, GLfloat t, GLfloat r );
2294         void ( QGL_DLLEXPORT *m_glTexCoord3fv )( const GLfloat *v );
2295         void ( QGL_DLLEXPORT *m_glTexCoord3i )( GLint s, GLint t, GLint r );
2296         void ( QGL_DLLEXPORT *m_glTexCoord3iv )( const GLint *v );
2297         void ( QGL_DLLEXPORT *m_glTexCoord3s )( GLshort s, GLshort t, GLshort r );
2298         void ( QGL_DLLEXPORT *m_glTexCoord3sv )( const GLshort *v );
2299         void ( QGL_DLLEXPORT *m_glTexCoord4d )( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
2300         void ( QGL_DLLEXPORT *m_glTexCoord4dv )( const GLdouble *v );
2301         void ( QGL_DLLEXPORT *m_glTexCoord4f )( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
2302         void ( QGL_DLLEXPORT *m_glTexCoord4fv )( const GLfloat *v );
2303         void ( QGL_DLLEXPORT *m_glTexCoord4i )( GLint s, GLint t, GLint r, GLint q );
2304         void ( QGL_DLLEXPORT *m_glTexCoord4iv )( const GLint *v );
2305         void ( QGL_DLLEXPORT *m_glTexCoord4s )( GLshort s, GLshort t, GLshort r, GLshort q );
2306         void ( QGL_DLLEXPORT *m_glTexCoord4sv )( const GLshort *v );
2307         void ( QGL_DLLEXPORT *m_glTexCoordPointer )( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
2308         void ( QGL_DLLEXPORT *m_glTexEnvf )( GLenum target, GLenum pname, GLfloat param );
2309         void ( QGL_DLLEXPORT *m_glTexEnvfv )( GLenum target, GLenum pname, const GLfloat *params );
2310         void ( QGL_DLLEXPORT *m_glTexEnvi )( GLenum target, GLenum pname, GLint param );
2311         void ( QGL_DLLEXPORT *m_glTexEnviv )( GLenum target, GLenum pname, const GLint *params );
2312         void ( QGL_DLLEXPORT *m_glTexGend )( GLenum coord, GLenum pname, GLdouble param );
2313         void ( QGL_DLLEXPORT *m_glTexGendv )( GLenum coord, GLenum pname, const GLdouble *params );
2314         void ( QGL_DLLEXPORT *m_glTexGenf )( GLenum coord, GLenum pname, GLfloat param );
2315         void ( QGL_DLLEXPORT *m_glTexGenfv )( GLenum coord, GLenum pname, const GLfloat *params );
2316         void ( QGL_DLLEXPORT *m_glTexGeni )( GLenum coord, GLenum pname, GLint param );
2317         void ( QGL_DLLEXPORT *m_glTexGeniv )( GLenum coord, GLenum pname, const GLint *params );
2318 #if defined( MACVERSION ) && MACVERSION > 15
2319         //Snow Leopard 16, Leopard 15, Tiger 14, Panther 13, ...
2320         void ( QGL_DLLEXPORT *m_glTexImage1D )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
2321         void ( QGL_DLLEXPORT *m_glTexImage2D )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
2322 #else
2323         void ( QGL_DLLEXPORT *m_glTexImage1D )( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
2324         void ( QGL_DLLEXPORT *m_glTexImage2D )( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
2325 #endif
2326         void ( QGL_DLLEXPORT *m_glTexParameterf )( GLenum target, GLenum pname, GLfloat param );
2327         void ( QGL_DLLEXPORT *m_glTexParameterfv )( GLenum target, GLenum pname, const GLfloat *params );
2328         void ( QGL_DLLEXPORT *m_glTexParameteri )( GLenum target, GLenum pname, GLint param );
2329         void ( QGL_DLLEXPORT *m_glTexParameteriv )( GLenum target, GLenum pname, const GLint *params );
2330         void ( QGL_DLLEXPORT *m_glTexSubImage1D )( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels );
2331         void ( QGL_DLLEXPORT *m_glTexSubImage2D )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
2332         void ( QGL_DLLEXPORT *m_glTranslated )( GLdouble x, GLdouble y, GLdouble z );
2333         void ( QGL_DLLEXPORT *m_glTranslatef )( GLfloat x, GLfloat y, GLfloat z );
2334         void ( QGL_DLLEXPORT *m_glVertex2d )( GLdouble x, GLdouble y );
2335         void ( QGL_DLLEXPORT *m_glVertex2dv )( const GLdouble *v );
2336         void ( QGL_DLLEXPORT *m_glVertex2f )( GLfloat x, GLfloat y );
2337         void ( QGL_DLLEXPORT *m_glVertex2fv )( const GLfloat *v );
2338         void ( QGL_DLLEXPORT *m_glVertex2i )( GLint x, GLint y );
2339         void ( QGL_DLLEXPORT *m_glVertex2iv )( const GLint *v );
2340         void ( QGL_DLLEXPORT *m_glVertex2s )( GLshort x, GLshort y );
2341         void ( QGL_DLLEXPORT *m_glVertex2sv )( const GLshort *v );
2342         void ( QGL_DLLEXPORT *m_glVertex3d )( GLdouble x, GLdouble y, GLdouble z );
2343         void ( QGL_DLLEXPORT *m_glVertex3dv )( const GLdouble *v );
2344         void ( QGL_DLLEXPORT *m_glVertex3f )( GLfloat x, GLfloat y, GLfloat z );
2345         void ( QGL_DLLEXPORT *m_glVertex3fv )( const GLfloat *v );
2346         void ( QGL_DLLEXPORT *m_glVertex3i )( GLint x, GLint y, GLint z );
2347         void ( QGL_DLLEXPORT *m_glVertex3iv )( const GLint *v );
2348         void ( QGL_DLLEXPORT *m_glVertex3s )( GLshort x, GLshort y, GLshort z );
2349         void ( QGL_DLLEXPORT *m_glVertex3sv )( const GLshort *v );
2350         void ( QGL_DLLEXPORT *m_glVertex4d )( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
2351         void ( QGL_DLLEXPORT *m_glVertex4dv )( const GLdouble *v );
2352         void ( QGL_DLLEXPORT *m_glVertex4f )( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
2353         void ( QGL_DLLEXPORT *m_glVertex4fv )( const GLfloat *v );
2354         void ( QGL_DLLEXPORT *m_glVertex4i )( GLint x, GLint y, GLint z, GLint w );
2355         void ( QGL_DLLEXPORT *m_glVertex4iv )( const GLint *v );
2356         void ( QGL_DLLEXPORT *m_glVertex4s )( GLshort x, GLshort y, GLshort z, GLshort w );
2357         void ( QGL_DLLEXPORT *m_glVertex4sv )( const GLshort *v );
2358         void ( QGL_DLLEXPORT *m_glVertexPointer )( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
2359         void ( QGL_DLLEXPORT *m_glViewport )( GLint x, GLint y, GLsizei width, GLsizei height );
2360
2361         // GL_ARB_multitexture
2362         bool support_ARB_multitexture;
2363         bool ARB_multitexture(){
2364                 return support_ARB_multitexture;
2365         }
2366         void ( QGL_DLLEXPORT *m_glActiveTextureARB )( GLenum texture );
2367         void ( QGL_DLLEXPORT *m_glClientActiveTextureARB )( GLenum texture );
2368         void ( QGL_DLLEXPORT *m_glMultiTexCoord1dARB )( GLenum target, GLdouble s );
2369         void ( QGL_DLLEXPORT *m_glMultiTexCoord1dvARB )( GLenum target, const GLdouble *v );
2370         void ( QGL_DLLEXPORT *m_glMultiTexCoord1fARB )( GLenum target, GLfloat s );
2371         void ( QGL_DLLEXPORT *m_glMultiTexCoord1fvARB )( GLenum target, const GLfloat *v );
2372         void ( QGL_DLLEXPORT *m_glMultiTexCoord1iARB )( GLenum target, GLint s );
2373         void ( QGL_DLLEXPORT *m_glMultiTexCoord1ivARB )( GLenum target, const GLint *v );
2374         void ( QGL_DLLEXPORT *m_glMultiTexCoord1sARB )( GLenum target, GLshort s );
2375         void ( QGL_DLLEXPORT *m_glMultiTexCoord1svARB )( GLenum target, const GLshort *v );
2376         void ( QGL_DLLEXPORT *m_glMultiTexCoord2dARB )( GLenum target, GLdouble s );
2377         void ( QGL_DLLEXPORT *m_glMultiTexCoord2dvARB )( GLenum target, const GLdouble *v );
2378         void ( QGL_DLLEXPORT *m_glMultiTexCoord2fARB )( GLenum target, GLfloat s );
2379         void ( QGL_DLLEXPORT *m_glMultiTexCoord2fvARB )( GLenum target, const GLfloat *v );
2380         void ( QGL_DLLEXPORT *m_glMultiTexCoord2iARB )( GLenum target, GLint s );
2381         void ( QGL_DLLEXPORT *m_glMultiTexCoord2ivARB )( GLenum target, const GLint *v );
2382         void ( QGL_DLLEXPORT *m_glMultiTexCoord2sARB )( GLenum target, GLshort s );
2383         void ( QGL_DLLEXPORT *m_glMultiTexCoord2svARB )( GLenum target, const GLshort *v );
2384         void ( QGL_DLLEXPORT *m_glMultiTexCoord3dARB )( GLenum target, GLdouble s );
2385         void ( QGL_DLLEXPORT *m_glMultiTexCoord3dvARB )( GLenum target, const GLdouble *v );
2386         void ( QGL_DLLEXPORT *m_glMultiTexCoord3fARB )( GLenum target, GLfloat s );
2387         void ( QGL_DLLEXPORT *m_glMultiTexCoord3fvARB )( GLenum target, const GLfloat *v );
2388         void ( QGL_DLLEXPORT *m_glMultiTexCoord3iARB )( GLenum target, GLint s );
2389         void ( QGL_DLLEXPORT *m_glMultiTexCoord3ivARB )( GLenum target, const GLint *v );
2390         void ( QGL_DLLEXPORT *m_glMultiTexCoord3sARB )( GLenum target, GLshort s );
2391         void ( QGL_DLLEXPORT *m_glMultiTexCoord3svARB )( GLenum target, const GLshort *v );
2392         void ( QGL_DLLEXPORT *m_glMultiTexCoord4dARB )( GLenum target, GLdouble s );
2393         void ( QGL_DLLEXPORT *m_glMultiTexCoord4dvARB )( GLenum target, const GLdouble *v );
2394         void ( QGL_DLLEXPORT *m_glMultiTexCoord4fARB )( GLenum target, GLfloat s );
2395         void ( QGL_DLLEXPORT *m_glMultiTexCoord4fvARB )( GLenum target, const GLfloat *v );
2396         void ( QGL_DLLEXPORT *m_glMultiTexCoord4iARB )( GLenum target, GLint s );
2397         void ( QGL_DLLEXPORT *m_glMultiTexCoord4ivARB )( GLenum target, const GLint *v );
2398         void ( QGL_DLLEXPORT *m_glMultiTexCoord4sARB )( GLenum target, GLshort s );
2399         void ( QGL_DLLEXPORT *m_glMultiTexCoord4svARB )( GLenum target, const GLshort *v );
2400
2401         // ARB_texture_compression
2402         bool support_ARB_texture_compression;
2403         bool ARB_texture_compression(){
2404                 return support_ARB_texture_compression;
2405         }
2406         void ( QGL_DLLEXPORT *m_glCompressedTexImage3DARB )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data );
2407         void ( QGL_DLLEXPORT *m_glCompressedTexImage2DARB )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data );
2408         void ( QGL_DLLEXPORT *m_glCompressedTexImage1DARB )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid* data );
2409         void ( QGL_DLLEXPORT *m_glCompressedTexSubImage3DARB )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data );
2410         void ( QGL_DLLEXPORT *m_glCompressedTexSubImage2DARB )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data );
2411         void ( QGL_DLLEXPORT *m_glCompressedTexSubImage1DARB )( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid* data );
2412         void ( QGL_DLLEXPORT *m_glGetCompressedTexImageARB )( GLenum target, GLint lod, GLvoid* img );
2413
2414         // EXT_texture_compression_s3tc
2415         bool support_EXT_texture_compression_s3tc;
2416         bool EXT_texture_compression_s3tc(){
2417                 return support_EXT_texture_compression_s3tc;
2418         }
2419
2420         // GL 1.2
2421         bool support_GL_1_2;
2422         bool GL_1_2(){
2423                 return support_GL_1_2;
2424         }
2425         void ( QGL_DLLEXPORT *m_glCopyTexSubImage3D )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
2426         void ( QGL_DLLEXPORT *m_glDrawRangeElements )( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
2427         void ( QGL_DLLEXPORT *m_glTexImage3D )( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
2428         void ( QGL_DLLEXPORT *m_glTexSubImage3D )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels );
2429
2430         // GL 1.3
2431         bool support_GL_1_3;
2432         bool GL_1_3(){
2433                 return support_GL_1_3;
2434         }
2435         void ( QGL_DLLEXPORT *m_glActiveTexture )( GLenum texture );
2436         void ( QGL_DLLEXPORT *m_glClientActiveTexture )( GLenum texture );
2437         void ( QGL_DLLEXPORT *m_glCompressedTexImage1D )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
2438         void ( QGL_DLLEXPORT *m_glCompressedTexImage2D )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
2439         void ( QGL_DLLEXPORT *m_glCompressedTexImage3D )( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
2440         void ( QGL_DLLEXPORT *m_glCompressedTexSubImage1D )( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
2441         void ( QGL_DLLEXPORT *m_glCompressedTexSubImage2D )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
2442         void ( QGL_DLLEXPORT *m_glCompressedTexSubImage3D )( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
2443         void ( QGL_DLLEXPORT *m_glGetCompressedTexImage )( GLenum target, GLint lod, GLvoid *img );
2444         void ( QGL_DLLEXPORT *m_glLoadTransposeMatrixd )( const GLdouble m[16] );
2445         void ( QGL_DLLEXPORT *m_glLoadTransposeMatrixf )( const GLfloat m[16] );
2446         void ( QGL_DLLEXPORT *m_glMultTransposeMatrixd )( const GLdouble m[16] );
2447         void ( QGL_DLLEXPORT *m_glMultTransposeMatrixf )( const GLfloat m[16] );
2448         void ( QGL_DLLEXPORT *m_glMultiTexCoord1d )( GLenum target, GLdouble s );
2449         void ( QGL_DLLEXPORT *m_glMultiTexCoord1dv )( GLenum target, const GLdouble *v );
2450         void ( QGL_DLLEXPORT *m_glMultiTexCoord1f )( GLenum target, GLfloat s );
2451         void ( QGL_DLLEXPORT *m_glMultiTexCoord1fv )( GLenum target, const GLfloat *v );
2452         void ( QGL_DLLEXPORT *m_glMultiTexCoord1i )( GLenum target, GLint s );
2453         void ( QGL_DLLEXPORT *m_glMultiTexCoord1iv )( GLenum target, const GLint *v );
2454         void ( QGL_DLLEXPORT *m_glMultiTexCoord1s )( GLenum target, GLshort s );
2455         void ( QGL_DLLEXPORT *m_glMultiTexCoord1sv )( GLenum target, const GLshort *v );
2456         void ( QGL_DLLEXPORT *m_glMultiTexCoord2d )( GLenum target, GLdouble s, GLdouble t );
2457         void ( QGL_DLLEXPORT *m_glMultiTexCoord2dv )( GLenum target, const GLdouble *v );
2458         void ( QGL_DLLEXPORT *m_glMultiTexCoord2f )( GLenum target, GLfloat s, GLfloat t );
2459         void ( QGL_DLLEXPORT *m_glMultiTexCoord2fv )( GLenum target, const GLfloat *v );
2460         void ( QGL_DLLEXPORT *m_glMultiTexCoord2i )( GLenum target, GLint s, GLint t );
2461         void ( QGL_DLLEXPORT *m_glMultiTexCoord2iv )( GLenum target, const GLint *v );
2462         void ( QGL_DLLEXPORT *m_glMultiTexCoord2s )( GLenum target, GLshort s, GLshort t );
2463         void ( QGL_DLLEXPORT *m_glMultiTexCoord2sv )( GLenum target, const GLshort *v );
2464         void ( QGL_DLLEXPORT *m_glMultiTexCoord3d )( GLenum target, GLdouble s, GLdouble t, GLdouble r );
2465         void ( QGL_DLLEXPORT *m_glMultiTexCoord3dv )( GLenum target, const GLdouble *v );
2466         void ( QGL_DLLEXPORT *m_glMultiTexCoord3f )( GLenum target, GLfloat s, GLfloat t, GLfloat r );
2467         void ( QGL_DLLEXPORT *m_glMultiTexCoord3fv )( GLenum target, const GLfloat *v );
2468         void ( QGL_DLLEXPORT *m_glMultiTexCoord3i )( GLenum target, GLint s, GLint t, GLint r );
2469         void ( QGL_DLLEXPORT *m_glMultiTexCoord3iv )( GLenum target, const GLint *v );
2470         void ( QGL_DLLEXPORT *m_glMultiTexCoord3s )( GLenum target, GLshort s, GLshort t, GLshort r );
2471         void ( QGL_DLLEXPORT *m_glMultiTexCoord3sv )( GLenum target, const GLshort *v );
2472         void ( QGL_DLLEXPORT *m_glMultiTexCoord4d )( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
2473         void ( QGL_DLLEXPORT *m_glMultiTexCoord4dv )( GLenum target, const GLdouble *v );
2474         void ( QGL_DLLEXPORT *m_glMultiTexCoord4f )( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
2475         void ( QGL_DLLEXPORT *m_glMultiTexCoord4fv )( GLenum target, const GLfloat *v );
2476         void ( QGL_DLLEXPORT *m_glMultiTexCoord4i )( GLenum target, GLint s, GLint t, GLint r, GLint q );
2477         void ( QGL_DLLEXPORT *m_glMultiTexCoord4iv )( GLenum target, const GLint *v );
2478         void ( QGL_DLLEXPORT *m_glMultiTexCoord4s )( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
2479         void ( QGL_DLLEXPORT *m_glMultiTexCoord4sv )( GLenum target, const GLshort *v );
2480         void ( QGL_DLLEXPORT *m_glSampleCoverage )( GLclampf value, GLboolean invert );
2481
2482         // GL 1.4
2483         bool support_GL_1_4;
2484         bool GL_1_4(){
2485                 return support_GL_1_4;
2486         }
2487         void ( QGL_DLLEXPORT *m_glBlendColor )( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
2488         void ( QGL_DLLEXPORT *m_glBlendEquation )( GLenum mode );
2489         void ( QGL_DLLEXPORT *m_glBlendFuncSeparate )( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha );
2490         void ( QGL_DLLEXPORT *m_glFogCoordPointer )( GLenum type, GLsizei stride, const GLvoid *pointer );
2491         void ( QGL_DLLEXPORT *m_glFogCoordd )( GLdouble coord );
2492         void ( QGL_DLLEXPORT *m_glFogCoorddv )( const GLdouble *coord );
2493         void ( QGL_DLLEXPORT *m_glFogCoordf )( GLfloat coord );
2494         void ( QGL_DLLEXPORT *m_glFogCoordfv )( const GLfloat *coord );
2495         void ( QGL_DLLEXPORT *m_glMultiDrawArrays )( GLenum mode, GLint *first, GLsizei *count, GLsizei primcount );
2496         void ( QGL_DLLEXPORT *m_glMultiDrawElements )( GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount );
2497         void ( QGL_DLLEXPORT *m_glPointParameterf )( GLenum pname, GLfloat param );
2498         void ( QGL_DLLEXPORT *m_glPointParameterfv )( GLenum pname, GLfloat *params );
2499         void ( QGL_DLLEXPORT *m_glSecondaryColor3b )( GLbyte red, GLbyte green, GLbyte blue );
2500         void ( QGL_DLLEXPORT *m_glSecondaryColor3bv )( const GLbyte *v );
2501         void ( QGL_DLLEXPORT *m_glSecondaryColor3d )( GLdouble red, GLdouble green, GLdouble blue );
2502         void ( QGL_DLLEXPORT *m_glSecondaryColor3dv )( const GLdouble *v );
2503         void ( QGL_DLLEXPORT *m_glSecondaryColor3f )( GLfloat red, GLfloat green, GLfloat blue );
2504         void ( QGL_DLLEXPORT *m_glSecondaryColor3fv )( const GLfloat *v );
2505         void ( QGL_DLLEXPORT *m_glSecondaryColor3i )( GLint red, GLint green, GLint blue );
2506         void ( QGL_DLLEXPORT *m_glSecondaryColor3iv )( const GLint *v );
2507         void ( QGL_DLLEXPORT *m_glSecondaryColor3s )( GLshort red, GLshort green, GLshort blue );
2508         void ( QGL_DLLEXPORT *m_glSecondaryColor3sv )( const GLshort *v );
2509         void ( QGL_DLLEXPORT *m_glSecondaryColor3ub )( GLubyte red, GLubyte green, GLubyte blue );
2510         void ( QGL_DLLEXPORT *m_glSecondaryColor3ubv )( const GLubyte *v );
2511         void ( QGL_DLLEXPORT *m_glSecondaryColor3ui )( GLuint red, GLuint green, GLuint blue );
2512         void ( QGL_DLLEXPORT *m_glSecondaryColor3uiv )( const GLuint *v );
2513         void ( QGL_DLLEXPORT *m_glSecondaryColor3us )( GLushort red, GLushort green, GLushort blue );
2514         void ( QGL_DLLEXPORT *m_glSecondaryColor3usv )( const GLushort *v );
2515         void ( QGL_DLLEXPORT *m_glSecondaryColorPointer )( GLint size, GLenum type, GLsizei stride, GLvoid *pointer );
2516         void ( QGL_DLLEXPORT *m_glWindowPos2d )( GLdouble x, GLdouble y );
2517         void ( QGL_DLLEXPORT *m_glWindowPos2dv )( const GLdouble *p );
2518         void ( QGL_DLLEXPORT *m_glWindowPos2f )( GLfloat x, GLfloat y );
2519         void ( QGL_DLLEXPORT *m_glWindowPos2fv )( const GLfloat *p );
2520         void ( QGL_DLLEXPORT *m_glWindowPos2i )( GLint x, GLint y );
2521         void ( QGL_DLLEXPORT *m_glWindowPos2iv )( const GLint *p );
2522         void ( QGL_DLLEXPORT *m_glWindowPos2s )( GLshort x, GLshort y );
2523         void ( QGL_DLLEXPORT *m_glWindowPos2sv )( const GLshort *p );
2524         void ( QGL_DLLEXPORT *m_glWindowPos3d )( GLdouble x, GLdouble y, GLdouble z );
2525         void ( QGL_DLLEXPORT *m_glWindowPos3dv )( const GLdouble *p );
2526         void ( QGL_DLLEXPORT *m_glWindowPos3f )( GLfloat x, GLfloat y, GLfloat z );
2527         void ( QGL_DLLEXPORT *m_glWindowPos3fv )( const GLfloat *p );
2528         void ( QGL_DLLEXPORT *m_glWindowPos3i )( GLint x, GLint y, GLint z );
2529         void ( QGL_DLLEXPORT *m_glWindowPos3iv )( const GLint *p );
2530         void ( QGL_DLLEXPORT *m_glWindowPos3s )( GLshort x, GLshort y, GLshort z );
2531         void ( QGL_DLLEXPORT *m_glWindowPos3sv )( const GLshort *p );
2532
2533         // GL 1.5
2534         bool support_GL_1_5;
2535         bool GL_1_5(){
2536                 return support_GL_1_5;
2537         }
2538         void ( QGL_DLLEXPORT *m_glBeginQuery )( GLenum target, GLuint id );
2539         void ( QGL_DLLEXPORT *m_glBindBuffer )( GLenum target, GLuint buffer );
2540         void ( QGL_DLLEXPORT *m_glBufferData )( GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage );
2541         void ( QGL_DLLEXPORT *m_glBufferSubData )( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data );
2542         void ( QGL_DLLEXPORT *m_glDeleteBuffers )( GLsizei n, const GLuint* buffers );
2543         void ( QGL_DLLEXPORT *m_glDeleteQueries )( GLsizei n, const GLuint* ids );
2544         void ( QGL_DLLEXPORT *m_glEndQuery )( GLenum target );
2545         void ( QGL_DLLEXPORT *m_glGenBuffers )( GLsizei n, GLuint* buffers );
2546         void ( QGL_DLLEXPORT *m_glGenQueries )( GLsizei n, GLuint* ids );
2547         void ( QGL_DLLEXPORT *m_glGetBufferParameteriv )( GLenum target, GLenum pname, GLint* params );
2548         void ( QGL_DLLEXPORT *m_glGetBufferPointerv )( GLenum target, GLenum pname, GLvoid** params );
2549         void ( QGL_DLLEXPORT *m_glGetBufferSubData )( GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data );
2550         void ( QGL_DLLEXPORT *m_glGetQueryObjectiv )( GLuint id, GLenum pname, GLint* params );
2551         void ( QGL_DLLEXPORT *m_glGetQueryObjectuiv )( GLuint id, GLenum pname, GLuint* params );
2552         void ( QGL_DLLEXPORT *m_glGetQueryiv )( GLenum target, GLenum pname, GLint params );
2553         GLboolean ( QGL_DLLEXPORT *m_glIsBuffer )( GLuint buffer );
2554         GLboolean ( QGL_DLLEXPORT *m_glIsQuery )( GLuint id );
2555         GLvoid* ( QGL_DLLEXPORT * m_glMapBuffer )( GLenum target, GLenum access );
2556         GLboolean ( QGL_DLLEXPORT *m_glUnmapBuffer )( GLenum target );
2557
2558         // GL_ARB_vertex_program
2559         bool support_ARB_vertex_program;
2560         bool ARB_vertex_program(){
2561                 return support_ARB_vertex_program;
2562         }
2563         void ( QGL_DLLEXPORT *m_glVertexAttrib1sARB )( GLuint index, GLshort x );
2564         void ( QGL_DLLEXPORT *m_glVertexAttrib1fARB )( GLuint index, GLfloat x );
2565         void ( QGL_DLLEXPORT *m_glVertexAttrib1dARB )( GLuint index, GLdouble x );
2566         void ( QGL_DLLEXPORT *m_glVertexAttrib2sARB )( GLuint index, GLshort x, GLshort y );
2567         void ( QGL_DLLEXPORT *m_glVertexAttrib2fARB )( GLuint index, GLfloat x, GLfloat y );
2568         void ( QGL_DLLEXPORT *m_glVertexAttrib2dARB )( GLuint index, GLdouble x, GLdouble y );
2569         void ( QGL_DLLEXPORT *m_glVertexAttrib3sARB )( GLuint index, GLshort x, GLshort y, GLshort z );
2570         void ( QGL_DLLEXPORT *m_glVertexAttrib3fARB )( GLuint index, GLfloat x, GLfloat y, GLfloat z );
2571         void ( QGL_DLLEXPORT *m_glVertexAttrib3dARB )( GLuint index, GLdouble x, GLdouble y, GLdouble z );
2572         void ( QGL_DLLEXPORT *m_glVertexAttrib4sARB )( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w );
2573         void ( QGL_DLLEXPORT *m_glVertexAttrib4fARB )( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
2574         void ( QGL_DLLEXPORT *m_glVertexAttrib4dARB )( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w );
2575         void ( QGL_DLLEXPORT *m_glVertexAttrib4NubARB )( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w );
2576         void ( QGL_DLLEXPORT *m_glVertexAttrib1svARB )( GLuint index, const GLshort *v );
2577         void ( QGL_DLLEXPORT *m_glVertexAttrib1fvARB )( GLuint index, const GLfloat *v );
2578         void ( QGL_DLLEXPORT *m_glVertexAttrib1dvARB )( GLuint index, const GLdouble *v );
2579         void ( QGL_DLLEXPORT *m_glVertexAttrib2svARB )( GLuint index, const GLshort *v );
2580         void ( QGL_DLLEXPORT *m_glVertexAttrib2fvARB )( GLuint index, const GLfloat *v );
2581         void ( QGL_DLLEXPORT *m_glVertexAttrib2dvARB )( GLuint index, const GLdouble *v );
2582         void ( QGL_DLLEXPORT *m_glVertexAttrib3svARB )( GLuint index, const GLshort *v );
2583         void ( QGL_DLLEXPORT *m_glVertexAttrib3fvARB )( GLuint index, const GLfloat *v );
2584         void ( QGL_DLLEXPORT *m_glVertexAttrib3dvARB )( GLuint index, const GLdouble *v );
2585         void ( QGL_DLLEXPORT *m_glVertexAttrib4bvARB )( GLuint index, const GLbyte *v );
2586         void ( QGL_DLLEXPORT *m_glVertexAttrib4svARB )( GLuint index, const GLshort *v );
2587         void ( QGL_DLLEXPORT *m_glVertexAttrib4ivARB )( GLuint index, const GLint *v );
2588         void ( QGL_DLLEXPORT *m_glVertexAttrib4ubvARB )( GLuint index, const GLubyte *v );
2589         void ( QGL_DLLEXPORT *m_glVertexAttrib4usvARB )( GLuint index, const GLushort *v );
2590         void ( QGL_DLLEXPORT *m_glVertexAttrib4uivARB )( GLuint index, const GLuint *v );
2591         void ( QGL_DLLEXPORT *m_glVertexAttrib4fvARB )( GLuint index, const GLfloat *v );
2592         void ( QGL_DLLEXPORT *m_glVertexAttrib4dvARB )( GLuint index, const GLdouble *v );
2593         void ( QGL_DLLEXPORT *m_glVertexAttrib4NbvARB )( GLuint index, const GLbyte *v );
2594         void ( QGL_DLLEXPORT *m_glVertexAttrib4NsvARB )( GLuint index, const GLshort *v );
2595         void ( QGL_DLLEXPORT *m_glVertexAttrib4NivARB )( GLuint index, const GLint *v );
2596         void ( QGL_DLLEXPORT *m_glVertexAttrib4NubvARB )( GLuint index, const GLubyte *v );
2597         void ( QGL_DLLEXPORT *m_glVertexAttrib4NusvARB )( GLuint index, const GLushort *v );
2598         void ( QGL_DLLEXPORT *m_glVertexAttrib4NuivARB )( GLuint index, const GLuint *v );
2599         void ( QGL_DLLEXPORT *m_glVertexAttribPointerARB )( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer );
2600         void ( QGL_DLLEXPORT *m_glEnableVertexAttribArrayARB )( GLuint index );
2601         void ( QGL_DLLEXPORT *m_glDisableVertexAttribArrayARB )( GLuint index );
2602         void ( QGL_DLLEXPORT *m_glProgramStringARB )( GLenum target, GLenum format, GLsizei len, const GLvoid *string );
2603         void ( QGL_DLLEXPORT *m_glBindProgramARB )( GLenum target, GLuint program );
2604         void ( QGL_DLLEXPORT *m_glDeleteProgramsARB )( GLsizei n, const GLuint *programs );
2605         void ( QGL_DLLEXPORT *m_glGenProgramsARB )( GLsizei n, GLuint *programs );
2606         void ( QGL_DLLEXPORT *m_glProgramEnvParameter4dARB )( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w );
2607         void ( QGL_DLLEXPORT *m_glProgramEnvParameter4dvARB )( GLenum target, GLuint index, const GLdouble *params );
2608         void ( QGL_DLLEXPORT *m_glProgramEnvParameter4fARB )( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
2609         void ( QGL_DLLEXPORT *m_glProgramEnvParameter4fvARB )( GLenum target, GLuint index, const GLfloat *params );
2610         void ( QGL_DLLEXPORT *m_glProgramLocalParameter4dARB )( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w );
2611         void ( QGL_DLLEXPORT *m_glProgramLocalParameter4dvARB )( GLenum target, GLuint index, const GLdouble *params );
2612         void ( QGL_DLLEXPORT *m_glProgramLocalParameter4fARB )( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
2613         void ( QGL_DLLEXPORT *m_glProgramLocalParameter4fvARB )( GLenum target, GLuint index, const GLfloat *params );
2614         void ( QGL_DLLEXPORT *m_glGetProgramEnvParameterdvARB )( GLenum target, GLuint index, GLdouble *params );
2615         void ( QGL_DLLEXPORT *m_glGetProgramEnvParameterfvARB )( GLenum target, GLuint index, GLfloat *params );
2616         void ( QGL_DLLEXPORT *m_glGetProgramLocalParameterdvARB )( GLenum target, GLuint index, GLdouble *params );
2617         void ( QGL_DLLEXPORT *m_glGetProgramLocalParameterfvARB )( GLenum target, GLuint index, GLfloat *params );
2618         void ( QGL_DLLEXPORT *m_glGetProgramivARB )( GLenum target, GLenum pname, GLint *params );
2619         void ( QGL_DLLEXPORT *m_glGetProgramStringARB )( GLenum target, GLenum pname, GLvoid *string );
2620         void ( QGL_DLLEXPORT *m_glGetVertexAttribdvARB )( GLuint index, GLenum pname, GLdouble *params );
2621         void ( QGL_DLLEXPORT *m_glGetVertexAttribfvARB )( GLuint index, GLenum pname, GLfloat *params );
2622         void ( QGL_DLLEXPORT *m_glGetVertexAttribivARB )( GLuint index, GLenum pname, GLint *params );
2623         void ( QGL_DLLEXPORT *m_glGetVertexAttribPointervARB )( GLuint index, GLenum pname, GLvoid **pointer );
2624         GLboolean ( QGL_DLLEXPORT *m_glIsProgramARB )( GLuint program );
2625
2626         // GL_ARB_fragment_program
2627         bool support_ARB_fragment_program;
2628         bool ARB_fragment_program(){
2629                 return support_ARB_fragment_program;
2630         }
2631
2632         // GL_ARB_shader_objects
2633         bool support_ARB_shader_objects;
2634         bool ARB_shader_objects(){
2635                 return support_ARB_shader_objects;
2636         }
2637         void ( QGL_DLLEXPORT *m_glDeleteObjectARB )( GLhandleARB obj );
2638         GLhandleARB ( QGL_DLLEXPORT *m_glGetHandleARB )( GLenum pname );
2639         void ( QGL_DLLEXPORT *m_glDetachObjectARB )( GLhandleARB containerObj, GLhandleARB attachedObj );
2640         GLhandleARB ( QGL_DLLEXPORT *m_glCreateShaderObjectARB )( GLenum shaderType );
2641         void ( QGL_DLLEXPORT *m_glShaderSourceARB )( GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length );
2642         void ( QGL_DLLEXPORT *m_glCompileShaderARB )( GLhandleARB shaderObj );
2643         GLhandleARB ( QGL_DLLEXPORT *m_glCreateProgramObjectARB )( void );
2644         void ( QGL_DLLEXPORT *m_glAttachObjectARB )( GLhandleARB containerObj, GLhandleARB obj );
2645         void ( QGL_DLLEXPORT *m_glLinkProgramARB )( GLhandleARB programObj );
2646         void ( QGL_DLLEXPORT *m_glUseProgramObjectARB )( GLhandleARB programObj );
2647         void ( QGL_DLLEXPORT *m_glValidateProgramARB )( GLhandleARB programObj );
2648         void ( QGL_DLLEXPORT *m_glUniform1fARB )( GLint location, GLfloat v0 );
2649         void ( QGL_DLLEXPORT *m_glUniform2fARB )( GLint location, GLfloat v0, GLfloat v1 );
2650         void ( QGL_DLLEXPORT *m_glUniform3fARB )( GLint location, GLfloat v0, GLfloat v1, GLfloat v2 );
2651         void ( QGL_DLLEXPORT *m_glUniform4fARB )( GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 );
2652         void ( QGL_DLLEXPORT *m_glUniform1iARB )( GLint location, GLint v0 );
2653         void ( QGL_DLLEXPORT *m_glUniform2iARB )( GLint location, GLint v0, GLint v1 );
2654         void ( QGL_DLLEXPORT *m_glUniform3iARB )( GLint location, GLint v0, GLint v1, GLint v2 );
2655         void ( QGL_DLLEXPORT *m_glUniform4iARB )( GLint location, GLint v0, GLint v1, GLint v2, GLint v3 );
2656         void ( QGL_DLLEXPORT *m_glUniform1fvARB )( GLint location, GLsizei count, const GLfloat *value );
2657         void ( QGL_DLLEXPORT *m_glUniform2fvARB )( GLint location, GLsizei count, const GLfloat *value );
2658         void ( QGL_DLLEXPORT *m_glUniform3fvARB )( GLint location, GLsizei count, const GLfloat *value );
2659         void ( QGL_DLLEXPORT *m_glUniform4fvARB )( GLint location, GLsizei count, const GLfloat *value );
2660         void ( QGL_DLLEXPORT *m_glUniform1ivARB )( GLint location, GLsizei count, const GLint *value );
2661         void ( QGL_DLLEXPORT *m_glUniform2ivARB )( GLint location, GLsizei count, const GLint *value );
2662         void ( QGL_DLLEXPORT *m_glUniform3ivARB )( GLint location, GLsizei count, const GLint *value );
2663         void ( QGL_DLLEXPORT *m_glUniform4ivARB )( GLint location, GLsizei count, const GLint *value );
2664         void ( QGL_DLLEXPORT *m_glUniformMatrix2fvARB )( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
2665         void ( QGL_DLLEXPORT *m_glUniformMatrix3fvARB )( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
2666         void ( QGL_DLLEXPORT *m_glUniformMatrix4fvARB )( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
2667         void ( QGL_DLLEXPORT *m_glGetObjectParameterfvARB )( GLhandleARB obj, GLenum pname, GLfloat *params );
2668         void ( QGL_DLLEXPORT *m_glGetObjectParameterivARB )( GLhandleARB obj, GLenum pname, GLint *params );
2669         void ( QGL_DLLEXPORT *m_glGetInfoLogARB )( GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog );
2670         void ( QGL_DLLEXPORT *m_glGetAttachedObjectsARB )( GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj );
2671         GLint ( QGL_DLLEXPORT *m_glGetUniformLocationARB )( GLhandleARB programObj, const GLcharARB *name );
2672         void ( QGL_DLLEXPORT *m_glGetActiveUniformARB )( GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name );
2673         void ( QGL_DLLEXPORT *m_glGetUniformfvARB )( GLhandleARB programObj, GLint location, GLfloat *params );
2674         void ( QGL_DLLEXPORT *m_glGetUniformivARB )( GLhandleARB programObj, GLint location, GLint *params );
2675         void ( QGL_DLLEXPORT *m_glGetShaderSourceARB )( GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source );
2676
2677         // GL_ARB_vertex_shader
2678         bool support_ARB_vertex_shader;
2679         bool ARB_vertex_shader(){
2680                 return support_ARB_vertex_shader;
2681         }
2682 #if 0
2683         void ( QGL_DLLEXPORT *m_glVertexAttrib1fARB )( GLuint index, GLfloat v0 );
2684         void ( QGL_DLLEXPORT *m_glVertexAttrib1sARB )( GLuint index, GLshort v0 );
2685         void ( QGL_DLLEXPORT *m_glVertexAttrib1dARB )( GLuint index, GLdouble v0 );
2686         void ( QGL_DLLEXPORT *m_glVertexAttrib2fARB )( GLuint index, GLfloat v0, GLfloat v1 );
2687         void ( QGL_DLLEXPORT *m_glVertexAttrib2sARB )( GLuint index, GLshort v0, GLshort v1 );
2688         void ( QGL_DLLEXPORT *m_glVertexAttrib2dARB )( GLuint index, GLdouble v0, GLdouble v1 );
2689         void ( QGL_DLLEXPORT *m_glVertexAttrib3fARB )( GLuint index, GLfloat v0, GLfloat v1, GLfloat v2 );
2690         void ( QGL_DLLEXPORT *m_glVertexAttrib3sARB )( GLuint index, GLshort v0, GLshort v1, GLshort v2 );
2691         void ( QGL_DLLEXPORT *m_glVertexAttrib3dARB )( GLuint index, GLdouble v0, GLdouble v1, GLdouble v2 );
2692         void ( QGL_DLLEXPORT *m_glVertexAttrib4fARB )( GLuint index, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 );
2693         void ( QGL_DLLEXPORT *m_glVertexAttrib4sARB )( GLuint index, GLshort v0, GLshort v1, GLshort v2, GLshort v3 );
2694         void ( QGL_DLLEXPORT *m_glVertexAttrib4dARB )( GLuint index, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3 );
2695         void ( QGL_DLLEXPORT *m_glVertexAttrib4NubARB )( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w );
2696         void ( QGL_DLLEXPORT *m_glVertexAttrib1fvARB )( GLuint index, const GLfloat *v );
2697         void ( QGL_DLLEXPORT *m_glVertexAttrib1svARB )( GLuint index, const GLshort *v );
2698         void ( QGL_DLLEXPORT *m_glVertexAttrib1dvARB )( GLuint index, const GLdouble *v );
2699         void ( QGL_DLLEXPORT *m_glVertexAttrib2fvARB )( GLuint index, const GLfloat *v );
2700         void ( QGL_DLLEXPORT *m_glVertexAttrib2svARB )( GLuint index, const GLshort *v );
2701         void ( QGL_DLLEXPORT *m_glVertexAttrib2dvARB )( GLuint index, const GLdouble *v );
2702         void ( QGL_DLLEXPORT *m_glVertexAttrib3fvARB )( GLuint index, const GLfloat *v );
2703         void ( QGL_DLLEXPORT *m_glVertexAttrib3svARB )( GLuint index, const GLshort *v );
2704         void ( QGL_DLLEXPORT *m_glVertexAttrib3dvARB )( GLuint index, const GLdouble *v );
2705         void ( QGL_DLLEXPORT *m_glVertexAttrib4fvARB )( GLuint index, const GLfloat *v );
2706         void ( QGL_DLLEXPORT *m_glVertexAttrib4svARB )( GLuint index, const GLshort *v );
2707         void ( QGL_DLLEXPORT *m_glVertexAttrib4dvARB )( GLuint index, const GLdouble *v );
2708         void ( QGL_DLLEXPORT *m_glVertexAttrib4ivARB )( GLuint index, const GLint *v );
2709         void ( QGL_DLLEXPORT *m_glVertexAttrib4bvARB )( GLuint index, const GLbyte *v );
2710         void ( QGL_DLLEXPORT *m_glVertexAttrib4ubvARB )( GLuint index, const GLubyte *v );
2711         void ( QGL_DLLEXPORT *m_glVertexAttrib4usvARB )( GLuint index, const GLushort *v );
2712         void ( QGL_DLLEXPORT *m_glVertexAttrib4uivARB )( GLuint index, const GLuint *v );
2713         void ( QGL_DLLEXPORT *m_glVertexAttrib4NbvARB )( GLuint index, const GLbyte *v );
2714         void ( QGL_DLLEXPORT *m_glVertexAttrib4NsvARB )( GLuint index, const GLshort *v );
2715         void ( QGL_DLLEXPORT *m_glVertexAttrib4NivARB )( GLuint index, const GLint *v );
2716         void ( QGL_DLLEXPORT *m_glVertexAttrib4NubvARB )( GLuint index, const GLubyte *v );
2717         void ( QGL_DLLEXPORT *m_glVertexAttrib4NusvARB )( GLuint index, const GLushort *v );
2718         void ( QGL_DLLEXPORT *m_glVertexAttrib4NuivARB )( GLuint index, const GLuint *v );
2719         void ( QGL_DLLEXPORT *m_glVertexAttribPointerARB )( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer );
2720         void ( QGL_DLLEXPORT *m_glEnableVertexAttribArrayARB )( GLuint index );
2721         void ( QGL_DLLEXPORT *m_glDisableVertexAttribArrayARB )( GLuint index );
2722 #endif
2723         void ( QGL_DLLEXPORT *m_glBindAttribLocationARB )( GLhandleARB programObj, GLuint index, const GLcharARB *name );
2724         void ( QGL_DLLEXPORT *m_glGetActiveAttribARB )( GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name );
2725         GLint ( QGL_DLLEXPORT *m_glGetAttribLocationARB )( GLhandleARB programObj, const GLcharARB *name );
2726 #if 0
2727         void ( QGL_DLLEXPORT *m_glGetVertexAttribdvARB )( GLuint index, GLenum pname, GLdouble *params );
2728         void ( QGL_DLLEXPORT *m_glGetVertexAttribfvARB )( GLuint index, GLenum pname, GLfloat *params );
2729         void ( QGL_DLLEXPORT *m_glGetVertexAttribivARB )( GLuint index, GLenum pname, GLint *params );
2730         void ( QGL_DLLEXPORT *m_glGetVertexAttribPointervARB )( GLuint index, GLenum pname, GLvoid **pointer );
2731 #endif
2732
2733         // ARB_fragment_shader
2734         bool support_ARB_fragment_shader;
2735         bool ARB_fragment_shader(){
2736                 return support_ARB_fragment_shader;
2737         }
2738
2739         // ARB_shading_language_100
2740         bool support_ARB_shading_language_100;
2741         bool ARB_shading_language_100(){
2742                 return support_ARB_shading_language_100;
2743         }
2744
2745         // GL_NV_vertex_program2
2746         bool support_NV_vertex_program2;
2747         bool NV_vertex_program2(){
2748                 return support_NV_vertex_program2;
2749         }
2750         GLboolean ( QGL_DLLEXPORT* m_glAreProgramsResidentNV )( GLsizei, const GLuint *, GLboolean * );
2751         void ( QGL_DLLEXPORT* m_glBindProgramNV )( GLenum, GLuint );
2752         void ( QGL_DLLEXPORT* m_glDeleteProgramsNV )( GLsizei, const GLuint * );
2753         void ( QGL_DLLEXPORT* m_glExecuteProgramNV )( GLenum, GLuint, const GLfloat * );
2754         void ( QGL_DLLEXPORT* m_glGenProgramsNV )( GLsizei, GLuint * );
2755         void ( QGL_DLLEXPORT* m_glGetProgramParameterdvNV )( GLenum, GLuint, GLenum, GLdouble * );
2756         void ( QGL_DLLEXPORT* m_glGetProgramParameterfvNV )( GLenum, GLuint, GLenum, GLfloat * );
2757         void ( QGL_DLLEXPORT* m_glGetProgramivNV )( GLuint, GLenum, GLint * );
2758         void ( QGL_DLLEXPORT* m_glGetProgramStringNV )( GLuint, GLenum, GLubyte * );
2759         void ( QGL_DLLEXPORT* m_glGetTrackMatrixivNV )( GLenum, GLuint, GLenum, GLint * );
2760         void ( QGL_DLLEXPORT* m_glGetVertexAttribdvNV )( GLuint, GLenum, GLdouble * );
2761         void ( QGL_DLLEXPORT* m_glGetVertexAttribfvNV )( GLuint, GLenum, GLfloat * );
2762         void ( QGL_DLLEXPORT* m_glGetVertexAttribivNV )( GLuint, GLenum, GLint * );
2763         void ( QGL_DLLEXPORT* m_glGetVertexAttribPointervNV )( GLuint, GLenum, GLvoid* * );
2764         GLboolean ( QGL_DLLEXPORT* m_glIsProgramNV )( GLuint );
2765         void ( QGL_DLLEXPORT* m_glLoadProgramNV )( GLenum, GLuint, GLsizei, const GLubyte * );
2766         void ( QGL_DLLEXPORT* m_glProgramParameter4fNV )( GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat );
2767         void ( QGL_DLLEXPORT* m_glProgramParameter4fvNV )( GLenum, GLuint, const GLfloat * );
2768         void ( QGL_DLLEXPORT* m_glProgramParameters4fvNV )( GLenum, GLuint, GLuint, const GLfloat * );
2769         void ( QGL_DLLEXPORT* m_glRequestResidentProgramsNV )( GLsizei, const GLuint * );
2770         void ( QGL_DLLEXPORT* m_glTrackMatrixNV )( GLenum, GLuint, GLenum, GLenum );
2771         void ( QGL_DLLEXPORT* m_glVertexAttribPointerNV )( GLuint, GLint, GLenum, GLsizei, const GLvoid * );
2772         void ( QGL_DLLEXPORT* m_glVertexAttrib1fNV )( GLuint, GLfloat );
2773         void ( QGL_DLLEXPORT* m_glVertexAttrib1fvNV )( GLuint, const GLfloat * );
2774         void ( QGL_DLLEXPORT* m_glVertexAttrib2fNV )( GLuint, GLfloat, GLfloat );
2775         void ( QGL_DLLEXPORT* m_glVertexAttrib2fvNV )( GLuint, const GLfloat * );
2776         void ( QGL_DLLEXPORT* m_glVertexAttrib3fNV )( GLuint, GLfloat, GLfloat, GLfloat );
2777         void ( QGL_DLLEXPORT* m_glVertexAttrib3fvNV )( GLuint, const GLfloat * );
2778         void ( QGL_DLLEXPORT* m_glVertexAttrib4fNV )( GLuint, GLfloat, GLfloat, GLfloat, GLfloat );
2779         void ( QGL_DLLEXPORT* m_glVertexAttrib4fvNV )( GLuint, const GLfloat * );
2780         void ( QGL_DLLEXPORT* m_glVertexAttribs1fvNV )( GLuint, GLsizei, const GLfloat * );
2781         void ( QGL_DLLEXPORT* m_glVertexAttribs2fvNV )( GLuint, GLsizei, const GLfloat * );
2782         void ( QGL_DLLEXPORT* m_glVertexAttribs3fvNV )( GLuint, GLsizei, const GLfloat * );
2783         void ( QGL_DLLEXPORT* m_glVertexAttribs4fvNV )( GLuint, GLsizei, const GLfloat * );
2784
2785         // GL_NV_fragment_program
2786         bool support_NV_fragment_program;
2787         bool NV_fragment_program(){
2788                 return support_NV_fragment_program;
2789         }
2790         void ( QGL_DLLEXPORT* m_glProgramNamedParameter4fNV )( GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat );
2791         void ( QGL_DLLEXPORT* m_glProgramNamedParameter4fvNV )( GLuint, GLsizei, const GLubyte *, const GLfloat * );
2792         void ( QGL_DLLEXPORT* m_glGetProgramNamedParameterfvNV )( GLuint, GLsizei, const GLubyte *, GLfloat * );
2793 };
2794
2795 #include "modulesystem.h"
2796
2797 template<typename Type>
2798 class GlobalModule;
2799 typedef GlobalModule<OpenGLBinding> GlobalOpenGLModule;
2800
2801 template<typename Type>
2802 class GlobalModuleRef;
2803 typedef GlobalModuleRef<OpenGLBinding> GlobalOpenGLModuleRef;
2804
2805 inline OpenGLBinding& GlobalOpenGL(){
2806         return GlobalOpenGLModule::getTable();
2807 }
2808
2809 #if GDEF_DEBUG
2810 #define GlobalOpenGL_debugAssertNoErrors() GlobalOpenGL().assertNoErrors( __FILE__, __LINE__ )
2811 #else
2812 #define GlobalOpenGL_debugAssertNoErrors()
2813 #endif
2814
2815
2816 #endif