1 /*----------------------------------------------------------------------------
2 
3 gls.h - The GLS library provides an API for dynamically loading OpenGL drivers
4     on Win32 platforms.  This is necessary because there are some standalone
5     3D-only cards that cannot support the official Installable Client Driver
6     (ICD) interface for OpenGL on Windows.  These cards, like the 3dfx Voodoo,
7     provide "standalone drivers" that are fully OpenGL compliant, but must
8     by dynamically linked by the application.
9 
10     Applications can use this GLS library to perform this dynamic linking
11     without changing any of their core OpenGL code.  By including gls.h
12     instead of gl.h (or by making a stub gl.h that simply includes gls.h), an
13     application's core OpenGL code (code that calls the gl* functions) will
14     simply recompile using the function pointers.  Applications can either
15     change their Win32 WGL code to use the GLS API, or they can use the
16     glswgl.h file to convert the Win32 WGL code to GLS code implicitly
17     using C preprocessor macros.
18 
19     See http://www.glsetup.com/dev/gls.htm for more information and to
20     report bugs.
21 
22     Copyright 1999 GLSetup Incorporated, All Rights Reserved.
23 
24     You have permission to use this code in your applications, commercial
25     or otherwise.  If you distribute source code with your application,
26     this file must not be modified.  Please don't mirror these files;
27     instead, link to the URL above.
28 
29     Version 1.0.0.2 Beta
30     Created 7-24-99
31 
32 */
33 
34 #ifndef GLS_H
35 
36 /*----------------------------------------------------------------------------
37 
38 The gls driver loading API.
39 
40 */
41 
42 #ifdef _WINGDI_
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 typedef enum gls_error
49 {
50     GLS_ERROR_OK,
51     GLS_ERROR_DRIVER_LOAD_FAILED,
52     GLS_ERROR_DRIVER_DYNALINK_FAILED,
53     GLS_ERROR_NO_DRIVER_LOADED,
54     GLS_ERROR_INVALID_PARAMETERS
55 
56 } gls_error;
57 
58 typedef enum gls_driver_flags
59 {
60     GLS_FLAGS_FULLSCREEN_ONLY             = 0x00000001,
61     GLS_FLAGS_STANDALONE_DRIVER           = 0x00000002,
62     GLS_FLAGS_DEFAULT_OPENGL_DRIVER       = 0x00000004,
63     GLS_FLAGS_DRIVER_IN_SYSTEM_DIR        = 0x00000008,
64     GLS_FLAGS_NO_GL_VERSION_INFO          = 0x00000010,
65     GLS_FLAGS_NO_GLU                      = 0x00000020,
66     GLS_FLAGS_NO_GLU_VERSION_INFO         = 0x00000040,
67     GLS_FLAGS_SOFTWARE_ONLY               = 0x00000080,
68     GLS_FLAGS_DRIVER_UNKNOWN_FEATURES     = 0x80000000
69 
70 } gls_driver_flags;
71 
72 typedef struct gls_driver_file_info
73 {
74     DWORD DriverFileDateHigh;
75     DWORD DriverFileDateLow;
76     DWORD DriverFileVersionHigh;
77     DWORD DriverFileVersionLow;
78 
79     char aDriverFilePath[MAX_PATH];
80 } gls_driver_file_info;
81 
82 typedef struct gls_driver_info
83 {
84     DWORD DriverFlags;      /* a combination of the gls_driver_flags */
85 
86     char aDriverDescription[256];
87 
88     gls_driver_file_info GLDriver;
89     gls_driver_file_info GLUDriver;
90 
91 } gls_driver_info;
92 
93 extern int unsigned glsGetNumberOfDrivers( void );
94 
95 extern gls_error glsLoadDriver( int unsigned DriverInfoIndex );
96 
97 extern BOOL glsIsDriverLoaded( void );
98 
99 extern gls_error glsGetDriverInfo( int unsigned DriverInfoIndex,
100                                    gls_driver_info *pDriverInfo );
101 
102 extern gls_error glsGetCurrentDriverInfo( gls_driver_info *pDriverInfo );
103 
104 extern DWORD glsGetCurrentDriverFlags( void );
105 
106 extern gls_error glsGetDriverInfoFromFilePath( char const *pGLDriverFilePath,
107                                                char const *pGLUDriverFilePath,
108                                                gls_driver_info *pDriverInfo );
109 
110 extern gls_error glsLoadDriverFromFilePath( char const *pGLDriverFilePath,
111                                             char const *pGLUDriverFilePath );
112 
113 extern void glsUnloadDriver( void );
114 
115 typedef enum gls_behavior_flags
116 {
117     GLS_BEHAVIOR_NEVER_LOAD_GLU                     = 0x00000001,
118     GLS_BEHAVIOR_ALLOW_GLU_IN_DIFFERENT_DIR         = 0x00000002,
119     GLS_BEHAVIOR_ALLOW_GRATUITOUS_HYPE_SCREENS      = 0x00000010,
120     GLS_BEHAVIOR_ALLOW_SOFTWARE_REVECTORING         = 0x00000020,
121     GLS_BEHAVIOR_INVALID_FUNCTIONS_DEBUGBREAK       = 0x00000040
122 
123 } gls_behavior_flags;
124 
125 extern DWORD glsGetBehavior( void );
126 extern DWORD glsSetBehavior( DWORD NewBehavior );
127 
128 #ifdef __cplusplus
129 }
130 #endif
131 
132 #ifndef PFD_GENERIC_ACCELERATED
133 #define PFD_GENERIC_ACCELERATED          0x00001000
134 #endif
135 
136 #endif /* #ifdef _WINGDI_ */
137 
138 #define GLS_SCOPE_NAME( name ) gls##name
139 #define GLS_CONST
140 
141 /*----------------------------------------------------------------------------
142   ----------------------------------------------------------------------------
143   ----------------------------------------------------------------------------
144   The remainder of this file is the standard gl.h header, with the function
145   declarations changed to function pointer declarations, and the wgl functions
146   changed to gls functions.  See the comment block at the top of gls.h for
147   more information.
148 */
149 
150 #ifdef __cplusplus
151 extern "C" {
152 #endif
153 
154 /*
155 ** Copyright 1996 Silicon Graphics, Inc.
156 ** All Rights Reserved.
157 **
158 ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
159 ** the contents of this file may not be disclosed to third parties, copied or
160 ** duplicated in any form, in whole or in part, without the prior written
161 ** permission of Silicon Graphics, Inc.
162 **
163 ** RESTRICTED RIGHTS LEGEND:
164 ** Use, duplication or disclosure by the Government is subject to restrictions
165 ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
166 ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
167 ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
168 ** rights reserved under the Copyright Laws of the United States.
169 */
170 
171 typedef unsigned int GLenum;
172 typedef unsigned char GLboolean;
173 typedef unsigned int GLbitfield;
174 typedef signed char GLbyte;
175 typedef short GLshort;
176 typedef int GLint;
177 typedef int GLsizei;
178 typedef unsigned char GLubyte;
179 typedef unsigned short GLushort;
180 typedef unsigned int GLuint;
181 typedef float GLfloat;
182 typedef float GLclampf;
183 typedef double GLdouble;
184 typedef double GLclampd;
185 typedef void GLvoid;
186 
187 /*************************************************************/
188 
189 /* Version */
190 #define GL_VERSION_1_1                    1
191 
192 /* AccumOp */
193 #define GL_ACCUM                          0x0100
194 #define GL_LOAD                           0x0101
195 #define GL_RETURN                         0x0102
196 #define GL_MULT                           0x0103
197 #define GL_ADD                            0x0104
198 
199 /* AlphaFunction */
200 #define GL_NEVER                          0x0200
201 #define GL_LESS                           0x0201
202 #define GL_EQUAL                          0x0202
203 #define GL_LEQUAL                         0x0203
204 #define GL_GREATER                        0x0204
205 #define GL_NOTEQUAL                       0x0205
206 #define GL_GEQUAL                         0x0206
207 #define GL_ALWAYS                         0x0207
208 
209 /* AttribMask */
210 #define GL_CURRENT_BIT                    0x00000001
211 #define GL_POINT_BIT                      0x00000002
212 #define GL_LINE_BIT                       0x00000004
213 #define GL_POLYGON_BIT                    0x00000008
214 #define GL_POLYGON_STIPPLE_BIT            0x00000010
215 #define GL_PIXEL_MODE_BIT                 0x00000020
216 #define GL_LIGHTING_BIT                   0x00000040
217 #define GL_FOG_BIT                        0x00000080
218 #define GL_DEPTH_BUFFER_BIT               0x00000100
219 #define GL_ACCUM_BUFFER_BIT               0x00000200
220 #define GL_STENCIL_BUFFER_BIT             0x00000400
221 #define GL_VIEWPORT_BIT                   0x00000800
222 #define GL_TRANSFORM_BIT                  0x00001000
223 #define GL_ENABLE_BIT                     0x00002000
224 #define GL_COLOR_BUFFER_BIT               0x00004000
225 #define GL_HINT_BIT                       0x00008000
226 #define GL_EVAL_BIT                       0x00010000
227 #define GL_LIST_BIT                       0x00020000
228 #define GL_TEXTURE_BIT                    0x00040000
229 #define GL_SCISSOR_BIT                    0x00080000
230 #define GL_ALL_ATTRIB_BITS                0x000fffff
231 
232 /* BeginMode */
233 #define GL_POINTS                         0x0000
234 #define GL_LINES                          0x0001
235 #define GL_LINE_LOOP                      0x0002
236 #define GL_LINE_STRIP                     0x0003
237 #define GL_TRIANGLES                      0x0004
238 #define GL_TRIANGLE_STRIP                 0x0005
239 #define GL_TRIANGLE_FAN                   0x0006
240 #define GL_QUADS                          0x0007
241 #define GL_QUAD_STRIP                     0x0008
242 #define GL_POLYGON                        0x0009
243 
244 /* BlendingFactorDest */
245 #define GL_ZERO                           0
246 #define GL_ONE                            1
247 #define GL_SRC_COLOR                      0x0300
248 #define GL_ONE_MINUS_SRC_COLOR            0x0301
249 #define GL_SRC_ALPHA                      0x0302
250 #define GL_ONE_MINUS_SRC_ALPHA            0x0303
251 #define GL_DST_ALPHA                      0x0304
252 #define GL_ONE_MINUS_DST_ALPHA            0x0305
253 
254 /* BlendingFactorSrc */
255 /*      GL_ZERO */
256 /*      GL_ONE */
257 #define GL_DST_COLOR                      0x0306
258 #define GL_ONE_MINUS_DST_COLOR            0x0307
259 #define GL_SRC_ALPHA_SATURATE             0x0308
260 /*      GL_SRC_ALPHA */
261 /*      GL_ONE_MINUS_SRC_ALPHA */
262 /*      GL_DST_ALPHA */
263 /*      GL_ONE_MINUS_DST_ALPHA */
264 
265 /* Boolean */
266 #define GL_TRUE                           1
267 #define GL_FALSE                          0
268 
269 /* ClearBufferMask */
270 /*      GL_COLOR_BUFFER_BIT */
271 /*      GL_ACCUM_BUFFER_BIT */
272 /*      GL_STENCIL_BUFFER_BIT */
273 /*      GL_DEPTH_BUFFER_BIT */
274 
275 /* ClientArrayType */
276 /*      GL_VERTEX_ARRAY */
277 /*      GL_NORMAL_ARRAY */
278 /*      GL_COLOR_ARRAY */
279 /*      GL_INDEX_ARRAY */
280 /*      GL_TEXTURE_COORD_ARRAY */
281 /*      GL_EDGE_FLAG_ARRAY */
282 
283 /* ClipPlaneName */
284 #define GL_CLIP_PLANE0                    0x3000
285 #define GL_CLIP_PLANE1                    0x3001
286 #define GL_CLIP_PLANE2                    0x3002
287 #define GL_CLIP_PLANE3                    0x3003
288 #define GL_CLIP_PLANE4                    0x3004
289 #define GL_CLIP_PLANE5                    0x3005
290 
291 /* ColorMaterialFace */
292 /*      GL_FRONT */
293 /*      GL_BACK */
294 /*      GL_FRONT_AND_BACK */
295 
296 /* ColorMaterialParameter */
297 /*      GL_AMBIENT */
298 /*      GL_DIFFUSE */
299 /*      GL_SPECULAR */
300 /*      GL_EMISSION */
301 /*      GL_AMBIENT_AND_DIFFUSE */
302 
303 /* ColorPointerType */
304 /*      GL_BYTE */
305 /*      GL_UNSIGNED_BYTE */
306 /*      GL_SHORT */
307 /*      GL_UNSIGNED_SHORT */
308 /*      GL_INT */
309 /*      GL_UNSIGNED_INT */
310 /*      GL_FLOAT */
311 /*      GL_DOUBLE */
312 
313 /* CullFaceMode */
314 /*      GL_FRONT */
315 /*      GL_BACK */
316 /*      GL_FRONT_AND_BACK */
317 
318 /* DataType */
319 #define GL_BYTE                           0x1400
320 #define GL_UNSIGNED_BYTE                  0x1401
321 #define GL_SHORT                          0x1402
322 #define GL_UNSIGNED_SHORT                 0x1403
323 #define GL_INT                            0x1404
324 #define GL_UNSIGNED_INT                   0x1405
325 #define GL_FLOAT                          0x1406
326 #define GL_2_BYTES                        0x1407
327 #define GL_3_BYTES                        0x1408
328 #define GL_4_BYTES                        0x1409
329 #define GL_DOUBLE                         0x140A
330 
331 /* DepthFunction */
332 /*      GL_NEVER */
333 /*      GL_LESS */
334 /*      GL_EQUAL */
335 /*      GL_LEQUAL */
336 /*      GL_GREATER */
337 /*      GL_NOTEQUAL */
338 /*      GL_GEQUAL */
339 /*      GL_ALWAYS */
340 
341 /* DrawBufferMode */
342 #define GL_NONE                           0
343 #define GL_FRONT_LEFT                     0x0400
344 #define GL_FRONT_RIGHT                    0x0401
345 #define GL_BACK_LEFT                      0x0402
346 #define GL_BACK_RIGHT                     0x0403
347 #define GL_FRONT                          0x0404
348 #define GL_BACK                           0x0405
349 #define GL_LEFT                           0x0406
350 #define GL_RIGHT                          0x0407
351 #define GL_FRONT_AND_BACK                 0x0408
352 #define GL_AUX0                           0x0409
353 #define GL_AUX1                           0x040A
354 #define GL_AUX2                           0x040B
355 #define GL_AUX3                           0x040C
356 
357 /* Enable */
358 /*      GL_FOG */
359 /*      GL_LIGHTING */
360 /*      GL_TEXTURE_1D */
361 /*      GL_TEXTURE_2D */
362 /*      GL_LINE_STIPPLE */
363 /*      GL_POLYGON_STIPPLE */
364 /*      GL_CULL_FACE */
365 /*      GL_ALPHA_TEST */
366 /*      GL_BLEND */
367 /*      GL_INDEX_LOGIC_OP */
368 /*      GL_COLOR_LOGIC_OP */
369 /*      GL_DITHER */
370 /*      GL_STENCIL_TEST */
371 /*      GL_DEPTH_TEST */
372 /*      GL_CLIP_PLANE0 */
373 /*      GL_CLIP_PLANE1 */
374 /*      GL_CLIP_PLANE2 */
375 /*      GL_CLIP_PLANE3 */
376 /*      GL_CLIP_PLANE4 */
377 /*      GL_CLIP_PLANE5 */
378 /*      GL_LIGHT0 */
379 /*      GL_LIGHT1 */
380 /*      GL_LIGHT2 */
381 /*      GL_LIGHT3 */
382 /*      GL_LIGHT4 */
383 /*      GL_LIGHT5 */
384 /*      GL_LIGHT6 */
385 /*      GL_LIGHT7 */
386 /*      GL_TEXTURE_GEN_S */
387 /*      GL_TEXTURE_GEN_T */
388 /*      GL_TEXTURE_GEN_R */
389 /*      GL_TEXTURE_GEN_Q */
390 /*      GL_MAP1_VERTEX_3 */
391 /*      GL_MAP1_VERTEX_4 */
392 /*      GL_MAP1_COLOR_4 */
393 /*      GL_MAP1_INDEX */
394 /*      GL_MAP1_NORMAL */
395 /*      GL_MAP1_TEXTURE_COORD_1 */
396 /*      GL_MAP1_TEXTURE_COORD_2 */
397 /*      GL_MAP1_TEXTURE_COORD_3 */
398 /*      GL_MAP1_TEXTURE_COORD_4 */
399 /*      GL_MAP2_VERTEX_3 */
400 /*      GL_MAP2_VERTEX_4 */
401 /*      GL_MAP2_COLOR_4 */
402 /*      GL_MAP2_INDEX */
403 /*      GL_MAP2_NORMAL */
404 /*      GL_MAP2_TEXTURE_COORD_1 */
405 /*      GL_MAP2_TEXTURE_COORD_2 */
406 /*      GL_MAP2_TEXTURE_COORD_3 */
407 /*      GL_MAP2_TEXTURE_COORD_4 */
408 /*      GL_POINT_SMOOTH */
409 /*      GL_LINE_SMOOTH */
410 /*      GL_POLYGON_SMOOTH */
411 /*      GL_SCISSOR_TEST */
412 /*      GL_COLOR_MATERIAL */
413 /*      GL_NORMALIZE */
414 /*      GL_AUTO_NORMAL */
415 /*      GL_VERTEX_ARRAY */
416 /*      GL_NORMAL_ARRAY */
417 /*      GL_COLOR_ARRAY */
418 /*      GL_INDEX_ARRAY */
419 /*      GL_TEXTURE_COORD_ARRAY */
420 /*      GL_EDGE_FLAG_ARRAY */
421 /*      GL_POLYGON_OFFSET_POINT */
422 /*      GL_POLYGON_OFFSET_LINE */
423 /*      GL_POLYGON_OFFSET_FILL */
424 
425 /* ErrorCode */
426 #define GL_NO_ERROR                       0
427 #define GL_INVALID_ENUM                   0x0500
428 #define GL_INVALID_VALUE                  0x0501
429 #define GL_INVALID_OPERATION              0x0502
430 #define GL_STACK_OVERFLOW                 0x0503
431 #define GL_STACK_UNDERFLOW                0x0504
432 #define GL_OUT_OF_MEMORY                  0x0505
433 
434 /* FeedBackMode */
435 #define GL_2D                             0x0600
436 #define GL_3D                             0x0601
437 #define GL_3D_COLOR                       0x0602
438 #define GL_3D_COLOR_TEXTURE               0x0603
439 #define GL_4D_COLOR_TEXTURE               0x0604
440 
441 /* FeedBackToken */
442 #define GL_PASS_THROUGH_TOKEN             0x0700
443 #define GL_POINT_TOKEN                    0x0701
444 #define GL_LINE_TOKEN                     0x0702
445 #define GL_POLYGON_TOKEN                  0x0703
446 #define GL_BITMAP_TOKEN                   0x0704
447 #define GL_DRAW_PIXEL_TOKEN               0x0705
448 #define GL_COPY_PIXEL_TOKEN               0x0706
449 #define GL_LINE_RESET_TOKEN               0x0707
450 
451 /* FogMode */
452 /*      GL_LINEAR */
453 #define GL_EXP                            0x0800
454 #define GL_EXP2                           0x0801
455 
456 /* FogParameter */
457 /*      GL_FOG_COLOR */
458 /*      GL_FOG_DENSITY */
459 /*      GL_FOG_END */
460 /*      GL_FOG_INDEX */
461 /*      GL_FOG_MODE */
462 /*      GL_FOG_START */
463 
464 /* FrontFaceDirection */
465 #define GL_CW                             0x0900
466 #define GL_CCW                            0x0901
467 
468 /* GetMapTarget */
469 #define GL_COEFF                          0x0A00
470 #define GL_ORDER                          0x0A01
471 #define GL_DOMAIN                         0x0A02
472 
473 /* GetPixelMap */
474 /*      GL_PIXEL_MAP_I_TO_I */
475 /*      GL_PIXEL_MAP_S_TO_S */
476 /*      GL_PIXEL_MAP_I_TO_R */
477 /*      GL_PIXEL_MAP_I_TO_G */
478 /*      GL_PIXEL_MAP_I_TO_B */
479 /*      GL_PIXEL_MAP_I_TO_A */
480 /*      GL_PIXEL_MAP_R_TO_R */
481 /*      GL_PIXEL_MAP_G_TO_G */
482 /*      GL_PIXEL_MAP_B_TO_B */
483 /*      GL_PIXEL_MAP_A_TO_A */
484 
485 /* GetPointerTarget */
486 /*      GL_VERTEX_ARRAY_POINTER */
487 /*      GL_NORMAL_ARRAY_POINTER */
488 /*      GL_COLOR_ARRAY_POINTER */
489 /*      GL_INDEX_ARRAY_POINTER */
490 /*      GL_TEXTURE_COORD_ARRAY_POINTER */
491 /*      GL_EDGE_FLAG_ARRAY_POINTER */
492 
493 /* GetTarget */
494 #define GL_CURRENT_COLOR                  0x0B00
495 #define GL_CURRENT_INDEX                  0x0B01
496 #define GL_CURRENT_NORMAL                 0x0B02
497 #define GL_CURRENT_TEXTURE_COORDS         0x0B03
498 #define GL_CURRENT_RASTER_COLOR           0x0B04
499 #define GL_CURRENT_RASTER_INDEX           0x0B05
500 #define GL_CURRENT_RASTER_TEXTURE_COORDS  0x0B06
501 #define GL_CURRENT_RASTER_POSITION        0x0B07
502 #define GL_CURRENT_RASTER_POSITION_VALID  0x0B08
503 #define GL_CURRENT_RASTER_DISTANCE        0x0B09
504 #define GL_POINT_SMOOTH                   0x0B10
505 #define GL_POINT_SIZE                     0x0B11
506 #define GL_POINT_SIZE_RANGE               0x0B12
507 #define GL_POINT_SIZE_GRANULARITY         0x0B13
508 #define GL_LINE_SMOOTH                    0x0B20
509 #define GL_LINE_WIDTH                     0x0B21
510 #define GL_LINE_WIDTH_RANGE               0x0B22
511 #define GL_LINE_WIDTH_GRANULARITY         0x0B23
512 #define GL_LINE_STIPPLE                   0x0B24
513 #define GL_LINE_STIPPLE_PATTERN           0x0B25
514 #define GL_LINE_STIPPLE_REPEAT            0x0B26
515 #define GL_LIST_MODE                      0x0B30
516 #define GL_MAX_LIST_NESTING               0x0B31
517 #define GL_LIST_BASE                      0x0B32
518 #define GL_LIST_INDEX                     0x0B33
519 #define GL_POLYGON_MODE                   0x0B40
520 #define GL_POLYGON_SMOOTH                 0x0B41
521 #define GL_POLYGON_STIPPLE                0x0B42
522 #define GL_EDGE_FLAG                      0x0B43
523 #define GL_CULL_FACE                      0x0B44
524 #define GL_CULL_FACE_MODE                 0x0B45
525 #define GL_FRONT_FACE                     0x0B46
526 #define GL_LIGHTING                       0x0B50
527 #define GL_LIGHT_MODEL_LOCAL_VIEWER       0x0B51
528 #define GL_LIGHT_MODEL_TWO_SIDE           0x0B52
529 #define GL_LIGHT_MODEL_AMBIENT            0x0B53
530 #define GL_SHADE_MODEL                    0x0B54
531 #define GL_COLOR_MATERIAL_FACE            0x0B55
532 #define GL_COLOR_MATERIAL_PARAMETER       0x0B56
533 #define GL_COLOR_MATERIAL                 0x0B57
534 #define GL_FOG                            0x0B60
535 #define GL_FOG_INDEX                      0x0B61
536 #define GL_FOG_DENSITY                    0x0B62
537 #define GL_FOG_START                      0x0B63
538 #define GL_FOG_END                        0x0B64
539 #define GL_FOG_MODE                       0x0B65
540 #define GL_FOG_COLOR                      0x0B66
541 #define GL_DEPTH_RANGE                    0x0B70
542 #define GL_DEPTH_TEST                     0x0B71
543 #define GL_DEPTH_WRITEMASK                0x0B72
544 #define GL_DEPTH_CLEAR_VALUE              0x0B73
545 #define GL_DEPTH_FUNC                     0x0B74
546 #define GL_ACCUM_CLEAR_VALUE              0x0B80
547 #define GL_STENCIL_TEST                   0x0B90
548 #define GL_STENCIL_CLEAR_VALUE            0x0B91
549 #define GL_STENCIL_FUNC                   0x0B92
550 #define GL_STENCIL_VALUE_MASK             0x0B93
551 #define GL_STENCIL_FAIL                   0x0B94
552 #define GL_STENCIL_PASS_DEPTH_FAIL        0x0B95
553 #define GL_STENCIL_PASS_DEPTH_PASS        0x0B96
554 #define GL_STENCIL_REF                    0x0B97
555 #define GL_STENCIL_WRITEMASK              0x0B98
556 #define GL_MATRIX_MODE                    0x0BA0
557 #define GL_NORMALIZE                      0x0BA1
558 #define GL_VIEWPORT                       0x0BA2
559 #define GL_MODELVIEW_STACK_DEPTH          0x0BA3
560 #define GL_PROJECTION_STACK_DEPTH         0x0BA4
561 #define GL_TEXTURE_STACK_DEPTH            0x0BA5
562 #define GL_MODELVIEW_MATRIX               0x0BA6
563 #define GL_PROJECTION_MATRIX              0x0BA7
564 #define GL_TEXTURE_MATRIX                 0x0BA8
565 #define GL_ATTRIB_STACK_DEPTH             0x0BB0
566 #define GL_CLIENT_ATTRIB_STACK_DEPTH      0x0BB1
567 #define GL_ALPHA_TEST                     0x0BC0
568 #define GL_ALPHA_TEST_FUNC                0x0BC1
569 #define GL_ALPHA_TEST_REF                 0x0BC2
570 #define GL_DITHER                         0x0BD0
571 #define GL_BLEND_DST                      0x0BE0
572 #define GL_BLEND_SRC                      0x0BE1
573 #define GL_BLEND                          0x0BE2
574 #define GL_LOGIC_OP_MODE                  0x0BF0
575 #define GL_INDEX_LOGIC_OP                 0x0BF1
576 #define GL_COLOR_LOGIC_OP                 0x0BF2
577 #define GL_AUX_BUFFERS                    0x0C00
578 #define GL_DRAW_BUFFER                    0x0C01
579 #define GL_READ_BUFFER                    0x0C02
580 #define GL_SCISSOR_BOX                    0x0C10
581 #define GL_SCISSOR_TEST                   0x0C11
582 #define GL_INDEX_CLEAR_VALUE              0x0C20
583 #define GL_INDEX_WRITEMASK                0x0C21
584 #define GL_COLOR_CLEAR_VALUE              0x0C22
585 #define GL_COLOR_WRITEMASK                0x0C23
586 #define GL_INDEX_MODE                     0x0C30
587 #define GL_RGBA_MODE                      0x0C31
588 #define GL_DOUBLEBUFFER                   0x0C32
589 #define GL_STEREO                         0x0C33
590 #define GL_RENDER_MODE                    0x0C40
591 #define GL_PERSPECTIVE_CORRECTION_HINT    0x0C50
592 #define GL_POINT_SMOOTH_HINT              0x0C51
593 #define GL_LINE_SMOOTH_HINT               0x0C52
594 #define GL_POLYGON_SMOOTH_HINT            0x0C53
595 #define GL_FOG_HINT                       0x0C54
596 #define GL_TEXTURE_GEN_S                  0x0C60
597 #define GL_TEXTURE_GEN_T                  0x0C61
598 #define GL_TEXTURE_GEN_R                  0x0C62
599 #define GL_TEXTURE_GEN_Q                  0x0C63
600 #define GL_PIXEL_MAP_I_TO_I               0x0C70
601 #define GL_PIXEL_MAP_S_TO_S               0x0C71
602 #define GL_PIXEL_MAP_I_TO_R               0x0C72
603 #define GL_PIXEL_MAP_I_TO_G               0x0C73
604 #define GL_PIXEL_MAP_I_TO_B               0x0C74
605 #define GL_PIXEL_MAP_I_TO_A               0x0C75
606 #define GL_PIXEL_MAP_R_TO_R               0x0C76
607 #define GL_PIXEL_MAP_G_TO_G               0x0C77
608 #define GL_PIXEL_MAP_B_TO_B               0x0C78
609 #define GL_PIXEL_MAP_A_TO_A               0x0C79
610 #define GL_PIXEL_MAP_I_TO_I_SIZE          0x0CB0
611 #define GL_PIXEL_MAP_S_TO_S_SIZE          0x0CB1
612 #define GL_PIXEL_MAP_I_TO_R_SIZE          0x0CB2
613 #define GL_PIXEL_MAP_I_TO_G_SIZE          0x0CB3
614 #define GL_PIXEL_MAP_I_TO_B_SIZE          0x0CB4
615 #define GL_PIXEL_MAP_I_TO_A_SIZE          0x0CB5
616 #define GL_PIXEL_MAP_R_TO_R_SIZE          0x0CB6
617 #define GL_PIXEL_MAP_G_TO_G_SIZE          0x0CB7
618 #define GL_PIXEL_MAP_B_TO_B_SIZE          0x0CB8
619 #define GL_PIXEL_MAP_A_TO_A_SIZE          0x0CB9
620 #define GL_UNPACK_SWAP_BYTES              0x0CF0
621 #define GL_UNPACK_LSB_FIRST               0x0CF1
622 #define GL_UNPACK_ROW_LENGTH              0x0CF2
623 #define GL_UNPACK_SKIP_ROWS               0x0CF3
624 #define GL_UNPACK_SKIP_PIXELS             0x0CF4
625 #define GL_UNPACK_ALIGNMENT               0x0CF5
626 #define GL_PACK_SWAP_BYTES                0x0D00
627 #define GL_PACK_LSB_FIRST                 0x0D01
628 #define GL_PACK_ROW_LENGTH                0x0D02
629 #define GL_PACK_SKIP_ROWS                 0x0D03
630 #define GL_PACK_SKIP_PIXELS               0x0D04
631 #define GL_PACK_ALIGNMENT                 0x0D05
632 #define GL_MAP_COLOR                      0x0D10
633 #define GL_MAP_STENCIL                    0x0D11
634 #define GL_INDEX_SHIFT                    0x0D12
635 #define GL_INDEX_OFFSET                   0x0D13
636 #define GL_RED_SCALE                      0x0D14
637 #define GL_RED_BIAS                       0x0D15
638 #define GL_ZOOM_X                         0x0D16
639 #define GL_ZOOM_Y                         0x0D17
640 #define GL_GREEN_SCALE                    0x0D18
641 #define GL_GREEN_BIAS                     0x0D19
642 #define GL_BLUE_SCALE                     0x0D1A
643 #define GL_BLUE_BIAS                      0x0D1B
644 #define GL_ALPHA_SCALE                    0x0D1C
645 #define GL_ALPHA_BIAS                     0x0D1D
646 #define GL_DEPTH_SCALE                    0x0D1E
647 #define GL_DEPTH_BIAS                     0x0D1F
648 #define GL_MAX_EVAL_ORDER                 0x0D30
649 #define GL_MAX_LIGHTS                     0x0D31
650 #define GL_MAX_CLIP_PLANES                0x0D32
651 #define GL_MAX_TEXTURE_SIZE               0x0D33
652 #define GL_MAX_PIXEL_MAP_TABLE            0x0D34
653 #define GL_MAX_ATTRIB_STACK_DEPTH         0x0D35
654 #define GL_MAX_MODELVIEW_STACK_DEPTH      0x0D36
655 #define GL_MAX_NAME_STACK_DEPTH           0x0D37
656 #define GL_MAX_PROJECTION_STACK_DEPTH     0x0D38
657 #define GL_MAX_TEXTURE_STACK_DEPTH        0x0D39
658 #define GL_MAX_VIEWPORT_DIMS              0x0D3A
659 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH  0x0D3B
660 #define GL_SUBPIXEL_BITS                  0x0D50
661 #define GL_INDEX_BITS                     0x0D51
662 #define GL_RED_BITS                       0x0D52
663 #define GL_GREEN_BITS                     0x0D53
664 #define GL_BLUE_BITS                      0x0D54
665 #define GL_ALPHA_BITS                     0x0D55
666 #define GL_DEPTH_BITS                     0x0D56
667 #define GL_STENCIL_BITS                   0x0D57
668 #define GL_ACCUM_RED_BITS                 0x0D58
669 #define GL_ACCUM_GREEN_BITS               0x0D59
670 #define GL_ACCUM_BLUE_BITS                0x0D5A
671 #define GL_ACCUM_ALPHA_BITS               0x0D5B
672 #define GL_NAME_STACK_DEPTH               0x0D70
673 #define GL_AUTO_NORMAL                    0x0D80
674 #define GL_MAP1_COLOR_4                   0x0D90
675 #define GL_MAP1_INDEX                     0x0D91
676 #define GL_MAP1_NORMAL                    0x0D92
677 #define GL_MAP1_TEXTURE_COORD_1           0x0D93
678 #define GL_MAP1_TEXTURE_COORD_2           0x0D94
679 #define GL_MAP1_TEXTURE_COORD_3           0x0D95
680 #define GL_MAP1_TEXTURE_COORD_4           0x0D96
681 #define GL_MAP1_VERTEX_3                  0x0D97
682 #define GL_MAP1_VERTEX_4                  0x0D98
683 #define GL_MAP2_COLOR_4                   0x0DB0
684 #define GL_MAP2_INDEX                     0x0DB1
685 #define GL_MAP2_NORMAL                    0x0DB2
686 #define GL_MAP2_TEXTURE_COORD_1           0x0DB3
687 #define GL_MAP2_TEXTURE_COORD_2           0x0DB4
688 #define GL_MAP2_TEXTURE_COORD_3           0x0DB5
689 #define GL_MAP2_TEXTURE_COORD_4           0x0DB6
690 #define GL_MAP2_VERTEX_3                  0x0DB7
691 #define GL_MAP2_VERTEX_4                  0x0DB8
692 #define GL_MAP1_GRID_DOMAIN               0x0DD0
693 #define GL_MAP1_GRID_SEGMENTS             0x0DD1
694 #define GL_MAP2_GRID_DOMAIN               0x0DD2
695 #define GL_MAP2_GRID_SEGMENTS             0x0DD3
696 #define GL_TEXTURE_1D                     0x0DE0
697 #define GL_TEXTURE_2D                     0x0DE1
698 #define GL_FEEDBACK_BUFFER_POINTER        0x0DF0
699 #define GL_FEEDBACK_BUFFER_SIZE           0x0DF1
700 #define GL_FEEDBACK_BUFFER_TYPE           0x0DF2
701 #define GL_SELECTION_BUFFER_POINTER       0x0DF3
702 #define GL_SELECTION_BUFFER_SIZE          0x0DF4
703 /*      GL_TEXTURE_BINDING_1D */
704 /*      GL_TEXTURE_BINDING_2D */
705 /*      GL_VERTEX_ARRAY */
706 /*      GL_NORMAL_ARRAY */
707 /*      GL_COLOR_ARRAY */
708 /*      GL_INDEX_ARRAY */
709 /*      GL_TEXTURE_COORD_ARRAY */
710 /*      GL_EDGE_FLAG_ARRAY */
711 /*      GL_VERTEX_ARRAY_SIZE */
712 /*      GL_VERTEX_ARRAY_TYPE */
713 /*      GL_VERTEX_ARRAY_STRIDE */
714 /*      GL_NORMAL_ARRAY_TYPE */
715 /*      GL_NORMAL_ARRAY_STRIDE */
716 /*      GL_COLOR_ARRAY_SIZE */
717 /*      GL_COLOR_ARRAY_TYPE */
718 /*      GL_COLOR_ARRAY_STRIDE */
719 /*      GL_INDEX_ARRAY_TYPE */
720 /*      GL_INDEX_ARRAY_STRIDE */
721 /*      GL_TEXTURE_COORD_ARRAY_SIZE */
722 /*      GL_TEXTURE_COORD_ARRAY_TYPE */
723 /*      GL_TEXTURE_COORD_ARRAY_STRIDE */
724 /*      GL_EDGE_FLAG_ARRAY_STRIDE */
725 /*      GL_POLYGON_OFFSET_FACTOR */
726 /*      GL_POLYGON_OFFSET_UNITS */
727 
728 /* GetTextureParameter */
729 /*      GL_TEXTURE_MAG_FILTER */
730 /*      GL_TEXTURE_MIN_FILTER */
731 /*      GL_TEXTURE_WRAP_S */
732 /*      GL_TEXTURE_WRAP_T */
733 #define GL_TEXTURE_WIDTH                  0x1000
734 #define GL_TEXTURE_HEIGHT                 0x1001
735 #define GL_TEXTURE_COMPONENTS             0x1003
736 #define GL_TEXTURE_BORDER_COLOR           0x1004
737 #define GL_TEXTURE_BORDER                 0x1005
738 /*      GL_TEXTURE_RED_SIZE */
739 /*      GL_TEXTURE_GREEN_SIZE */
740 /*      GL_TEXTURE_BLUE_SIZE */
741 /*      GL_TEXTURE_ALPHA_SIZE */
742 /*      GL_TEXTURE_LUMINANCE_SIZE */
743 /*      GL_TEXTURE_INTENSITY_SIZE */
744 /*      GL_TEXTURE_PRIORITY */
745 /*      GL_TEXTURE_RESIDENT */
746 
747 /* HintMode */
748 #define GL_DONT_CARE                      0x1100
749 #define GL_FASTEST                        0x1101
750 #define GL_NICEST                         0x1102
751 
752 /* HintTarget */
753 /*      GL_PERSPECTIVE_CORRECTION_HINT */
754 /*      GL_POINT_SMOOTH_HINT */
755 /*      GL_LINE_SMOOTH_HINT */
756 /*      GL_POLYGON_SMOOTH_HINT */
757 /*      GL_FOG_HINT */
758 
759 /* IndexPointerType */
760 /*      GL_SHORT */
761 /*      GL_INT */
762 /*      GL_FLOAT */
763 /*      GL_DOUBLE */
764 
765 /* LightModelParameter */
766 /*      GL_LIGHT_MODEL_AMBIENT */
767 /*      GL_LIGHT_MODEL_LOCAL_VIEWER */
768 /*      GL_LIGHT_MODEL_TWO_SIDE */
769 
770 /* LightName */
771 #define GL_LIGHT0                         0x4000
772 #define GL_LIGHT1                         0x4001
773 #define GL_LIGHT2                         0x4002
774 #define GL_LIGHT3                         0x4003
775 #define GL_LIGHT4                         0x4004
776 #define GL_LIGHT5                         0x4005
777 #define GL_LIGHT6                         0x4006
778 #define GL_LIGHT7                         0x4007
779 
780 /* LightParameter */
781 #define GL_AMBIENT                        0x1200
782 #define GL_DIFFUSE                        0x1201
783 #define GL_SPECULAR                       0x1202
784 #define GL_POSITION                       0x1203
785 #define GL_SPOT_DIRECTION                 0x1204
786 #define GL_SPOT_EXPONENT                  0x1205
787 #define GL_SPOT_CUTOFF                    0x1206
788 #define GL_CONSTANT_ATTENUATION           0x1207
789 #define GL_LINEAR_ATTENUATION             0x1208
790 #define GL_QUADRATIC_ATTENUATION          0x1209
791 
792 /* InterleavedArrays */
793 /*      GL_V2F */
794 /*      GL_V3F */
795 /*      GL_C4UB_V2F */
796 /*      GL_C4UB_V3F */
797 /*      GL_C3F_V3F */
798 /*      GL_N3F_V3F */
799 /*      GL_C4F_N3F_V3F */
800 /*      GL_T2F_V3F */
801 /*      GL_T4F_V4F */
802 /*      GL_T2F_C4UB_V3F */
803 /*      GL_T2F_C3F_V3F */
804 /*      GL_T2F_N3F_V3F */
805 /*      GL_T2F_C4F_N3F_V3F */
806 /*      GL_T4F_C4F_N3F_V4F */
807 
808 /* ListMode */
809 #define GL_COMPILE                        0x1300
810 #define GL_COMPILE_AND_EXECUTE            0x1301
811 
812 /* ListNameType */
813 /*      GL_BYTE */
814 /*      GL_UNSIGNED_BYTE */
815 /*      GL_SHORT */
816 /*      GL_UNSIGNED_SHORT */
817 /*      GL_INT */
818 /*      GL_UNSIGNED_INT */
819 /*      GL_FLOAT */
820 /*      GL_2_BYTES */
821 /*      GL_3_BYTES */
822 /*      GL_4_BYTES */
823 
824 /* LogicOp */
825 #define GL_CLEAR                          0x1500
826 #define GL_AND                            0x1501
827 #define GL_AND_REVERSE                    0x1502
828 #define GL_COPY                           0x1503
829 #define GL_AND_INVERTED                   0x1504
830 #define GL_NOOP                           0x1505
831 #define GL_XOR                            0x1506
832 #define GL_OR                             0x1507
833 #define GL_NOR                            0x1508
834 #define GL_EQUIV                          0x1509
835 #define GL_INVERT                         0x150A
836 #define GL_OR_REVERSE                     0x150B
837 #define GL_COPY_INVERTED                  0x150C
838 #define GL_OR_INVERTED                    0x150D
839 #define GL_NAND                           0x150E
840 #define GL_SET                            0x150F
841 
842 /* MapTarget */
843 /*      GL_MAP1_COLOR_4 */
844 /*      GL_MAP1_INDEX */
845 /*      GL_MAP1_NORMAL */
846 /*      GL_MAP1_TEXTURE_COORD_1 */
847 /*      GL_MAP1_TEXTURE_COORD_2 */
848 /*      GL_MAP1_TEXTURE_COORD_3 */
849 /*      GL_MAP1_TEXTURE_COORD_4 */
850 /*      GL_MAP1_VERTEX_3 */
851 /*      GL_MAP1_VERTEX_4 */
852 /*      GL_MAP2_COLOR_4 */
853 /*      GL_MAP2_INDEX */
854 /*      GL_MAP2_NORMAL */
855 /*      GL_MAP2_TEXTURE_COORD_1 */
856 /*      GL_MAP2_TEXTURE_COORD_2 */
857 /*      GL_MAP2_TEXTURE_COORD_3 */
858 /*      GL_MAP2_TEXTURE_COORD_4 */
859 /*      GL_MAP2_VERTEX_3 */
860 /*      GL_MAP2_VERTEX_4 */
861 
862 /* MaterialFace */
863 /*      GL_FRONT */
864 /*      GL_BACK */
865 /*      GL_FRONT_AND_BACK */
866 
867 /* MaterialParameter */
868 #define GL_EMISSION                       0x1600
869 #define GL_SHININESS                      0x1601
870 #define GL_AMBIENT_AND_DIFFUSE            0x1602
871 #define GL_COLOR_INDEXES                  0x1603
872 /*      GL_AMBIENT */
873 /*      GL_DIFFUSE */
874 /*      GL_SPECULAR */
875 
876 /* MatrixMode */
877 #define GL_MODELVIEW                      0x1700
878 #define GL_PROJECTION                     0x1701
879 #define GL_TEXTURE                        0x1702
880 
881 /* MeshMode1 */
882 /*      GL_POINT */
883 /*      GL_LINE */
884 
885 /* MeshMode2 */
886 /*      GL_POINT */
887 /*      GL_LINE */
888 /*      GL_FILL */
889 
890 /* NormalPointerType */
891 /*      GL_BYTE */
892 /*      GL_SHORT */
893 /*      GL_INT */
894 /*      GL_FLOAT */
895 /*      GL_DOUBLE */
896 
897 /* PixelCopyType */
898 #define GL_COLOR                          0x1800
899 #define GL_DEPTH                          0x1801
900 #define GL_STENCIL                        0x1802
901 
902 /* PixelFormat */
903 #define GL_COLOR_INDEX                    0x1900
904 #define GL_STENCIL_INDEX                  0x1901
905 #define GL_DEPTH_COMPONENT                0x1902
906 #define GL_RED                            0x1903
907 #define GL_GREEN                          0x1904
908 #define GL_BLUE                           0x1905
909 #define GL_ALPHA                          0x1906
910 #define GL_RGB                            0x1907
911 #define GL_RGBA                           0x1908
912 #define GL_LUMINANCE                      0x1909
913 #define GL_LUMINANCE_ALPHA                0x190A
914 
915 /* PixelMap */
916 /*      GL_PIXEL_MAP_I_TO_I */
917 /*      GL_PIXEL_MAP_S_TO_S */
918 /*      GL_PIXEL_MAP_I_TO_R */
919 /*      GL_PIXEL_MAP_I_TO_G */
920 /*      GL_PIXEL_MAP_I_TO_B */
921 /*      GL_PIXEL_MAP_I_TO_A */
922 /*      GL_PIXEL_MAP_R_TO_R */
923 /*      GL_PIXEL_MAP_G_TO_G */
924 /*      GL_PIXEL_MAP_B_TO_B */
925 /*      GL_PIXEL_MAP_A_TO_A */
926 
927 /* PixelStore */
928 /*      GL_UNPACK_SWAP_BYTES */
929 /*      GL_UNPACK_LSB_FIRST */
930 /*      GL_UNPACK_ROW_LENGTH */
931 /*      GL_UNPACK_SKIP_ROWS */
932 /*      GL_UNPACK_SKIP_PIXELS */
933 /*      GL_UNPACK_ALIGNMENT */
934 /*      GL_PACK_SWAP_BYTES */
935 /*      GL_PACK_LSB_FIRST */
936 /*      GL_PACK_ROW_LENGTH */
937 /*      GL_PACK_SKIP_ROWS */
938 /*      GL_PACK_SKIP_PIXELS */
939 /*      GL_PACK_ALIGNMENT */
940 
941 /* PixelTransfer */
942 /*      GL_MAP_COLOR */
943 /*      GL_MAP_STENCIL */
944 /*      GL_INDEX_SHIFT */
945 /*      GL_INDEX_OFFSET */
946 /*      GL_RED_SCALE */
947 /*      GL_RED_BIAS */
948 /*      GL_GREEN_SCALE */
949 /*      GL_GREEN_BIAS */
950 /*      GL_BLUE_SCALE */
951 /*      GL_BLUE_BIAS */
952 /*      GL_ALPHA_SCALE */
953 /*      GL_ALPHA_BIAS */
954 /*      GL_DEPTH_SCALE */
955 /*      GL_DEPTH_BIAS */
956 
957 /* PixelType */
958 #define GL_BITMAP                         0x1A00
959 /*      GL_BYTE */
960 /*      GL_UNSIGNED_BYTE */
961 /*      GL_SHORT */
962 /*      GL_UNSIGNED_SHORT */
963 /*      GL_INT */
964 /*      GL_UNSIGNED_INT */
965 /*      GL_FLOAT */
966 
967 /* PolygonMode */
968 #define GL_POINT                          0x1B00
969 #define GL_LINE                           0x1B01
970 #define GL_FILL                           0x1B02
971 
972 /* ReadBufferMode */
973 /*      GL_FRONT_LEFT */
974 /*      GL_FRONT_RIGHT */
975 /*      GL_BACK_LEFT */
976 /*      GL_BACK_RIGHT */
977 /*      GL_FRONT */
978 /*      GL_BACK */
979 /*      GL_LEFT */
980 /*      GL_RIGHT */
981 /*      GL_AUX0 */
982 /*      GL_AUX1 */
983 /*      GL_AUX2 */
984 /*      GL_AUX3 */
985 
986 /* RenderingMode */
987 #define GL_RENDER                         0x1C00
988 #define GL_FEEDBACK                       0x1C01
989 #define GL_SELECT                         0x1C02
990 
991 /* ShadingModel */
992 #define GL_FLAT                           0x1D00
993 #define GL_SMOOTH                         0x1D01
994 
995 /* StencilFunction */
996 /*      GL_NEVER */
997 /*      GL_LESS */
998 /*      GL_EQUAL */
999 /*      GL_LEQUAL */
1000 /*      GL_GREATER */
1001 /*      GL_NOTEQUAL */
1002 /*      GL_GEQUAL */
1003 /*      GL_ALWAYS */
1004 
1005 /* StencilOp */
1006 /*      GL_ZERO */
1007 #define GL_KEEP                           0x1E00
1008 #define GL_REPLACE                        0x1E01
1009 #define GL_INCR                           0x1E02
1010 #define GL_DECR                           0x1E03
1011 /*      GL_INVERT */
1012 
1013 /* StringName */
1014 #define GL_VENDOR                         0x1F00
1015 #define GL_RENDERER                       0x1F01
1016 #define GL_VERSION                        0x1F02
1017 #define GL_EXTENSIONS                     0x1F03
1018 
1019 /* TextureCoordName */
1020 #define GL_S                              0x2000
1021 #define GL_T                              0x2001
1022 #define GL_R                              0x2002
1023 #define GL_Q                              0x2003
1024 
1025 /* TexCoordPointerType */
1026 /*      GL_SHORT */
1027 /*      GL_INT */
1028 /*      GL_FLOAT */
1029 /*      GL_DOUBLE */
1030 
1031 /* TextureEnvMode */
1032 #define GL_MODULATE                       0x2100
1033 #define GL_DECAL                          0x2101
1034 /*      GL_BLEND */
1035 /*      GL_REPLACE */
1036 
1037 /* TextureEnvParameter */
1038 #define GL_TEXTURE_ENV_MODE               0x2200
1039 #define GL_TEXTURE_ENV_COLOR              0x2201
1040 
1041 /* TextureEnvTarget */
1042 #define GL_TEXTURE_ENV                    0x2300
1043 
1044 /* TextureGenMode */
1045 #define GL_EYE_LINEAR                     0x2400
1046 #define GL_OBJECT_LINEAR                  0x2401
1047 #define GL_SPHERE_MAP                     0x2402
1048 
1049 /* TextureGenParameter */
1050 #define GL_TEXTURE_GEN_MODE               0x2500
1051 #define GL_OBJECT_PLANE                   0x2501
1052 #define GL_EYE_PLANE                      0x2502
1053 
1054 /* TextureMagFilter */
1055 #define GL_NEAREST                        0x2600
1056 #define GL_LINEAR                         0x2601
1057 
1058 /* TextureMinFilter */
1059 /*      GL_NEAREST */
1060 /*      GL_LINEAR */
1061 #define GL_NEAREST_MIPMAP_NEAREST         0x2700
1062 #define GL_LINEAR_MIPMAP_NEAREST          0x2701
1063 #define GL_NEAREST_MIPMAP_LINEAR          0x2702
1064 #define GL_LINEAR_MIPMAP_LINEAR           0x2703
1065 
1066 /* TextureParameterName */
1067 #define GL_TEXTURE_MAG_FILTER             0x2800
1068 #define GL_TEXTURE_MIN_FILTER             0x2801
1069 #define GL_TEXTURE_WRAP_S                 0x2802
1070 #define GL_TEXTURE_WRAP_T                 0x2803
1071 /*      GL_TEXTURE_BORDER_COLOR */
1072 /*      GL_TEXTURE_PRIORITY */
1073 
1074 /* TextureTarget */
1075 /*      GL_TEXTURE_1D */
1076 /*      GL_TEXTURE_2D */
1077 /*      GL_PROXY_TEXTURE_1D */
1078 /*      GL_PROXY_TEXTURE_2D */
1079 
1080 /* TextureWrapMode */
1081 #define GL_CLAMP                          0x2900
1082 #define GL_REPEAT                         0x2901
1083 
1084 /* VertexPointerType */
1085 /*      GL_SHORT */
1086 /*      GL_INT */
1087 /*      GL_FLOAT */
1088 /*      GL_DOUBLE */
1089 
1090 /* ClientAttribMask */
1091 #define GL_CLIENT_PIXEL_STORE_BIT         0x00000001
1092 #define GL_CLIENT_VERTEX_ARRAY_BIT        0x00000002
1093 #define GL_CLIENT_ALL_ATTRIB_BITS         0xffffffff
1094 
1095 /* polygon_offset */
1096 #define GL_POLYGON_OFFSET_FACTOR          0x8038
1097 #define GL_POLYGON_OFFSET_UNITS           0x2A00
1098 #define GL_POLYGON_OFFSET_POINT           0x2A01
1099 #define GL_POLYGON_OFFSET_LINE            0x2A02
1100 #define GL_POLYGON_OFFSET_FILL            0x8037
1101 
1102 /* texture */
1103 #define GL_ALPHA4                         0x803B
1104 #define GL_ALPHA8                         0x803C
1105 #define GL_ALPHA12                        0x803D
1106 #define GL_ALPHA16                        0x803E
1107 #define GL_LUMINANCE4                     0x803F
1108 #define GL_LUMINANCE8                     0x8040
1109 #define GL_LUMINANCE12                    0x8041
1110 #define GL_LUMINANCE16                    0x8042
1111 #define GL_LUMINANCE4_ALPHA4              0x8043
1112 #define GL_LUMINANCE6_ALPHA2              0x8044
1113 #define GL_LUMINANCE8_ALPHA8              0x8045
1114 #define GL_LUMINANCE12_ALPHA4             0x8046
1115 #define GL_LUMINANCE12_ALPHA12            0x8047
1116 #define GL_LUMINANCE16_ALPHA16            0x8048
1117 #define GL_INTENSITY                      0x8049
1118 #define GL_INTENSITY4                     0x804A
1119 #define GL_INTENSITY8                     0x804B
1120 #define GL_INTENSITY12                    0x804C
1121 #define GL_INTENSITY16                    0x804D
1122 #define GL_R3_G3_B2                       0x2A10
1123 #define GL_RGB4                           0x804F
1124 #define GL_RGB5                           0x8050
1125 #define GL_RGB8                           0x8051
1126 #define GL_RGB10                          0x8052
1127 #define GL_RGB12                          0x8053
1128 #define GL_RGB16                          0x8054
1129 #define GL_RGBA2                          0x8055
1130 #define GL_RGBA4                          0x8056
1131 #define GL_RGB5_A1                        0x8057
1132 #define GL_RGBA8                          0x8058
1133 #define GL_RGB10_A2                       0x8059
1134 #define GL_RGBA12                         0x805A
1135 #define GL_RGBA16                         0x805B
1136 #define GL_TEXTURE_RED_SIZE               0x805C
1137 #define GL_TEXTURE_GREEN_SIZE             0x805D
1138 #define GL_TEXTURE_BLUE_SIZE              0x805E
1139 #define GL_TEXTURE_ALPHA_SIZE             0x805F
1140 #define GL_TEXTURE_LUMINANCE_SIZE         0x8060
1141 #define GL_TEXTURE_INTENSITY_SIZE         0x8061
1142 #define GL_PROXY_TEXTURE_1D               0x8063
1143 #define GL_PROXY_TEXTURE_2D               0x8064
1144 
1145 /* texture_object */
1146 #define GL_TEXTURE_PRIORITY               0x8066
1147 #define GL_TEXTURE_RESIDENT               0x8067
1148 #define GL_TEXTURE_BINDING_1D             0x8068
1149 #define GL_TEXTURE_BINDING_2D             0x8069
1150 
1151 /* vertex_array */
1152 #define GL_VERTEX_ARRAY                   0x8074
1153 #define GL_NORMAL_ARRAY                   0x8075
1154 #define GL_COLOR_ARRAY                    0x8076
1155 #define GL_INDEX_ARRAY                    0x8077
1156 #define GL_TEXTURE_COORD_ARRAY            0x8078
1157 #define GL_EDGE_FLAG_ARRAY                0x8079
1158 #define GL_VERTEX_ARRAY_SIZE              0x807A
1159 #define GL_VERTEX_ARRAY_TYPE              0x807B
1160 #define GL_VERTEX_ARRAY_STRIDE            0x807C
1161 #define GL_NORMAL_ARRAY_TYPE              0x807E
1162 #define GL_NORMAL_ARRAY_STRIDE            0x807F
1163 #define GL_COLOR_ARRAY_SIZE               0x8081
1164 #define GL_COLOR_ARRAY_TYPE               0x8082
1165 #define GL_COLOR_ARRAY_STRIDE             0x8083
1166 #define GL_INDEX_ARRAY_TYPE               0x8085
1167 #define GL_INDEX_ARRAY_STRIDE             0x8086
1168 #define GL_TEXTURE_COORD_ARRAY_SIZE       0x8088
1169 #define GL_TEXTURE_COORD_ARRAY_TYPE       0x8089
1170 #define GL_TEXTURE_COORD_ARRAY_STRIDE     0x808A
1171 #define GL_EDGE_FLAG_ARRAY_STRIDE         0x808C
1172 #define GL_VERTEX_ARRAY_POINTER           0x808E
1173 #define GL_NORMAL_ARRAY_POINTER           0x808F
1174 #define GL_COLOR_ARRAY_POINTER            0x8090
1175 #define GL_INDEX_ARRAY_POINTER            0x8091
1176 #define GL_TEXTURE_COORD_ARRAY_POINTER    0x8092
1177 #define GL_EDGE_FLAG_ARRAY_POINTER        0x8093
1178 #define GL_V2F                            0x2A20
1179 #define GL_V3F                            0x2A21
1180 #define GL_C4UB_V2F                       0x2A22
1181 #define GL_C4UB_V3F                       0x2A23
1182 #define GL_C3F_V3F                        0x2A24
1183 #define GL_N3F_V3F                        0x2A25
1184 #define GL_C4F_N3F_V3F                    0x2A26
1185 #define GL_T2F_V3F                        0x2A27
1186 #define GL_T4F_V4F                        0x2A28
1187 #define GL_T2F_C4UB_V3F                   0x2A29
1188 #define GL_T2F_C3F_V3F                    0x2A2A
1189 #define GL_T2F_N3F_V3F                    0x2A2B
1190 #define GL_T2F_C4F_N3F_V3F                0x2A2C
1191 #define GL_T4F_C4F_N3F_V4F                0x2A2D
1192 
1193 /* Extensions */
1194 #define GL_EXT_vertex_array               1
1195 #define GL_WIN_swap_hint                  1
1196 #define GL_EXT_bgra                       1
1197 #define GL_EXT_paletted_texture           1
1198 #define GL_EXT_clip_disable               1
1199 
1200 /* EXT_vertex_array */
1201 #define GL_VERTEX_ARRAY_EXT               0x8074
1202 #define GL_NORMAL_ARRAY_EXT               0x8075
1203 #define GL_COLOR_ARRAY_EXT                0x8076
1204 #define GL_INDEX_ARRAY_EXT                0x8077
1205 #define GL_TEXTURE_COORD_ARRAY_EXT        0x8078
1206 #define GL_EDGE_FLAG_ARRAY_EXT            0x8079
1207 #define GL_VERTEX_ARRAY_SIZE_EXT          0x807A
1208 #define GL_VERTEX_ARRAY_TYPE_EXT          0x807B
1209 #define GL_VERTEX_ARRAY_STRIDE_EXT        0x807C
1210 #define GL_VERTEX_ARRAY_COUNT_EXT         0x807D
1211 #define GL_NORMAL_ARRAY_TYPE_EXT          0x807E
1212 #define GL_NORMAL_ARRAY_STRIDE_EXT        0x807F
1213 #define GL_NORMAL_ARRAY_COUNT_EXT         0x8080
1214 #define GL_COLOR_ARRAY_SIZE_EXT           0x8081
1215 #define GL_COLOR_ARRAY_TYPE_EXT           0x8082
1216 #define GL_COLOR_ARRAY_STRIDE_EXT         0x8083
1217 #define GL_COLOR_ARRAY_COUNT_EXT          0x8084
1218 #define GL_INDEX_ARRAY_TYPE_EXT           0x8085
1219 #define GL_INDEX_ARRAY_STRIDE_EXT         0x8086
1220 #define GL_INDEX_ARRAY_COUNT_EXT          0x8087
1221 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT   0x8088
1222 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT   0x8089
1223 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
1224 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT  0x808B
1225 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT     0x808C
1226 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT      0x808D
1227 #define GL_VERTEX_ARRAY_POINTER_EXT       0x808E
1228 #define GL_NORMAL_ARRAY_POINTER_EXT       0x808F
1229 #define GL_COLOR_ARRAY_POINTER_EXT        0x8090
1230 #define GL_INDEX_ARRAY_POINTER_EXT        0x8091
1231 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
1232 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT    0x8093
1233 #define GL_DOUBLE_EXT                     GL_DOUBLE
1234 
1235 /* EXT_bgra */
1236 #define GL_BGR_EXT                        0x80E0
1237 #define GL_BGRA_EXT                       0x80E1
1238 
1239 /* EXT_paletted_texture */
1240 
1241 /* These must match the GL_COLOR_TABLE_*_SGI enumerants */
1242 #define GL_COLOR_TABLE_FORMAT_EXT         0x80D8
1243 #define GL_COLOR_TABLE_WIDTH_EXT          0x80D9
1244 #define GL_COLOR_TABLE_RED_SIZE_EXT       0x80DA
1245 #define GL_COLOR_TABLE_GREEN_SIZE_EXT     0x80DB
1246 #define GL_COLOR_TABLE_BLUE_SIZE_EXT      0x80DC
1247 #define GL_COLOR_TABLE_ALPHA_SIZE_EXT     0x80DD
1248 #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
1249 #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
1250 
1251 #define GL_COLOR_INDEX1_EXT               0x80E2
1252 #define GL_COLOR_INDEX2_EXT               0x80E3
1253 #define GL_COLOR_INDEX4_EXT               0x80E4
1254 #define GL_COLOR_INDEX8_EXT               0x80E5
1255 #define GL_COLOR_INDEX12_EXT              0x80E6
1256 #define GL_COLOR_INDEX16_EXT              0x80E7
1257 
1258 /* EXT_clip_disable */
1259 #define GL_CLIP_EXT                       0x80F0
1260 
1261 /* For compatibility with OpenGL v1.0 */
1262 #define GL_LOGIC_OP GL_INDEX_LOGIC_OP
1263 
1264 /* EXT_vertex_array */
1265 typedef void (APIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
1266 typedef void (APIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
1267 typedef void (APIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1268 typedef void (APIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1269 typedef void (APIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1270 typedef void (APIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1271 typedef void (APIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
1272 typedef void (APIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
1273 typedef void (APIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
1274 typedef void (APIENTRY * PFNGLARRAYELEMENTARRAYEXTPROC)(GLenum mode, GLsizei count, const GLvoid* pi);
1275 
1276 /* WIN_swap_hint */
1277 typedef void (APIENTRY * PFNGLADDSWAPHINTRECTWINPROC)  (GLint x, GLint y, GLsizei width, GLsizei height);
1278 
1279 /* EXT_paletted_texture */
1280 typedef void (APIENTRY * PFNGLCOLORTABLEEXTPROC)
1281     (GLenum target, GLenum internalFormat, GLsizei width, GLenum format,
1282      GLenum type, const GLvoid *data);
1283 typedef void (APIENTRY * PFNGLCOLORSUBTABLEEXTPROC)
1284     (GLenum target, GLsizei start, GLsizei count, GLenum format,
1285      GLenum type, const GLvoid *data);
1286 typedef void (APIENTRY * PFNGLGETCOLORTABLEEXTPROC)
1287     (GLenum target, GLenum format, GLenum type, GLvoid *data);
1288 typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)
1289     (GLenum target, GLenum pname, GLint *params);
1290 typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)
1291     (GLenum target, GLenum pname, GLfloat *params);
1292 
1293 extern  void ( APIENTRY * GLS_CONST glAccum )(GLenum op, GLfloat value);
1294 extern  void ( APIENTRY * GLS_CONST glAlphaFunc )(GLenum func, GLclampf ref);
1295 extern  GLboolean ( APIENTRY * GLS_CONST glAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
1296 extern  void ( APIENTRY * GLS_CONST glArrayElement )(GLint i);
1297 extern  void ( APIENTRY * GLS_CONST glBegin )(GLenum mode);
1298 extern  void ( APIENTRY * GLS_CONST glBindTexture )(GLenum target, GLuint texture);
1299 extern  void ( APIENTRY * GLS_CONST glBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
1300 extern  void ( APIENTRY * GLS_CONST glBlendFunc )(GLenum sfactor, GLenum dfactor);
1301 extern  void ( APIENTRY * GLS_CONST glCallList )(GLuint list);
1302 extern  void ( APIENTRY * GLS_CONST glCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
1303 extern  void ( APIENTRY * GLS_CONST glClear )(GLbitfield mask);
1304 extern  void ( APIENTRY * GLS_CONST glClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
1305 extern  void ( APIENTRY * GLS_CONST glClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
1306 extern  void ( APIENTRY * GLS_CONST glClearDepth )(GLclampd depth);
1307 extern  void ( APIENTRY * GLS_CONST glClearIndex )(GLfloat c);
1308 extern  void ( APIENTRY * GLS_CONST glClearStencil )(GLint s);
1309 extern  void ( APIENTRY * GLS_CONST glClipPlane )(GLenum plane, const GLdouble *equation);
1310 extern  void ( APIENTRY * GLS_CONST glColor3b )(GLbyte red, GLbyte green, GLbyte blue);
1311 extern  void ( APIENTRY * GLS_CONST glColor3bv )(const GLbyte *v);
1312 extern  void ( APIENTRY * GLS_CONST glColor3d )(GLdouble red, GLdouble green, GLdouble blue);
1313 extern  void ( APIENTRY * GLS_CONST glColor3dv )(const GLdouble *v);
1314 extern  void ( APIENTRY * GLS_CONST glColor3f )(GLfloat red, GLfloat green, GLfloat blue);
1315 extern  void ( APIENTRY * GLS_CONST glColor3fv )(const GLfloat *v);
1316 extern  void ( APIENTRY * GLS_CONST glColor3i )(GLint red, GLint green, GLint blue);
1317 extern  void ( APIENTRY * GLS_CONST glColor3iv )(const GLint *v);
1318 extern  void ( APIENTRY * GLS_CONST glColor3s )(GLshort red, GLshort green, GLshort blue);
1319 extern  void ( APIENTRY * GLS_CONST glColor3sv )(const GLshort *v);
1320 extern  void ( APIENTRY * GLS_CONST glColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
1321 extern  void ( APIENTRY * GLS_CONST glColor3ubv )(const GLubyte *v);
1322 extern  void ( APIENTRY * GLS_CONST glColor3ui )(GLuint red, GLuint green, GLuint blue);
1323 extern  void ( APIENTRY * GLS_CONST glColor3uiv )(const GLuint *v);
1324 extern  void ( APIENTRY * GLS_CONST glColor3us )(GLushort red, GLushort green, GLushort blue);
1325 extern  void ( APIENTRY * GLS_CONST glColor3usv )(const GLushort *v);
1326 extern  void ( APIENTRY * GLS_CONST glColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
1327 extern  void ( APIENTRY * GLS_CONST glColor4bv )(const GLbyte *v);
1328 extern  void ( APIENTRY * GLS_CONST glColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
1329 extern  void ( APIENTRY * GLS_CONST glColor4dv )(const GLdouble *v);
1330 extern  void ( APIENTRY * GLS_CONST glColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
1331 extern  void ( APIENTRY * GLS_CONST glColor4fv )(const GLfloat *v);
1332 extern  void ( APIENTRY * GLS_CONST glColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
1333 extern  void ( APIENTRY * GLS_CONST glColor4iv )(const GLint *v);
1334 extern  void ( APIENTRY * GLS_CONST glColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
1335 extern  void ( APIENTRY * GLS_CONST glColor4sv )(const GLshort *v);
1336 extern  void ( APIENTRY * GLS_CONST glColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
1337 extern  void ( APIENTRY * GLS_CONST glColor4ubv )(const GLubyte *v);
1338 extern  void ( APIENTRY * GLS_CONST glColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
1339 extern  void ( APIENTRY * GLS_CONST glColor4uiv )(const GLuint *v);
1340 extern  void ( APIENTRY * GLS_CONST glColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
1341 extern  void ( APIENTRY * GLS_CONST glColor4usv )(const GLushort *v);
1342 extern  void ( APIENTRY * GLS_CONST glColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
1343 extern  void ( APIENTRY * GLS_CONST glColorMaterial )(GLenum face, GLenum mode);
1344 extern  void ( APIENTRY * GLS_CONST glColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1345 extern  void ( APIENTRY * GLS_CONST glCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
1346 extern  void ( APIENTRY * GLS_CONST glCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
1347 extern  void ( APIENTRY * GLS_CONST glCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
1348 extern  void ( APIENTRY * GLS_CONST glCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
1349 extern  void ( APIENTRY * GLS_CONST glCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1350 extern  void ( APIENTRY * GLS_CONST glCullFace )(GLenum mode);
1351 extern  void ( APIENTRY * GLS_CONST glDeleteLists )(GLuint list, GLsizei range);
1352 extern  void ( APIENTRY * GLS_CONST glDeleteTextures )(GLsizei n, const GLuint *textures);
1353 extern  void ( APIENTRY * GLS_CONST glDepthFunc )(GLenum func);
1354 extern  void ( APIENTRY * GLS_CONST glDepthMask )(GLboolean flag);
1355 extern  void ( APIENTRY * GLS_CONST glDepthRange )(GLclampd zNear, GLclampd zFar);
1356 extern  void ( APIENTRY * GLS_CONST glDisable )(GLenum cap);
1357 extern  void ( APIENTRY * GLS_CONST glDisableClientState )(GLenum array);
1358 extern  void ( APIENTRY * GLS_CONST glDrawArrays )(GLenum mode, GLint first, GLsizei count);
1359 extern  void ( APIENTRY * GLS_CONST glDrawBuffer )(GLenum mode);
1360 extern  void ( APIENTRY * GLS_CONST glDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
1361 extern  void ( APIENTRY * GLS_CONST glDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
1362 extern  void ( APIENTRY * GLS_CONST glEdgeFlag )(GLboolean flag);
1363 extern  void ( APIENTRY * GLS_CONST glEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
1364 extern  void ( APIENTRY * GLS_CONST glEdgeFlagv )(const GLboolean *flag);
1365 extern  void ( APIENTRY * GLS_CONST glEnable )(GLenum cap);
1366 extern  void ( APIENTRY * GLS_CONST glEnableClientState )(GLenum array);
1367 extern  void ( APIENTRY * GLS_CONST glEnd )(void);
1368 extern  void ( APIENTRY * GLS_CONST glEndList )(void);
1369 extern  void ( APIENTRY * GLS_CONST glEvalCoord1d )(GLdouble u);
1370 extern  void ( APIENTRY * GLS_CONST glEvalCoord1dv )(const GLdouble *u);
1371 extern  void ( APIENTRY * GLS_CONST glEvalCoord1f )(GLfloat u);
1372 extern  void ( APIENTRY * GLS_CONST glEvalCoord1fv )(const GLfloat *u);
1373 extern  void ( APIENTRY * GLS_CONST glEvalCoord2d )(GLdouble u, GLdouble v);
1374 extern  void ( APIENTRY * GLS_CONST glEvalCoord2dv )(const GLdouble *u);
1375 extern  void ( APIENTRY * GLS_CONST glEvalCoord2f )(GLfloat u, GLfloat v);
1376 extern  void ( APIENTRY * GLS_CONST glEvalCoord2fv )(const GLfloat *u);
1377 extern  void ( APIENTRY * GLS_CONST glEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
1378 extern  void ( APIENTRY * GLS_CONST glEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
1379 extern  void ( APIENTRY * GLS_CONST glEvalPoint1 )(GLint i);
1380 extern  void ( APIENTRY * GLS_CONST glEvalPoint2 )(GLint i, GLint j);
1381 extern  void ( APIENTRY * GLS_CONST glFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
1382 extern  void ( APIENTRY * GLS_CONST glFinish )(void);
1383 extern  void ( APIENTRY * GLS_CONST glFlush )(void);
1384 extern  void ( APIENTRY * GLS_CONST glFogf )(GLenum pname, GLfloat param);
1385 extern  void ( APIENTRY * GLS_CONST glFogfv )(GLenum pname, const GLfloat *params);
1386 extern  void ( APIENTRY * GLS_CONST glFogi )(GLenum pname, GLint param);
1387 extern  void ( APIENTRY * GLS_CONST glFogiv )(GLenum pname, const GLint *params);
1388 extern  void ( APIENTRY * GLS_CONST glFrontFace )(GLenum mode);
1389 extern  void ( APIENTRY * GLS_CONST glFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
1390 extern  GLuint ( APIENTRY * GLS_CONST glGenLists )(GLsizei range);
1391 extern  void ( APIENTRY * GLS_CONST glGenTextures )(GLsizei n, GLuint *textures);
1392 extern  void ( APIENTRY * GLS_CONST glGetBooleanv )(GLenum pname, GLboolean *params);
1393 extern  void ( APIENTRY * GLS_CONST glGetClipPlane )(GLenum plane, GLdouble *equation);
1394 extern  void ( APIENTRY * GLS_CONST glGetDoublev )(GLenum pname, GLdouble *params);
1395 extern  GLenum ( APIENTRY * GLS_CONST glGetError )(void);
1396 extern  void ( APIENTRY * GLS_CONST glGetFloatv )(GLenum pname, GLfloat *params);
1397 extern  void ( APIENTRY * GLS_CONST glGetIntegerv )(GLenum pname, GLint *params);
1398 extern  void ( APIENTRY * GLS_CONST glGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
1399 extern  void ( APIENTRY * GLS_CONST glGetLightiv )(GLenum light, GLenum pname, GLint *params);
1400 extern  void ( APIENTRY * GLS_CONST glGetMapdv )(GLenum target, GLenum query, GLdouble *v);
1401 extern  void ( APIENTRY * GLS_CONST glGetMapfv )(GLenum target, GLenum query, GLfloat *v);
1402 extern  void ( APIENTRY * GLS_CONST glGetMapiv )(GLenum target, GLenum query, GLint *v);
1403 extern  void ( APIENTRY * GLS_CONST glGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
1404 extern  void ( APIENTRY * GLS_CONST glGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
1405 extern  void ( APIENTRY * GLS_CONST glGetPixelMapfv )(GLenum map, GLfloat *values);
1406 extern  void ( APIENTRY * GLS_CONST glGetPixelMapuiv )(GLenum map, GLuint *values);
1407 extern  void ( APIENTRY * GLS_CONST glGetPixelMapusv )(GLenum map, GLushort *values);
1408 extern  void ( APIENTRY * GLS_CONST glGetPointerv )(GLenum pname, GLvoid* *params);
1409 extern  void ( APIENTRY * GLS_CONST glGetPolygonStipple )(GLubyte *mask);
1410 extern  const GLubyte * const ( APIENTRY * GLS_CONST glGetString )(GLenum name);
1411 extern  void ( APIENTRY * GLS_CONST glGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
1412 extern  void ( APIENTRY * GLS_CONST glGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
1413 extern  void ( APIENTRY * GLS_CONST glGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
1414 extern  void ( APIENTRY * GLS_CONST glGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
1415 extern  void ( APIENTRY * GLS_CONST glGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
1416 extern  void ( APIENTRY * GLS_CONST glGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
1417 extern  void ( APIENTRY * GLS_CONST glGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
1418 extern  void ( APIENTRY * GLS_CONST glGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
1419 extern  void ( APIENTRY * GLS_CONST glGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
1420 extern  void ( APIENTRY * GLS_CONST glGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
1421 extern  void ( APIENTRY * GLS_CONST glHint )(GLenum target, GLenum mode);
1422 extern  void ( APIENTRY * GLS_CONST glIndexMask )(GLuint mask);
1423 extern  void ( APIENTRY * GLS_CONST glIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
1424 extern  void ( APIENTRY * GLS_CONST glIndexd )(GLdouble c);
1425 extern  void ( APIENTRY * GLS_CONST glIndexdv )(const GLdouble *c);
1426 extern  void ( APIENTRY * GLS_CONST glIndexf )(GLfloat c);
1427 extern  void ( APIENTRY * GLS_CONST glIndexfv )(const GLfloat *c);
1428 extern  void ( APIENTRY * GLS_CONST glIndexi )(GLint c);
1429 extern  void ( APIENTRY * GLS_CONST glIndexiv )(const GLint *c);
1430 extern  void ( APIENTRY * GLS_CONST glIndexs )(GLshort c);
1431 extern  void ( APIENTRY * GLS_CONST glIndexsv )(const GLshort *c);
1432 extern  void ( APIENTRY * GLS_CONST glIndexub )(GLubyte c);
1433 extern  void ( APIENTRY * GLS_CONST glIndexubv )(const GLubyte *c);
1434 extern  void ( APIENTRY * GLS_CONST glInitNames )(void);
1435 extern  void ( APIENTRY * GLS_CONST glInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
1436 extern  GLboolean ( APIENTRY * GLS_CONST glIsEnabled )(GLenum cap);
1437 extern  GLboolean ( APIENTRY * GLS_CONST glIsList )(GLuint list);
1438 extern  GLboolean ( APIENTRY * GLS_CONST glIsTexture )(GLuint texture);
1439 extern  void ( APIENTRY * GLS_CONST glLightModelf )(GLenum pname, GLfloat param);
1440 extern  void ( APIENTRY * GLS_CONST glLightModelfv )(GLenum pname, const GLfloat *params);
1441 extern  void ( APIENTRY * GLS_CONST glLightModeli )(GLenum pname, GLint param);
1442 extern  void ( APIENTRY * GLS_CONST glLightModeliv )(GLenum pname, const GLint *params);
1443 extern  void ( APIENTRY * GLS_CONST glLightf )(GLenum light, GLenum pname, GLfloat param);
1444 extern  void ( APIENTRY * GLS_CONST glLightfv )(GLenum light, GLenum pname, const GLfloat *params);
1445 extern  void ( APIENTRY * GLS_CONST glLighti )(GLenum light, GLenum pname, GLint param);
1446 extern  void ( APIENTRY * GLS_CONST glLightiv )(GLenum light, GLenum pname, const GLint *params);
1447 extern  void ( APIENTRY * GLS_CONST glLineStipple )(GLint factor, GLushort pattern);
1448 extern  void ( APIENTRY * GLS_CONST glLineWidth )(GLfloat width);
1449 extern  void ( APIENTRY * GLS_CONST glListBase )(GLuint base);
1450 extern  void ( APIENTRY * GLS_CONST glLoadIdentity )(void);
1451 extern  void ( APIENTRY * GLS_CONST glLoadMatrixd )(const GLdouble *m);
1452 extern  void ( APIENTRY * GLS_CONST glLoadMatrixf )(const GLfloat *m);
1453 extern  void ( APIENTRY * GLS_CONST glLoadName )(GLuint name);
1454 extern  void ( APIENTRY * GLS_CONST glLogicOp )(GLenum opcode);
1455 extern  void ( APIENTRY * GLS_CONST glMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
1456 extern  void ( APIENTRY * GLS_CONST glMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
1457 extern  void ( APIENTRY * GLS_CONST glMap2d )(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
1458 extern  void ( APIENTRY * GLS_CONST glMap2f )(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
1459 extern  void ( APIENTRY * GLS_CONST glMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
1460 extern  void ( APIENTRY * GLS_CONST glMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
1461 extern  void ( APIENTRY * GLS_CONST glMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
1462 extern  void ( APIENTRY * GLS_CONST glMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
1463 extern  void ( APIENTRY * GLS_CONST glMaterialf )(GLenum face, GLenum pname, GLfloat param);
1464 extern  void ( APIENTRY * GLS_CONST glMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
1465 extern  void ( APIENTRY * GLS_CONST glMateriali )(GLenum face, GLenum pname, GLint param);
1466 extern  void ( APIENTRY * GLS_CONST glMaterialiv )(GLenum face, GLenum pname, const GLint *params);
1467 extern  void ( APIENTRY * GLS_CONST glMatrixMode )(GLenum mode);
1468 extern  void ( APIENTRY * GLS_CONST glMultMatrixd )(const GLdouble *m);
1469 extern  void ( APIENTRY * GLS_CONST glMultMatrixf )(const GLfloat *m);
1470 extern  void ( APIENTRY * GLS_CONST glNewList )(GLuint list, GLenum mode);
1471 extern  void ( APIENTRY * GLS_CONST glNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
1472 extern  void ( APIENTRY * GLS_CONST glNormal3bv )(const GLbyte *v);
1473 extern  void ( APIENTRY * GLS_CONST glNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
1474 extern  void ( APIENTRY * GLS_CONST glNormal3dv )(const GLdouble *v);
1475 extern  void ( APIENTRY * GLS_CONST glNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
1476 extern  void ( APIENTRY * GLS_CONST glNormal3fv )(const GLfloat *v);
1477 extern  void ( APIENTRY * GLS_CONST glNormal3i )(GLint nx, GLint ny, GLint nz);
1478 extern  void ( APIENTRY * GLS_CONST glNormal3iv )(const GLint *v);
1479 extern  void ( APIENTRY * GLS_CONST glNormal3s )(GLshort nx, GLshort ny, GLshort nz);
1480 extern  void ( APIENTRY * GLS_CONST glNormal3sv )(const GLshort *v);
1481 extern  void ( APIENTRY * GLS_CONST glNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
1482 extern  void ( APIENTRY * GLS_CONST glOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
1483 extern  void ( APIENTRY * GLS_CONST glPassThrough )(GLfloat token);
1484 extern  void ( APIENTRY * GLS_CONST glPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
1485 extern  void ( APIENTRY * GLS_CONST glPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
1486 extern  void ( APIENTRY * GLS_CONST glPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
1487 extern  void ( APIENTRY * GLS_CONST glPixelStoref )(GLenum pname, GLfloat param);
1488 extern  void ( APIENTRY * GLS_CONST glPixelStorei )(GLenum pname, GLint param);
1489 extern  void ( APIENTRY * GLS_CONST glPixelTransferf )(GLenum pname, GLfloat param);
1490 extern  void ( APIENTRY * GLS_CONST glPixelTransferi )(GLenum pname, GLint param);
1491 extern  void ( APIENTRY * GLS_CONST glPixelZoom )(GLfloat xfactor, GLfloat yfactor);
1492 extern  void ( APIENTRY * GLS_CONST glPointSize )(GLfloat size);
1493 extern  void ( APIENTRY * GLS_CONST glPolygonMode )(GLenum face, GLenum mode);
1494 extern  void ( APIENTRY * GLS_CONST glPolygonOffset )(GLfloat factor, GLfloat units);
1495 extern  void ( APIENTRY * GLS_CONST glPolygonStipple )(const GLubyte *mask);
1496 extern  void ( APIENTRY * GLS_CONST glPopAttrib )(void);
1497 extern  void ( APIENTRY * GLS_CONST glPopClientAttrib )(void);
1498 extern  void ( APIENTRY * GLS_CONST glPopMatrix )(void);
1499 extern  void ( APIENTRY * GLS_CONST glPopName )(void);
1500 extern  void ( APIENTRY * GLS_CONST glPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
1501 extern  void ( APIENTRY * GLS_CONST glPushAttrib )(GLbitfield mask);
1502 extern  void ( APIENTRY * GLS_CONST glPushClientAttrib )(GLbitfield mask);
1503 extern  void ( APIENTRY * GLS_CONST glPushMatrix )(void);
1504 extern  void ( APIENTRY * GLS_CONST glPushName )(GLuint name);
1505 extern  void ( APIENTRY * GLS_CONST glRasterPos2d )(GLdouble x, GLdouble y);
1506 extern  void ( APIENTRY * GLS_CONST glRasterPos2dv )(const GLdouble *v);
1507 extern  void ( APIENTRY * GLS_CONST glRasterPos2f )(GLfloat x, GLfloat y);
1508 extern  void ( APIENTRY * GLS_CONST glRasterPos2fv )(const GLfloat *v);
1509 extern  void ( APIENTRY * GLS_CONST glRasterPos2i )(GLint x, GLint y);
1510 extern  void ( APIENTRY * GLS_CONST glRasterPos2iv )(const GLint *v);
1511 extern  void ( APIENTRY * GLS_CONST glRasterPos2s )(GLshort x, GLshort y);
1512 extern  void ( APIENTRY * GLS_CONST glRasterPos2sv )(const GLshort *v);
1513 extern  void ( APIENTRY * GLS_CONST glRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
1514 extern  void ( APIENTRY * GLS_CONST glRasterPos3dv )(const GLdouble *v);
1515 extern  void ( APIENTRY * GLS_CONST glRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
1516 extern  void ( APIENTRY * GLS_CONST glRasterPos3fv )(const GLfloat *v);
1517 extern  void ( APIENTRY * GLS_CONST glRasterPos3i )(GLint x, GLint y, GLint z);
1518 extern  void ( APIENTRY * GLS_CONST glRasterPos3iv )(const GLint *v);
1519 extern  void ( APIENTRY * GLS_CONST glRasterPos3s )(GLshort x, GLshort y, GLshort z);
1520 extern  void ( APIENTRY * GLS_CONST glRasterPos3sv )(const GLshort *v);
1521 extern  void ( APIENTRY * GLS_CONST glRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1522 extern  void ( APIENTRY * GLS_CONST glRasterPos4dv )(const GLdouble *v);
1523 extern  void ( APIENTRY * GLS_CONST glRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1524 extern  void ( APIENTRY * GLS_CONST glRasterPos4fv )(const GLfloat *v);
1525 extern  void ( APIENTRY * GLS_CONST glRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
1526 extern  void ( APIENTRY * GLS_CONST glRasterPos4iv )(const GLint *v);
1527 extern  void ( APIENTRY * GLS_CONST glRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
1528 extern  void ( APIENTRY * GLS_CONST glRasterPos4sv )(const GLshort *v);
1529 extern  void ( APIENTRY * GLS_CONST glReadBuffer )(GLenum mode);
1530 extern  void ( APIENTRY * GLS_CONST glReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
1531 extern  void ( APIENTRY * GLS_CONST glRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
1532 extern  void ( APIENTRY * GLS_CONST glRectdv )(const GLdouble *v1, const GLdouble *v2);
1533 extern  void ( APIENTRY * GLS_CONST glRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
1534 extern  void ( APIENTRY * GLS_CONST glRectfv )(const GLfloat *v1, const GLfloat *v2);
1535 extern  void ( APIENTRY * GLS_CONST glRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
1536 extern  void ( APIENTRY * GLS_CONST glRectiv )(const GLint *v1, const GLint *v2);
1537 extern  void ( APIENTRY * GLS_CONST glRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
1538 extern  void ( APIENTRY * GLS_CONST glRectsv )(const GLshort *v1, const GLshort *v2);
1539 extern  GLint ( APIENTRY * GLS_CONST glRenderMode )(GLenum mode);
1540 extern  void ( APIENTRY * GLS_CONST glRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
1541 extern  void ( APIENTRY * GLS_CONST glRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
1542 extern  void ( APIENTRY * GLS_CONST glScaled )(GLdouble x, GLdouble y, GLdouble z);
1543 extern  void ( APIENTRY * GLS_CONST glScalef )(GLfloat x, GLfloat y, GLfloat z);
1544 extern  void ( APIENTRY * GLS_CONST glScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
1545 extern  void ( APIENTRY * GLS_CONST glSelectBuffer )(GLsizei size, GLuint *buffer);
1546 extern  void ( APIENTRY * GLS_CONST glShadeModel )(GLenum mode);
1547 extern  void ( APIENTRY * GLS_CONST glStencilFunc )(GLenum func, GLint ref, GLuint mask);
1548 extern  void ( APIENTRY * GLS_CONST glStencilMask )(GLuint mask);
1549 extern  void ( APIENTRY * GLS_CONST glStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
1550 extern  void ( APIENTRY * GLS_CONST glTexCoord1d )(GLdouble s);
1551 extern  void ( APIENTRY * GLS_CONST glTexCoord1dv )(const GLdouble *v);
1552 extern  void ( APIENTRY * GLS_CONST glTexCoord1f )(GLfloat s);
1553 extern  void ( APIENTRY * GLS_CONST glTexCoord1fv )(const GLfloat *v);
1554 extern  void ( APIENTRY * GLS_CONST glTexCoord1i )(GLint s);
1555 extern  void ( APIENTRY * GLS_CONST glTexCoord1iv )(const GLint *v);
1556 extern  void ( APIENTRY * GLS_CONST glTexCoord1s )(GLshort s);
1557 extern  void ( APIENTRY * GLS_CONST glTexCoord1sv )(const GLshort *v);
1558 extern  void ( APIENTRY * GLS_CONST glTexCoord2d )(GLdouble s, GLdouble t);
1559 extern  void ( APIENTRY * GLS_CONST glTexCoord2dv )(const GLdouble *v);
1560 extern  void ( APIENTRY * GLS_CONST glTexCoord2f )(GLfloat s, GLfloat t);
1561 extern  void ( APIENTRY * GLS_CONST glTexCoord2fv )(const GLfloat *v);
1562 extern  void ( APIENTRY * GLS_CONST glTexCoord2i )(GLint s, GLint t);
1563 extern  void ( APIENTRY * GLS_CONST glTexCoord2iv )(const GLint *v);
1564 extern  void ( APIENTRY * GLS_CONST glTexCoord2s )(GLshort s, GLshort t);
1565 extern  void ( APIENTRY * GLS_CONST glTexCoord2sv )(const GLshort *v);
1566 extern  void ( APIENTRY * GLS_CONST glTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
1567 extern  void ( APIENTRY * GLS_CONST glTexCoord3dv )(const GLdouble *v);
1568 extern  void ( APIENTRY * GLS_CONST glTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
1569 extern  void ( APIENTRY * GLS_CONST glTexCoord3fv )(const GLfloat *v);
1570 extern  void ( APIENTRY * GLS_CONST glTexCoord3i )(GLint s, GLint t, GLint r);
1571 extern  void ( APIENTRY * GLS_CONST glTexCoord3iv )(const GLint *v);
1572 extern  void ( APIENTRY * GLS_CONST glTexCoord3s )(GLshort s, GLshort t, GLshort r);
1573 extern  void ( APIENTRY * GLS_CONST glTexCoord3sv )(const GLshort *v);
1574 extern  void ( APIENTRY * GLS_CONST glTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
1575 extern  void ( APIENTRY * GLS_CONST glTexCoord4dv )(const GLdouble *v);
1576 extern  void ( APIENTRY * GLS_CONST glTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
1577 extern  void ( APIENTRY * GLS_CONST glTexCoord4fv )(const GLfloat *v);
1578 extern  void ( APIENTRY * GLS_CONST glTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
1579 extern  void ( APIENTRY * GLS_CONST glTexCoord4iv )(const GLint *v);
1580 extern  void ( APIENTRY * GLS_CONST glTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
1581 extern  void ( APIENTRY * GLS_CONST glTexCoord4sv )(const GLshort *v);
1582 extern  void ( APIENTRY * GLS_CONST glTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1583 extern  void ( APIENTRY * GLS_CONST glTexEnvf )(GLenum target, GLenum pname, GLfloat param);
1584 extern  void ( APIENTRY * GLS_CONST glTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
1585 extern  void ( APIENTRY * GLS_CONST glTexEnvi )(GLenum target, GLenum pname, GLint param);
1586 extern  void ( APIENTRY * GLS_CONST glTexEnviv )(GLenum target, GLenum pname, const GLint *params);
1587 extern  void ( APIENTRY * GLS_CONST glTexGend )(GLenum coord, GLenum pname, GLdouble param);
1588 extern  void ( APIENTRY * GLS_CONST glTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
1589 extern  void ( APIENTRY * GLS_CONST glTexGenf )(GLenum coord, GLenum pname, GLfloat param);
1590 extern  void ( APIENTRY * GLS_CONST glTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
1591 extern  void ( APIENTRY * GLS_CONST glTexGeni )(GLenum coord, GLenum pname, GLint param);
1592 extern  void ( APIENTRY * GLS_CONST glTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
1593 extern  void ( APIENTRY * GLS_CONST glTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
1594 extern  void ( APIENTRY * GLS_CONST glTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
1595 extern  void ( APIENTRY * GLS_CONST glTexParameterf )(GLenum target, GLenum pname, GLfloat param);
1596 extern  void ( APIENTRY * GLS_CONST glTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
1597 extern  void ( APIENTRY * GLS_CONST glTexParameteri )(GLenum target, GLenum pname, GLint param);
1598 extern  void ( APIENTRY * GLS_CONST glTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
1599 extern  void ( APIENTRY * GLS_CONST glTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
1600 extern  void ( APIENTRY * GLS_CONST glTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
1601 extern  void ( APIENTRY * GLS_CONST glTranslated )(GLdouble x, GLdouble y, GLdouble z);
1602 extern  void ( APIENTRY * GLS_CONST glTranslatef )(GLfloat x, GLfloat y, GLfloat z);
1603 extern  void ( APIENTRY * GLS_CONST glVertex2d )(GLdouble x, GLdouble y);
1604 extern  void ( APIENTRY * GLS_CONST glVertex2dv )(const GLdouble *v);
1605 extern  void ( APIENTRY * GLS_CONST glVertex2f )(GLfloat x, GLfloat y);
1606 extern  void ( APIENTRY * GLS_CONST glVertex2fv )(const GLfloat *v);
1607 extern  void ( APIENTRY * GLS_CONST glVertex2i )(GLint x, GLint y);
1608 extern  void ( APIENTRY * GLS_CONST glVertex2iv )(const GLint *v);
1609 extern  void ( APIENTRY * GLS_CONST glVertex2s )(GLshort x, GLshort y);
1610 extern  void ( APIENTRY * GLS_CONST glVertex2sv )(const GLshort *v);
1611 extern  void ( APIENTRY * GLS_CONST glVertex3d )(GLdouble x, GLdouble y, GLdouble z);
1612 extern  void ( APIENTRY * GLS_CONST glVertex3dv )(const GLdouble *v);
1613 extern  void ( APIENTRY * GLS_CONST glVertex3f )(GLfloat x, GLfloat y, GLfloat z);
1614 extern  void ( APIENTRY * GLS_CONST glVertex3fv )(const GLfloat *v);
1615 extern  void ( APIENTRY * GLS_CONST glVertex3i )(GLint x, GLint y, GLint z);
1616 extern  void ( APIENTRY * GLS_CONST glVertex3iv )(const GLint *v);
1617 extern  void ( APIENTRY * GLS_CONST glVertex3s )(GLshort x, GLshort y, GLshort z);
1618 extern  void ( APIENTRY * GLS_CONST glVertex3sv )(const GLshort *v);
1619 extern  void ( APIENTRY * GLS_CONST glVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1620 extern  void ( APIENTRY * GLS_CONST glVertex4dv )(const GLdouble *v);
1621 extern  void ( APIENTRY * GLS_CONST glVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1622 extern  void ( APIENTRY * GLS_CONST glVertex4fv )(const GLfloat *v);
1623 extern  void ( APIENTRY * GLS_CONST glVertex4i )(GLint x, GLint y, GLint z, GLint w);
1624 extern  void ( APIENTRY * GLS_CONST glVertex4iv )(const GLint *v);
1625 extern  void ( APIENTRY * GLS_CONST glVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
1626 extern  void ( APIENTRY * GLS_CONST glVertex4sv )(const GLshort *v);
1627 extern  void ( APIENTRY * GLS_CONST glVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1628 extern  void ( APIENTRY * GLS_CONST glViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
1629 
1630 
1631 /*
1632  * const Windows-specific functions start here
1633  */
1634 
1635 #ifdef _WINGDI_
1636 
1637 extern int   ( WINAPI * GLS_CONST GLS_SCOPE_NAME( ChoosePixelFormat  ))(HDC, CONST PIXELFORMATDESCRIPTOR *);
1638 extern int   ( WINAPI * GLS_CONST GLS_SCOPE_NAME( DescribePixelFormat )) (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
1639 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( SetPixelFormat ))(HDC, int, CONST PIXELFORMATDESCRIPTOR *);
1640 extern int   ( WINAPI * GLS_CONST GLS_SCOPE_NAME( GetPixelFormat ))(HDC);
1641 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( SwapBuffers ))(HDC);
1642 
1643 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( CopyContext ))(HGLRC, HGLRC, UINT);
1644 extern HGLRC ( WINAPI * GLS_CONST GLS_SCOPE_NAME( CreateContext ))(HDC);
1645 extern HGLRC ( WINAPI * GLS_CONST GLS_SCOPE_NAME( CreateLayerContext ))(HDC, int);
1646 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( DeleteContext ))(HGLRC);
1647 extern HGLRC ( WINAPI * GLS_CONST GLS_SCOPE_NAME( GetCurrentContext ))(VOID);
1648 extern HDC   ( WINAPI * GLS_CONST GLS_SCOPE_NAME( GetCurrentDC ))(VOID);
1649 extern PROC  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( GetProcAddress ))(LPCSTR);
1650 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( MakeCurrent ))(HDC, HGLRC);
1651 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( ShareLists ))(HGLRC, HGLRC);
1652 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( UseFontBitmaps ))(HDC, DWORD, DWORD, DWORD);
1653 
1654 extern BOOL  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( UseFontOutlines ))(HDC, DWORD, DWORD, DWORD, FLOAT,
1655                                            FLOAT, int, LPGLYPHMETRICSFLOAT);
1656 
1657 extern BOOL ( WINAPI * GLS_CONST GLS_SCOPE_NAME( DescribeLayerPlane ))(HDC, int, int, UINT,
1658                                             LPLAYERPLANEDESCRIPTOR);
1659 extern int  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( SetLayerPaletteEntries ))(HDC, int, int, int,
1660                                                 CONST COLORREF *);
1661 extern int  ( WINAPI * GLS_CONST GLS_SCOPE_NAME( GetLayerPaletteEntries ))(HDC, int, int, int,
1662                                                 COLORREF *);
1663 extern BOOL ( WINAPI * GLS_CONST GLS_SCOPE_NAME( RealizeLayerPalette ))(HDC, int, BOOL);
1664 extern BOOL ( WINAPI * GLS_CONST GLS_SCOPE_NAME( SwapLayerBuffers ))(HDC, UINT);
1665 
1666 #endif /* #ifdef _WINGDI_ */
1667 
1668 #ifdef __cplusplus
1669 }
1670 #endif
1671 
1672 #define GLS_H
1673 #endif
1674