1 /*
2  * This file is was based upon the Mesa 3D Graphics library version 4.1 file
3  * "gl.h"; The Mesa copyright notice is preserved below.
4  *
5  * It has been modified to include only OpenGL 1.1 and earlier headers
6  * as well as some system-specific information. It should not need to be
7  * modified in the event that the OpenGL specification changes; these changes
8  * should be reflected in the glext.h header file. This file should only need
9  * to modified to add or changed system-specific information.
10  */
11 
12 /*
13  * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
14  *
15  * Permission is hereby granted, free of charge, to any person obtaining a
16  * copy of this software and associated documentation files (the "Software"),
17  * to deal in the Software without restriction, including without limitation
18  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
19  * and/or sell copies of the Software, and to permit persons to whom the
20  * Software is furnished to do so, subject to the following conditions:
21  *
22  * The above copyright notice and this permission notice shall be included
23  * in all copies or substantial portions of the Software.
24  *
25  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
26  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
28  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
29  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
30  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31  */
32 
33 #ifndef __gl_h_
34 #define __gl_h_
35 
36 /* Function declaration macros - to move into gl-platform.h */
37 #include "gl-platform.h"
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 /*
44  * ---------------------------------------------
45  *              OpenGL 1.0 Spec
46  * ---------------------------------------------
47  */
48 #ifndef GL_VERSION_1_0
49 #define GL_VERSION_1_0 1
50 
51 /*
52  * Datatypes
53  */
54 typedef unsigned int    GLenum;
55 typedef unsigned char   GLboolean;
56 typedef unsigned int    GLbitfield;
57 typedef void            GLvoid;
58 typedef signed char     GLbyte;         /* 1-byte signed */
59 typedef short           GLshort;        /* 2-byte signed */
60 typedef int             GLint;          /* 4-byte signed */
61 typedef unsigned char   GLubyte;        /* 1-byte unsigned */
62 typedef unsigned short  GLushort;       /* 2-byte unsigned */
63 typedef unsigned int    GLuint;         /* 4-byte unsigned */
64 typedef int             GLsizei;        /* 4-byte signed */
65 typedef float           GLfloat;        /* single precision float */
66 typedef float           GLclampf;       /* single precision float in [0,1] */
67 typedef double          GLdouble;       /* double precision float */
68 typedef double          GLclampd;       /* double precision float in [0,1] */
69 
70 /*
71  * Constants
72  */
73 
74 /* Boolean values */
75 #define GL_FALSE                                0x0
76 #define GL_TRUE                                 0x1
77 
78 /* Data types */
79 #define GL_BYTE                                 0x1400
80 #define GL_UNSIGNED_BYTE                        0x1401
81 #define GL_SHORT                                0x1402
82 #define GL_UNSIGNED_SHORT                       0x1403
83 #define GL_INT                                  0x1404
84 #define GL_UNSIGNED_INT                         0x1405
85 #define GL_FLOAT                                0x1406
86 #define GL_DOUBLE                               0x140A
87 #define GL_2_BYTES                              0x1407
88 #define GL_3_BYTES                              0x1408
89 #define GL_4_BYTES                              0x1409
90 
91 /* Primitives */
92 #define GL_POINTS                               0x0000
93 #define GL_LINES                                0x0001
94 #define GL_LINE_LOOP                            0x0002
95 #define GL_LINE_STRIP                           0x0003
96 #define GL_TRIANGLES                            0x0004
97 #define GL_TRIANGLE_STRIP                       0x0005
98 #define GL_TRIANGLE_FAN                         0x0006
99 #define GL_QUADS                                0x0007
100 #define GL_QUAD_STRIP                           0x0008
101 #define GL_POLYGON                              0x0009
102 
103 /* Matrix Mode */
104 #define GL_MATRIX_MODE                          0x0BA0
105 #define GL_MODELVIEW                            0x1700
106 #define GL_PROJECTION                           0x1701
107 #define GL_TEXTURE                              0x1702
108 
109 /* Points */
110 #define GL_POINT_SMOOTH                         0x0B10
111 #define GL_POINT_SIZE                           0x0B11
112 #define GL_POINT_SIZE_GRANULARITY               0x0B13
113 #define GL_POINT_SIZE_RANGE                     0x0B12
114 
115 /* Lines */
116 #define GL_LINE_SMOOTH                          0x0B20
117 #define GL_LINE_STIPPLE                         0x0B24
118 #define GL_LINE_STIPPLE_PATTERN                 0x0B25
119 #define GL_LINE_STIPPLE_REPEAT                  0x0B26
120 #define GL_LINE_WIDTH                           0x0B21
121 #define GL_LINE_WIDTH_GRANULARITY               0x0B23
122 #define GL_LINE_WIDTH_RANGE                     0x0B22
123 
124 /* Polygons */
125 #define GL_POINT                                0x1B00
126 #define GL_LINE                                 0x1B01
127 #define GL_FILL                                 0x1B02
128 #define GL_CW                                   0x0900
129 #define GL_CCW                                  0x0901
130 #define GL_FRONT                                0x0404
131 #define GL_BACK                                 0x0405
132 #define GL_POLYGON_MODE                         0x0B40
133 #define GL_POLYGON_SMOOTH                       0x0B41
134 #define GL_POLYGON_STIPPLE                      0x0B42
135 #define GL_EDGE_FLAG                            0x0B43
136 #define GL_CULL_FACE                            0x0B44
137 #define GL_CULL_FACE_MODE                       0x0B45
138 #define GL_FRONT_FACE                           0x0B46
139 #define GL_POLYGON_OFFSET_FACTOR                0x8038
140 #define GL_POLYGON_OFFSET_UNITS                 0x2A00
141 #define GL_POLYGON_OFFSET_POINT                 0x2A01
142 #define GL_POLYGON_OFFSET_LINE                  0x2A02
143 #define GL_POLYGON_OFFSET_FILL                  0x8037
144 
145 /* Display Lists */
146 #define GL_COMPILE                              0x1300
147 #define GL_COMPILE_AND_EXECUTE                  0x1301
148 #define GL_LIST_BASE                            0x0B32
149 #define GL_LIST_INDEX                           0x0B33
150 #define GL_LIST_MODE                            0x0B30
151 
152 /* Depth buffer */
153 #define GL_NEVER                                0x0200
154 #define GL_LESS                                 0x0201
155 #define GL_EQUAL                                0x0202
156 #define GL_LEQUAL                               0x0203
157 #define GL_GREATER                              0x0204
158 #define GL_NOTEQUAL                             0x0205
159 #define GL_GEQUAL                               0x0206
160 #define GL_ALWAYS                               0x0207
161 #define GL_DEPTH_TEST                           0x0B71
162 #define GL_DEPTH_BITS                           0x0D56
163 #define GL_DEPTH_CLEAR_VALUE                    0x0B73
164 #define GL_DEPTH_FUNC                           0x0B74
165 #define GL_DEPTH_RANGE                          0x0B70
166 #define GL_DEPTH_WRITEMASK                      0x0B72
167 #define GL_DEPTH_COMPONENT                      0x1902
168 
169 /* Lighting */
170 #define GL_LIGHTING                             0x0B50
171 #define GL_LIGHT0                               0x4000
172 #define GL_LIGHT1                               0x4001
173 #define GL_LIGHT2                               0x4002
174 #define GL_LIGHT3                               0x4003
175 #define GL_LIGHT4                               0x4004
176 #define GL_LIGHT5                               0x4005
177 #define GL_LIGHT6                               0x4006
178 #define GL_LIGHT7                               0x4007
179 #define GL_SPOT_EXPONENT                        0x1205
180 #define GL_SPOT_CUTOFF                          0x1206
181 #define GL_CONSTANT_ATTENUATION                 0x1207
182 #define GL_LINEAR_ATTENUATION                   0x1208
183 #define GL_QUADRATIC_ATTENUATION                0x1209
184 #define GL_AMBIENT                              0x1200
185 #define GL_DIFFUSE                              0x1201
186 #define GL_SPECULAR                             0x1202
187 #define GL_SHININESS                            0x1601
188 #define GL_EMISSION                             0x1600
189 #define GL_POSITION                             0x1203
190 #define GL_SPOT_DIRECTION                       0x1204
191 #define GL_AMBIENT_AND_DIFFUSE                  0x1602
192 #define GL_COLOR_INDEXES                        0x1603
193 #define GL_LIGHT_MODEL_TWO_SIDE                 0x0B52
194 #define GL_LIGHT_MODEL_LOCAL_VIEWER             0x0B51
195 #define GL_LIGHT_MODEL_AMBIENT                  0x0B53
196 #define GL_FRONT_AND_BACK                       0x0408
197 #define GL_SHADE_MODEL                          0x0B54
198 #define GL_FLAT                                 0x1D00
199 #define GL_SMOOTH                               0x1D01
200 #define GL_COLOR_MATERIAL                       0x0B57
201 #define GL_COLOR_MATERIAL_FACE                  0x0B55
202 #define GL_COLOR_MATERIAL_PARAMETER             0x0B56
203 #define GL_NORMALIZE                            0x0BA1
204 
205 /* User clipping planes */
206 #define GL_CLIP_PLANE0                          0x3000
207 #define GL_CLIP_PLANE1                          0x3001
208 #define GL_CLIP_PLANE2                          0x3002
209 #define GL_CLIP_PLANE3                          0x3003
210 #define GL_CLIP_PLANE4                          0x3004
211 #define GL_CLIP_PLANE5                          0x3005
212 
213 /* Accumulation buffer */
214 #define GL_ACCUM_RED_BITS                       0x0D58
215 #define GL_ACCUM_GREEN_BITS                     0x0D59
216 #define GL_ACCUM_BLUE_BITS                      0x0D5A
217 #define GL_ACCUM_ALPHA_BITS                     0x0D5B
218 #define GL_ACCUM_CLEAR_VALUE                    0x0B80
219 #define GL_ACCUM                                0x0100
220 #define GL_ADD                                  0x0104
221 #define GL_LOAD                                 0x0101
222 #define GL_MULT                                 0x0103
223 #define GL_RETURN                               0x0102
224 
225 /* Alpha testing */
226 #define GL_ALPHA_TEST                           0x0BC0
227 #define GL_ALPHA_TEST_REF                       0x0BC2
228 #define GL_ALPHA_TEST_FUNC                      0x0BC1
229 
230 /* Blending */
231 #define GL_BLEND                                0x0BE2
232 #define GL_BLEND_SRC                            0x0BE1
233 #define GL_BLEND_DST                            0x0BE0
234 #define GL_ZERO                                 0x0
235 #define GL_ONE                                  0x1
236 #define GL_SRC_COLOR                            0x0300
237 #define GL_ONE_MINUS_SRC_COLOR                  0x0301
238 #define GL_SRC_ALPHA                            0x0302
239 #define GL_ONE_MINUS_SRC_ALPHA                  0x0303
240 #define GL_DST_ALPHA                            0x0304
241 #define GL_ONE_MINUS_DST_ALPHA                  0x0305
242 #define GL_DST_COLOR                            0x0306
243 #define GL_ONE_MINUS_DST_COLOR                  0x0307
244 #define GL_SRC_ALPHA_SATURATE                   0x0308
245 
246 /* Render Mode */
247 #define GL_FEEDBACK                             0x1C01
248 #define GL_RENDER                               0x1C00
249 #define GL_SELECT                               0x1C02
250 
251 /* Feedback */
252 #define GL_2D                                   0x0600
253 #define GL_3D                                   0x0601
254 #define GL_3D_COLOR                             0x0602
255 #define GL_3D_COLOR_TEXTURE                     0x0603
256 #define GL_4D_COLOR_TEXTURE                     0x0604
257 #define GL_POINT_TOKEN                          0x0701
258 #define GL_LINE_TOKEN                           0x0702
259 #define GL_LINE_RESET_TOKEN                     0x0707
260 #define GL_POLYGON_TOKEN                        0x0703
261 #define GL_BITMAP_TOKEN                         0x0704
262 #define GL_DRAW_PIXEL_TOKEN                     0x0705
263 #define GL_COPY_PIXEL_TOKEN                     0x0706
264 #define GL_PASS_THROUGH_TOKEN                   0x0700
265 #define GL_FEEDBACK_BUFFER_POINTER              0x0DF0
266 #define GL_FEEDBACK_BUFFER_SIZE                 0x0DF1
267 #define GL_FEEDBACK_BUFFER_TYPE                 0x0DF2
268 
269 /* Selection */
270 #define GL_SELECTION_BUFFER_POINTER             0x0DF3
271 #define GL_SELECTION_BUFFER_SIZE                0x0DF4
272 
273 /* Fog */
274 #define GL_FOG                                  0x0B60
275 #define GL_FOG_MODE                             0x0B65
276 #define GL_FOG_DENSITY                          0x0B62
277 #define GL_FOG_COLOR                            0x0B66
278 #define GL_FOG_INDEX                            0x0B61
279 #define GL_FOG_START                            0x0B63
280 #define GL_FOG_END                              0x0B64
281 #define GL_LINEAR                               0x2601
282 #define GL_EXP                                  0x0800
283 #define GL_EXP2                                 0x0801
284 
285 /* Logic Ops */
286 #define GL_LOGIC_OP                             0x0BF1
287 #define GL_INDEX_LOGIC_OP                       0x0BF1
288 #define GL_COLOR_LOGIC_OP                       0x0BF2
289 #define GL_LOGIC_OP_MODE                        0x0BF0
290 #define GL_CLEAR                                0x1500
291 #define GL_SET                                  0x150F
292 #define GL_COPY                                 0x1503
293 #define GL_COPY_INVERTED                        0x150C
294 #define GL_NOOP                                 0x1505
295 #define GL_INVERT                               0x150A
296 #define GL_AND                                  0x1501
297 #define GL_NAND                                 0x150E
298 #define GL_OR                                   0x1507
299 #define GL_NOR                                  0x1508
300 #define GL_XOR                                  0x1506
301 #define GL_EQUIV                                0x1509
302 #define GL_AND_REVERSE                          0x1502
303 #define GL_AND_INVERTED                         0x1504
304 #define GL_OR_REVERSE                           0x150B
305 #define GL_OR_INVERTED                          0x150D
306 
307 /* Stencil */
308 #define GL_STENCIL_TEST                         0x0B90
309 #define GL_STENCIL_WRITEMASK                    0x0B98
310 #define GL_STENCIL_BITS                         0x0D57
311 #define GL_STENCIL_FUNC                         0x0B92
312 #define GL_STENCIL_VALUE_MASK                   0x0B93
313 #define GL_STENCIL_REF                          0x0B97
314 #define GL_STENCIL_FAIL                         0x0B94
315 #define GL_STENCIL_PASS_DEPTH_PASS              0x0B96
316 #define GL_STENCIL_PASS_DEPTH_FAIL              0x0B95
317 #define GL_STENCIL_CLEAR_VALUE                  0x0B91
318 #define GL_STENCIL_INDEX                        0x1901
319 #define GL_KEEP                                 0x1E00
320 #define GL_REPLACE                              0x1E01
321 #define GL_INCR                                 0x1E02
322 #define GL_DECR                                 0x1E03
323 
324 /* Buffers, Pixel Drawing/Reading */
325 #define GL_NONE                                 0x0
326 #define GL_LEFT                                 0x0406
327 #define GL_RIGHT                                0x0407
328 /*GL_FRONT                                      0x0404 */
329 /*GL_BACK                                       0x0405 */
330 /*GL_FRONT_AND_BACK                             0x0408 */
331 #define GL_FRONT_LEFT                           0x0400
332 #define GL_FRONT_RIGHT                          0x0401
333 #define GL_BACK_LEFT                            0x0402
334 #define GL_BACK_RIGHT                           0x0403
335 #define GL_AUX0                                 0x0409
336 #define GL_AUX1                                 0x040A
337 #define GL_AUX2                                 0x040B
338 #define GL_AUX3                                 0x040C
339 #define GL_COLOR_INDEX                          0x1900
340 #define GL_RED                                  0x1903
341 #define GL_GREEN                                0x1904
342 #define GL_BLUE                                 0x1905
343 #define GL_ALPHA                                0x1906
344 #define GL_LUMINANCE                            0x1909
345 #define GL_LUMINANCE_ALPHA                      0x190A
346 #define GL_ALPHA_BITS                           0x0D55
347 #define GL_RED_BITS                             0x0D52
348 #define GL_GREEN_BITS                           0x0D53
349 #define GL_BLUE_BITS                            0x0D54
350 #define GL_INDEX_BITS                           0x0D51
351 #define GL_SUBPIXEL_BITS                        0x0D50
352 #define GL_AUX_BUFFERS                          0x0C00
353 #define GL_READ_BUFFER                          0x0C02
354 #define GL_DRAW_BUFFER                          0x0C01
355 #define GL_DOUBLEBUFFER                         0x0C32
356 #define GL_STEREO                               0x0C33
357 #define GL_BITMAP                               0x1A00
358 #define GL_COLOR                                0x1800
359 #define GL_DEPTH                                0x1801
360 #define GL_STENCIL                              0x1802
361 #define GL_DITHER                               0x0BD0
362 #define GL_RGB                                  0x1907
363 #define GL_RGBA                                 0x1908
364 
365 /* Implementation limits */
366 #define GL_MAX_LIST_NESTING                     0x0B31
367 #define GL_MAX_ATTRIB_STACK_DEPTH               0x0D35
368 #define GL_MAX_MODELVIEW_STACK_DEPTH            0x0D36
369 #define GL_MAX_NAME_STACK_DEPTH                 0x0D37
370 #define GL_MAX_PROJECTION_STACK_DEPTH           0x0D38
371 #define GL_MAX_TEXTURE_STACK_DEPTH              0x0D39
372 #define GL_MAX_EVAL_ORDER                       0x0D30
373 #define GL_MAX_LIGHTS                           0x0D31
374 #define GL_MAX_CLIP_PLANES                      0x0D32
375 #define GL_MAX_TEXTURE_SIZE                     0x0D33
376 #define GL_MAX_PIXEL_MAP_TABLE                  0x0D34
377 #define GL_MAX_VIEWPORT_DIMS                    0x0D3A
378 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH        0x0D3B
379 
380 /* Gets */
381 #define GL_ATTRIB_STACK_DEPTH                   0x0BB0
382 #define GL_CLIENT_ATTRIB_STACK_DEPTH            0x0BB1
383 #define GL_COLOR_CLEAR_VALUE                    0x0C22
384 #define GL_COLOR_WRITEMASK                      0x0C23
385 #define GL_CURRENT_INDEX                        0x0B01
386 #define GL_CURRENT_COLOR                        0x0B00
387 #define GL_CURRENT_NORMAL                       0x0B02
388 #define GL_CURRENT_RASTER_COLOR                 0x0B04
389 #define GL_CURRENT_RASTER_DISTANCE              0x0B09
390 #define GL_CURRENT_RASTER_INDEX                 0x0B05
391 #define GL_CURRENT_RASTER_POSITION              0x0B07
392 #define GL_CURRENT_RASTER_TEXTURE_COORDS        0x0B06
393 #define GL_CURRENT_RASTER_POSITION_VALID        0x0B08
394 #define GL_CURRENT_TEXTURE_COORDS               0x0B03
395 #define GL_INDEX_CLEAR_VALUE                    0x0C20
396 #define GL_INDEX_MODE                           0x0C30
397 #define GL_INDEX_WRITEMASK                      0x0C21
398 #define GL_MODELVIEW_MATRIX                     0x0BA6
399 #define GL_MODELVIEW_STACK_DEPTH                0x0BA3
400 #define GL_NAME_STACK_DEPTH                     0x0D70
401 #define GL_PROJECTION_MATRIX                    0x0BA7
402 #define GL_PROJECTION_STACK_DEPTH               0x0BA4
403 #define GL_RENDER_MODE                          0x0C40
404 #define GL_RGBA_MODE                            0x0C31
405 #define GL_TEXTURE_MATRIX                       0x0BA8
406 #define GL_TEXTURE_STACK_DEPTH                  0x0BA5
407 #define GL_VIEWPORT                             0x0BA2
408 
409 /* Evaluators */
410 #define GL_AUTO_NORMAL                          0x0D80
411 #define GL_MAP1_COLOR_4                         0x0D90
412 #define GL_MAP1_INDEX                           0x0D91
413 #define GL_MAP1_NORMAL                          0x0D92
414 #define GL_MAP1_TEXTURE_COORD_1                 0x0D93
415 #define GL_MAP1_TEXTURE_COORD_2                 0x0D94
416 #define GL_MAP1_TEXTURE_COORD_3                 0x0D95
417 #define GL_MAP1_TEXTURE_COORD_4                 0x0D96
418 #define GL_MAP1_VERTEX_3                        0x0D97
419 #define GL_MAP1_VERTEX_4                        0x0D98
420 #define GL_MAP2_COLOR_4                         0x0DB0
421 #define GL_MAP2_INDEX                           0x0DB1
422 #define GL_MAP2_NORMAL                          0x0DB2
423 #define GL_MAP2_TEXTURE_COORD_1                 0x0DB3
424 #define GL_MAP2_TEXTURE_COORD_2                 0x0DB4
425 #define GL_MAP2_TEXTURE_COORD_3                 0x0DB5
426 #define GL_MAP2_TEXTURE_COORD_4                 0x0DB6
427 #define GL_MAP2_VERTEX_3                        0x0DB7
428 #define GL_MAP2_VERTEX_4                        0x0DB8
429 #define GL_MAP1_GRID_DOMAIN                     0x0DD0
430 #define GL_MAP1_GRID_SEGMENTS                   0x0DD1
431 #define GL_MAP2_GRID_DOMAIN                     0x0DD2
432 #define GL_MAP2_GRID_SEGMENTS                   0x0DD3
433 #define GL_COEFF                                0x0A00
434 #define GL_DOMAIN                               0x0A02
435 #define GL_ORDER                                0x0A01
436 
437 /* Hints */
438 #define GL_FOG_HINT                             0x0C54
439 #define GL_LINE_SMOOTH_HINT                     0x0C52
440 #define GL_PERSPECTIVE_CORRECTION_HINT          0x0C50
441 #define GL_POINT_SMOOTH_HINT                    0x0C51
442 #define GL_POLYGON_SMOOTH_HINT                  0x0C53
443 #define GL_DONT_CARE                            0x1100
444 #define GL_FASTEST                              0x1101
445 #define GL_NICEST                               0x1102
446 
447 /* Scissor box */
448 #define GL_SCISSOR_TEST                         0x0C11
449 #define GL_SCISSOR_BOX                          0x0C10
450 
451 /* Pixel Mode / Transfer */
452 #define GL_MAP_COLOR                            0x0D10
453 #define GL_MAP_STENCIL                          0x0D11
454 #define GL_INDEX_SHIFT                          0x0D12
455 #define GL_INDEX_OFFSET                         0x0D13
456 #define GL_RED_SCALE                            0x0D14
457 #define GL_RED_BIAS                             0x0D15
458 #define GL_GREEN_SCALE                          0x0D18
459 #define GL_GREEN_BIAS                           0x0D19
460 #define GL_BLUE_SCALE                           0x0D1A
461 #define GL_BLUE_BIAS                            0x0D1B
462 #define GL_ALPHA_SCALE                          0x0D1C
463 #define GL_ALPHA_BIAS                           0x0D1D
464 #define GL_DEPTH_SCALE                          0x0D1E
465 #define GL_DEPTH_BIAS                           0x0D1F
466 #define GL_PIXEL_MAP_S_TO_S_SIZE                0x0CB1
467 #define GL_PIXEL_MAP_I_TO_I_SIZE                0x0CB0
468 #define GL_PIXEL_MAP_I_TO_R_SIZE                0x0CB2
469 #define GL_PIXEL_MAP_I_TO_G_SIZE                0x0CB3
470 #define GL_PIXEL_MAP_I_TO_B_SIZE                0x0CB4
471 #define GL_PIXEL_MAP_I_TO_A_SIZE                0x0CB5
472 #define GL_PIXEL_MAP_R_TO_R_SIZE                0x0CB6
473 #define GL_PIXEL_MAP_G_TO_G_SIZE                0x0CB7
474 #define GL_PIXEL_MAP_B_TO_B_SIZE                0x0CB8
475 #define GL_PIXEL_MAP_A_TO_A_SIZE                0x0CB9
476 #define GL_PIXEL_MAP_S_TO_S                     0x0C71
477 #define GL_PIXEL_MAP_I_TO_I                     0x0C70
478 #define GL_PIXEL_MAP_I_TO_R                     0x0C72
479 #define GL_PIXEL_MAP_I_TO_G                     0x0C73
480 #define GL_PIXEL_MAP_I_TO_B                     0x0C74
481 #define GL_PIXEL_MAP_I_TO_A                     0x0C75
482 #define GL_PIXEL_MAP_R_TO_R                     0x0C76
483 #define GL_PIXEL_MAP_G_TO_G                     0x0C77
484 #define GL_PIXEL_MAP_B_TO_B                     0x0C78
485 #define GL_PIXEL_MAP_A_TO_A                     0x0C79
486 #define GL_PACK_ALIGNMENT                       0x0D05
487 #define GL_PACK_LSB_FIRST                       0x0D01
488 #define GL_PACK_ROW_LENGTH                      0x0D02
489 #define GL_PACK_SKIP_PIXELS                     0x0D04
490 #define GL_PACK_SKIP_ROWS                       0x0D03
491 #define GL_PACK_SWAP_BYTES                      0x0D00
492 #define GL_UNPACK_ALIGNMENT                     0x0CF5
493 #define GL_UNPACK_LSB_FIRST                     0x0CF1
494 #define GL_UNPACK_ROW_LENGTH                    0x0CF2
495 #define GL_UNPACK_SKIP_PIXELS                   0x0CF4
496 #define GL_UNPACK_SKIP_ROWS                     0x0CF3
497 #define GL_UNPACK_SWAP_BYTES                    0x0CF0
498 #define GL_ZOOM_X                               0x0D16
499 #define GL_ZOOM_Y                               0x0D17
500 
501 /* Texture mapping */
502 #define GL_TEXTURE_ENV                          0x2300
503 #define GL_TEXTURE_ENV_MODE                     0x2200
504 #define GL_TEXTURE_1D                           0x0DE0
505 #define GL_TEXTURE_2D                           0x0DE1
506 #define GL_TEXTURE_WRAP_S                       0x2802
507 #define GL_TEXTURE_WRAP_T                       0x2803
508 #define GL_TEXTURE_MAG_FILTER                   0x2800
509 #define GL_TEXTURE_MIN_FILTER                   0x2801
510 #define GL_TEXTURE_ENV_COLOR                    0x2201
511 #define GL_TEXTURE_GEN_S                        0x0C60
512 #define GL_TEXTURE_GEN_T                        0x0C61
513 #define GL_TEXTURE_GEN_MODE                     0x2500
514 #define GL_TEXTURE_BORDER_COLOR                 0x1004
515 #define GL_TEXTURE_WIDTH                        0x1000
516 #define GL_TEXTURE_HEIGHT                       0x1001
517 #define GL_TEXTURE_BORDER                       0x1005
518 #define GL_TEXTURE_COMPONENTS                   0x1003
519 #define GL_TEXTURE_RED_SIZE                     0x805C
520 #define GL_TEXTURE_GREEN_SIZE                   0x805D
521 #define GL_TEXTURE_BLUE_SIZE                    0x805E
522 #define GL_TEXTURE_ALPHA_SIZE                   0x805F
523 #define GL_TEXTURE_LUMINANCE_SIZE               0x8060
524 #define GL_TEXTURE_INTENSITY_SIZE               0x8061
525 #define GL_NEAREST_MIPMAP_NEAREST               0x2700
526 #define GL_NEAREST_MIPMAP_LINEAR                0x2702
527 #define GL_LINEAR_MIPMAP_NEAREST                0x2701
528 #define GL_LINEAR_MIPMAP_LINEAR                 0x2703
529 #define GL_OBJECT_LINEAR                        0x2401
530 #define GL_OBJECT_PLANE                         0x2501
531 #define GL_EYE_LINEAR                           0x2400
532 #define GL_EYE_PLANE                            0x2502
533 #define GL_SPHERE_MAP                           0x2402
534 #define GL_DECAL                                0x2101
535 #define GL_MODULATE                             0x2100
536 #define GL_NEAREST                              0x2600
537 #define GL_REPEAT                               0x2901
538 #define GL_CLAMP                                0x2900
539 #define GL_S                                    0x2000
540 #define GL_T                                    0x2001
541 #define GL_R                                    0x2002
542 #define GL_Q                                    0x2003
543 #define GL_TEXTURE_GEN_R                        0x0C62
544 #define GL_TEXTURE_GEN_Q                        0x0C63
545 
546 /* Utility */
547 #define GL_VENDOR                               0x1F00
548 #define GL_RENDERER                             0x1F01
549 #define GL_VERSION                              0x1F02
550 #define GL_EXTENSIONS                           0x1F03
551 
552 /* Errors */
553 #define GL_NO_ERROR                             0x0
554 #define GL_INVALID_VALUE                        0x0501
555 #define GL_INVALID_ENUM                         0x0500
556 #define GL_INVALID_OPERATION                    0x0502
557 #define GL_STACK_OVERFLOW                       0x0503
558 #define GL_STACK_UNDERFLOW                      0x0504
559 #define GL_OUT_OF_MEMORY                        0x0505
560 
561 /* glPush/PopAttrib bits */
562 #define GL_CURRENT_BIT                          0x00000001
563 #define GL_POINT_BIT                            0x00000002
564 #define GL_LINE_BIT                             0x00000004
565 #define GL_POLYGON_BIT                          0x00000008
566 #define GL_POLYGON_STIPPLE_BIT                  0x00000010
567 #define GL_PIXEL_MODE_BIT                       0x00000020
568 #define GL_LIGHTING_BIT                         0x00000040
569 #define GL_FOG_BIT                              0x00000080
570 #define GL_DEPTH_BUFFER_BIT                     0x00000100
571 #define GL_ACCUM_BUFFER_BIT                     0x00000200
572 #define GL_STENCIL_BUFFER_BIT                   0x00000400
573 #define GL_VIEWPORT_BIT                         0x00000800
574 #define GL_TRANSFORM_BIT                        0x00001000
575 #define GL_ENABLE_BIT                           0x00002000
576 #define GL_COLOR_BUFFER_BIT                     0x00004000
577 #define GL_HINT_BIT                             0x00008000
578 #define GL_EVAL_BIT                             0x00010000
579 #define GL_LIST_BIT                             0x00020000
580 #define GL_TEXTURE_BIT                          0x00040000
581 #define GL_SCISSOR_BIT                          0x00080000
582 #define GL_ALL_ATTRIB_BITS                      0x000FFFFF
583 
584 /*
585  * Miscellaneous
586  */
587 
588 GLAPI void APIENTRY glClearIndex( GLfloat c );
589 
590 GLAPI void APIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
591 
592 GLAPI void APIENTRY glClear( GLbitfield mask );
593 
594 GLAPI void APIENTRY glIndexMask( GLuint mask );
595 
596 GLAPI void APIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
597 
598 GLAPI void APIENTRY glAlphaFunc( GLenum func, GLclampf ref );
599 
600 GLAPI void APIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
601 
602 GLAPI void APIENTRY glLogicOp( GLenum opcode );
603 
604 GLAPI void APIENTRY glCullFace( GLenum mode );
605 
606 GLAPI void APIENTRY glFrontFace( GLenum mode );
607 
608 GLAPI void APIENTRY glPointSize( GLfloat size );
609 
610 GLAPI void APIENTRY glLineWidth( GLfloat width );
611 
612 GLAPI void APIENTRY glLineStipple( GLint factor, GLushort pattern );
613 
614 GLAPI void APIENTRY glPolygonMode( GLenum face, GLenum mode );
615 
616 GLAPI void APIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
617 
618 GLAPI void APIENTRY glPolygonStipple( const GLubyte *mask );
619 
620 GLAPI void APIENTRY glGetPolygonStipple( GLubyte *mask );
621 
622 GLAPI void APIENTRY glEdgeFlag( GLboolean flag );
623 
624 GLAPI void APIENTRY glEdgeFlagv( const GLboolean *flag );
625 
626 GLAPI void APIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
627 
628 GLAPI void APIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
629 
630 GLAPI void APIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
631 
632 GLAPI void APIENTRY glDrawBuffer( GLenum mode );
633 
634 GLAPI void APIENTRY glReadBuffer( GLenum mode );
635 
636 GLAPI void APIENTRY glEnable( GLenum cap );
637 
638 GLAPI void APIENTRY glDisable( GLenum cap );
639 
640 GLAPI GLboolean APIENTRY glIsEnabled( GLenum cap );
641 
642 GLAPI void APIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
643 
644 GLAPI void APIENTRY glGetDoublev( GLenum pname, GLdouble *params );
645 
646 GLAPI void APIENTRY glGetFloatv( GLenum pname, GLfloat *params );
647 
648 GLAPI void APIENTRY glGetIntegerv( GLenum pname, GLint *params );
649 
650 
651 GLAPI void APIENTRY glPushAttrib( GLbitfield mask );
652 
653 GLAPI void APIENTRY glPopAttrib( void );
654 
655 
656 
657 GLAPI GLint APIENTRY glRenderMode( GLenum mode );
658 
659 GLAPI GLenum APIENTRY glGetError( void );
660 
661 GLAPI const GLubyte* APIENTRY glGetString( GLenum name );
662 
663 GLAPI void APIENTRY glFinish( void );
664 
665 GLAPI void APIENTRY glFlush( void );
666 
667 GLAPI void APIENTRY glHint( GLenum target, GLenum mode );
668 
669 
670 /*
671  * Depth Buffer
672  */
673 
674 GLAPI void APIENTRY glClearDepth( GLclampd depth );
675 
676 GLAPI void APIENTRY glDepthFunc( GLenum func );
677 
678 GLAPI void APIENTRY glDepthMask( GLboolean flag );
679 
680 GLAPI void APIENTRY glDepthRange( GLclampd zNear, GLclampd zFar );
681 
682 
683 /*
684  * Accumulation Buffer
685  */
686 
687 GLAPI void APIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
688 
689 GLAPI void APIENTRY glAccum( GLenum op, GLfloat value );
690 
691 
692 /*
693  * Transformation
694  */
695 
696 GLAPI void APIENTRY glMatrixMode( GLenum mode );
697 
698 GLAPI void APIENTRY glOrtho( GLdouble left, GLdouble right,
699                                  GLdouble bottom, GLdouble top,
700                                  GLdouble near_val, GLdouble far_val );
701 
702 GLAPI void APIENTRY glFrustum( GLdouble left, GLdouble right,
703                                    GLdouble bottom, GLdouble top,
704                                    GLdouble near_val, GLdouble far_val );
705 
706 GLAPI void APIENTRY glViewport( GLint x, GLint y,
707                                     GLsizei width, GLsizei height );
708 
709 GLAPI void APIENTRY glPushMatrix( void );
710 
711 GLAPI void APIENTRY glPopMatrix( void );
712 
713 GLAPI void APIENTRY glLoadIdentity( void );
714 
715 GLAPI void APIENTRY glLoadMatrixd( const GLdouble *m );
716 GLAPI void APIENTRY glLoadMatrixf( const GLfloat *m );
717 
718 GLAPI void APIENTRY glMultMatrixd( const GLdouble *m );
719 GLAPI void APIENTRY glMultMatrixf( const GLfloat *m );
720 
721 GLAPI void APIENTRY glRotated( GLdouble angle,
722                                    GLdouble x, GLdouble y, GLdouble z );
723 GLAPI void APIENTRY glRotatef( GLfloat angle,
724                                    GLfloat x, GLfloat y, GLfloat z );
725 
726 GLAPI void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
727 GLAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
728 
729 GLAPI void APIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
730 GLAPI void APIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
731 
732 
733 /*
734  * Display Lists
735  */
736 
737 GLAPI GLboolean APIENTRY glIsList( GLuint list );
738 
739 GLAPI void APIENTRY glDeleteLists( GLuint list, GLsizei range );
740 
741 GLAPI GLuint APIENTRY glGenLists( GLsizei range );
742 
743 GLAPI void APIENTRY glNewList( GLuint list, GLenum mode );
744 
745 GLAPI void APIENTRY glEndList( void );
746 
747 GLAPI void APIENTRY glCallList( GLuint list );
748 
749 GLAPI void APIENTRY glCallLists( GLsizei n, GLenum type,
750                                      const GLvoid *lists );
751 
752 GLAPI void APIENTRY glListBase( GLuint base );
753 
754 
755 /*
756  * Drawing Functions
757  */
758 
759 GLAPI void APIENTRY glBegin( GLenum mode );
760 
761 GLAPI void APIENTRY glEnd( void );
762 
763 
764 GLAPI void APIENTRY glVertex2d( GLdouble x, GLdouble y );
765 GLAPI void APIENTRY glVertex2f( GLfloat x, GLfloat y );
766 GLAPI void APIENTRY glVertex2i( GLint x, GLint y );
767 GLAPI void APIENTRY glVertex2s( GLshort x, GLshort y );
768 
769 GLAPI void APIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
770 GLAPI void APIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
771 GLAPI void APIENTRY glVertex3i( GLint x, GLint y, GLint z );
772 GLAPI void APIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
773 
774 GLAPI void APIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
775 GLAPI void APIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
776 GLAPI void APIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
777 GLAPI void APIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
778 
779 GLAPI void APIENTRY glVertex2dv( const GLdouble *v );
780 GLAPI void APIENTRY glVertex2fv( const GLfloat *v );
781 GLAPI void APIENTRY glVertex2iv( const GLint *v );
782 GLAPI void APIENTRY glVertex2sv( const GLshort *v );
783 
784 GLAPI void APIENTRY glVertex3dv( const GLdouble *v );
785 GLAPI void APIENTRY glVertex3fv( const GLfloat *v );
786 GLAPI void APIENTRY glVertex3iv( const GLint *v );
787 GLAPI void APIENTRY glVertex3sv( const GLshort *v );
788 
789 GLAPI void APIENTRY glVertex4dv( const GLdouble *v );
790 GLAPI void APIENTRY glVertex4fv( const GLfloat *v );
791 GLAPI void APIENTRY glVertex4iv( const GLint *v );
792 GLAPI void APIENTRY glVertex4sv( const GLshort *v );
793 
794 
795 GLAPI void APIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
796 GLAPI void APIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
797 GLAPI void APIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
798 GLAPI void APIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
799 GLAPI void APIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
800 
801 GLAPI void APIENTRY glNormal3bv( const GLbyte *v );
802 GLAPI void APIENTRY glNormal3dv( const GLdouble *v );
803 GLAPI void APIENTRY glNormal3fv( const GLfloat *v );
804 GLAPI void APIENTRY glNormal3iv( const GLint *v );
805 GLAPI void APIENTRY glNormal3sv( const GLshort *v );
806 
807 
808 GLAPI void APIENTRY glIndexd( GLdouble c );
809 GLAPI void APIENTRY glIndexf( GLfloat c );
810 GLAPI void APIENTRY glIndexi( GLint c );
811 GLAPI void APIENTRY glIndexs( GLshort c );
812 
813 GLAPI void APIENTRY glIndexdv( const GLdouble *c );
814 GLAPI void APIENTRY glIndexfv( const GLfloat *c );
815 GLAPI void APIENTRY glIndexiv( const GLint *c );
816 GLAPI void APIENTRY glIndexsv( const GLshort *c );
817 
818 GLAPI void APIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
819 GLAPI void APIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
820 GLAPI void APIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
821 GLAPI void APIENTRY glColor3i( GLint red, GLint green, GLint blue );
822 GLAPI void APIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
823 GLAPI void APIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
824 GLAPI void APIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
825 GLAPI void APIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
826 
827 GLAPI void APIENTRY glColor4b( GLbyte red, GLbyte green,
828                                    GLbyte blue, GLbyte alpha );
829 GLAPI void APIENTRY glColor4d( GLdouble red, GLdouble green,
830                                    GLdouble blue, GLdouble alpha );
831 GLAPI void APIENTRY glColor4f( GLfloat red, GLfloat green,
832                                    GLfloat blue, GLfloat alpha );
833 GLAPI void APIENTRY glColor4i( GLint red, GLint green,
834                                    GLint blue, GLint alpha );
835 GLAPI void APIENTRY glColor4s( GLshort red, GLshort green,
836                                    GLshort blue, GLshort alpha );
837 GLAPI void APIENTRY glColor4ub( GLubyte red, GLubyte green,
838                                     GLubyte blue, GLubyte alpha );
839 GLAPI void APIENTRY glColor4ui( GLuint red, GLuint green,
840                                     GLuint blue, GLuint alpha );
841 GLAPI void APIENTRY glColor4us( GLushort red, GLushort green,
842                                     GLushort blue, GLushort alpha );
843 
844 
845 GLAPI void APIENTRY glColor3bv( const GLbyte *v );
846 GLAPI void APIENTRY glColor3dv( const GLdouble *v );
847 GLAPI void APIENTRY glColor3fv( const GLfloat *v );
848 GLAPI void APIENTRY glColor3iv( const GLint *v );
849 GLAPI void APIENTRY glColor3sv( const GLshort *v );
850 GLAPI void APIENTRY glColor3ubv( const GLubyte *v );
851 GLAPI void APIENTRY glColor3uiv( const GLuint *v );
852 GLAPI void APIENTRY glColor3usv( const GLushort *v );
853 
854 GLAPI void APIENTRY glColor4bv( const GLbyte *v );
855 GLAPI void APIENTRY glColor4dv( const GLdouble *v );
856 GLAPI void APIENTRY glColor4fv( const GLfloat *v );
857 GLAPI void APIENTRY glColor4iv( const GLint *v );
858 GLAPI void APIENTRY glColor4sv( const GLshort *v );
859 GLAPI void APIENTRY glColor4ubv( const GLubyte *v );
860 GLAPI void APIENTRY glColor4uiv( const GLuint *v );
861 GLAPI void APIENTRY glColor4usv( const GLushort *v );
862 
863 
864 GLAPI void APIENTRY glTexCoord1d( GLdouble s );
865 GLAPI void APIENTRY glTexCoord1f( GLfloat s );
866 GLAPI void APIENTRY glTexCoord1i( GLint s );
867 GLAPI void APIENTRY glTexCoord1s( GLshort s );
868 
869 GLAPI void APIENTRY glTexCoord2d( GLdouble s, GLdouble t );
870 GLAPI void APIENTRY glTexCoord2f( GLfloat s, GLfloat t );
871 GLAPI void APIENTRY glTexCoord2i( GLint s, GLint t );
872 GLAPI void APIENTRY glTexCoord2s( GLshort s, GLshort t );
873 
874 GLAPI void APIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
875 GLAPI void APIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
876 GLAPI void APIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
877 GLAPI void APIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
878 
879 GLAPI void APIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
880 GLAPI void APIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
881 GLAPI void APIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
882 GLAPI void APIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
883 
884 GLAPI void APIENTRY glTexCoord1dv( const GLdouble *v );
885 GLAPI void APIENTRY glTexCoord1fv( const GLfloat *v );
886 GLAPI void APIENTRY glTexCoord1iv( const GLint *v );
887 GLAPI void APIENTRY glTexCoord1sv( const GLshort *v );
888 
889 GLAPI void APIENTRY glTexCoord2dv( const GLdouble *v );
890 GLAPI void APIENTRY glTexCoord2fv( const GLfloat *v );
891 GLAPI void APIENTRY glTexCoord2iv( const GLint *v );
892 GLAPI void APIENTRY glTexCoord2sv( const GLshort *v );
893 
894 GLAPI void APIENTRY glTexCoord3dv( const GLdouble *v );
895 GLAPI void APIENTRY glTexCoord3fv( const GLfloat *v );
896 GLAPI void APIENTRY glTexCoord3iv( const GLint *v );
897 GLAPI void APIENTRY glTexCoord3sv( const GLshort *v );
898 
899 GLAPI void APIENTRY glTexCoord4dv( const GLdouble *v );
900 GLAPI void APIENTRY glTexCoord4fv( const GLfloat *v );
901 GLAPI void APIENTRY glTexCoord4iv( const GLint *v );
902 GLAPI void APIENTRY glTexCoord4sv( const GLshort *v );
903 
904 
905 GLAPI void APIENTRY glRasterPos2d( GLdouble x, GLdouble y );
906 GLAPI void APIENTRY glRasterPos2f( GLfloat x, GLfloat y );
907 GLAPI void APIENTRY glRasterPos2i( GLint x, GLint y );
908 GLAPI void APIENTRY glRasterPos2s( GLshort x, GLshort y );
909 
910 GLAPI void APIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
911 GLAPI void APIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
912 GLAPI void APIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
913 GLAPI void APIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
914 
915 GLAPI void APIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
916 GLAPI void APIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
917 GLAPI void APIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
918 GLAPI void APIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
919 
920 GLAPI void APIENTRY glRasterPos2dv( const GLdouble *v );
921 GLAPI void APIENTRY glRasterPos2fv( const GLfloat *v );
922 GLAPI void APIENTRY glRasterPos2iv( const GLint *v );
923 GLAPI void APIENTRY glRasterPos2sv( const GLshort *v );
924 
925 GLAPI void APIENTRY glRasterPos3dv( const GLdouble *v );
926 GLAPI void APIENTRY glRasterPos3fv( const GLfloat *v );
927 GLAPI void APIENTRY glRasterPos3iv( const GLint *v );
928 GLAPI void APIENTRY glRasterPos3sv( const GLshort *v );
929 
930 GLAPI void APIENTRY glRasterPos4dv( const GLdouble *v );
931 GLAPI void APIENTRY glRasterPos4fv( const GLfloat *v );
932 GLAPI void APIENTRY glRasterPos4iv( const GLint *v );
933 GLAPI void APIENTRY glRasterPos4sv( const GLshort *v );
934 
935 
936 GLAPI void APIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
937 GLAPI void APIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
938 GLAPI void APIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
939 GLAPI void APIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
940 
941 
942 GLAPI void APIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
943 GLAPI void APIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
944 GLAPI void APIENTRY glRectiv( const GLint *v1, const GLint *v2 );
945 GLAPI void APIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
946 
947 
948 /*
949  * Lighting
950  */
951 
952 GLAPI void APIENTRY glShadeModel( GLenum mode );
953 
954 GLAPI void APIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
955 GLAPI void APIENTRY glLighti( GLenum light, GLenum pname, GLint param );
956 GLAPI void APIENTRY glLightfv( GLenum light, GLenum pname,
957                                  const GLfloat *params );
958 GLAPI void APIENTRY glLightiv( GLenum light, GLenum pname,
959                                  const GLint *params );
960 
961 GLAPI void APIENTRY glGetLightfv( GLenum light, GLenum pname,
962                                     GLfloat *params );
963 GLAPI void APIENTRY glGetLightiv( GLenum light, GLenum pname,
964                                     GLint *params );
965 
966 GLAPI void APIENTRY glLightModelf( GLenum pname, GLfloat param );
967 GLAPI void APIENTRY glLightModeli( GLenum pname, GLint param );
968 GLAPI void APIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
969 GLAPI void APIENTRY glLightModeliv( GLenum pname, const GLint *params );
970 
971 GLAPI void APIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
972 GLAPI void APIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
973 GLAPI void APIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
974 GLAPI void APIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
975 
976 GLAPI void APIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
977 GLAPI void APIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
978 
979 GLAPI void APIENTRY glColorMaterial( GLenum face, GLenum mode );
980 
981 
982 /*
983  * Raster functions
984  */
985 
986 GLAPI void APIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
987 
988 GLAPI void APIENTRY glPixelStoref( GLenum pname, GLfloat param );
989 GLAPI void APIENTRY glPixelStorei( GLenum pname, GLint param );
990 
991 GLAPI void APIENTRY glPixelTransferf( GLenum pname, GLfloat param );
992 GLAPI void APIENTRY glPixelTransferi( GLenum pname, GLint param );
993 
994 GLAPI void APIENTRY glPixelMapfv( GLenum map, GLint mapsize,
995                                     const GLfloat *values );
996 GLAPI void APIENTRY glPixelMapuiv( GLenum map, GLint mapsize,
997                                      const GLuint *values );
998 GLAPI void APIENTRY glPixelMapusv( GLenum map, GLint mapsize,
999                                      const GLushort *values );
1000 
1001 GLAPI void APIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
1002 GLAPI void APIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
1003 GLAPI void APIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
1004 
1005 GLAPI void APIENTRY glBitmap( GLsizei width, GLsizei height,
1006                                 GLfloat xorig, GLfloat yorig,
1007                                 GLfloat xmove, GLfloat ymove,
1008                                 const GLubyte *bitmap );
1009 
1010 GLAPI void APIENTRY glReadPixels( GLint x, GLint y,
1011                                     GLsizei width, GLsizei height,
1012                                     GLenum format, GLenum type,
1013                                     GLvoid *pixels );
1014 
1015 GLAPI void APIENTRY glDrawPixels( GLsizei width, GLsizei height,
1016                                     GLenum format, GLenum type,
1017                                     const GLvoid *pixels );
1018 
1019 GLAPI void APIENTRY glCopyPixels( GLint x, GLint y,
1020                                     GLsizei width, GLsizei height,
1021                                     GLenum type );
1022 
1023 /*
1024  * Stenciling
1025  */
1026 
1027 GLAPI void APIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
1028 
1029 GLAPI void APIENTRY glStencilMask( GLuint mask );
1030 
1031 GLAPI void APIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
1032 
1033 GLAPI void APIENTRY glClearStencil( GLint s );
1034 
1035 
1036 
1037 /*
1038  * Texture mapping
1039  */
1040 
1041 GLAPI void APIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
1042 GLAPI void APIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
1043 GLAPI void APIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
1044 
1045 GLAPI void APIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
1046 GLAPI void APIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
1047 GLAPI void APIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
1048 
1049 GLAPI void APIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
1050 GLAPI void APIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
1051 GLAPI void APIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
1052 
1053 
1054 GLAPI void APIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
1055 GLAPI void APIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
1056 
1057 GLAPI void APIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
1058 GLAPI void APIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
1059 
1060 GLAPI void APIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
1061 GLAPI void APIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
1062 
1063 
1064 GLAPI void APIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
1065 GLAPI void APIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
1066 
1067 GLAPI void APIENTRY glTexParameterfv( GLenum target, GLenum pname,
1068                                           const GLfloat *params );
1069 GLAPI void APIENTRY glTexParameteriv( GLenum target, GLenum pname,
1070                                           const GLint *params );
1071 
1072 GLAPI void APIENTRY glGetTexParameterfv( GLenum target,
1073                                            GLenum pname, GLfloat *params);
1074 GLAPI void APIENTRY glGetTexParameteriv( GLenum target,
1075                                            GLenum pname, GLint *params );
1076 
1077 GLAPI void APIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,
1078                                                 GLenum pname, GLfloat *params );
1079 GLAPI void APIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,
1080                                                 GLenum pname, GLint *params );
1081 
1082 
1083 GLAPI void APIENTRY glTexImage1D( GLenum target, GLint level,
1084                                     GLint internalFormat,
1085                                     GLsizei width, GLint border,
1086                                     GLenum format, GLenum type,
1087                                     const GLvoid *pixels );
1088 
1089 GLAPI void APIENTRY glTexImage2D( GLenum target, GLint level,
1090                                     GLint internalFormat,
1091                                     GLsizei width, GLsizei height,
1092                                     GLint border, GLenum format, GLenum type,
1093                                     const GLvoid *pixels );
1094 
1095 GLAPI void APIENTRY glGetTexImage( GLenum target, GLint level,
1096                                      GLenum format, GLenum type,
1097                                      GLvoid *pixels );
1098 
1099 
1100 /*
1101  * Evaluators
1102  */
1103 
1104 GLAPI void APIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,
1105                                GLint stride,
1106                                GLint order, const GLdouble *points );
1107 GLAPI void APIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
1108                                GLint stride,
1109                                GLint order, const GLfloat *points );
1110 
1111 GLAPI void APIENTRY glMap2d( GLenum target,
1112                      GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
1113                      GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
1114                      const GLdouble *points );
1115 GLAPI void APIENTRY glMap2f( GLenum target,
1116                      GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
1117                      GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
1118                      const GLfloat *points );
1119 
1120 GLAPI void APIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
1121 GLAPI void APIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
1122 GLAPI void APIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
1123 
1124 GLAPI void APIENTRY glEvalCoord1d( GLdouble u );
1125 GLAPI void APIENTRY glEvalCoord1f( GLfloat u );
1126 
1127 GLAPI void APIENTRY glEvalCoord1dv( const GLdouble *u );
1128 GLAPI void APIENTRY glEvalCoord1fv( const GLfloat *u );
1129 
1130 GLAPI void APIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
1131 GLAPI void APIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
1132 
1133 GLAPI void APIENTRY glEvalCoord2dv( const GLdouble *u );
1134 GLAPI void APIENTRY glEvalCoord2fv( const GLfloat *u );
1135 
1136 GLAPI void APIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
1137 GLAPI void APIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
1138 
1139 GLAPI void APIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
1140                                    GLint vn, GLdouble v1, GLdouble v2 );
1141 GLAPI void APIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
1142                                    GLint vn, GLfloat v1, GLfloat v2 );
1143 
1144 GLAPI void APIENTRY glEvalPoint1( GLint i );
1145 
1146 GLAPI void APIENTRY glEvalPoint2( GLint i, GLint j );
1147 
1148 GLAPI void APIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
1149 
1150 GLAPI void APIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
1151 
1152 
1153 /*
1154  * Fog
1155  */
1156 
1157 GLAPI void APIENTRY glFogf( GLenum pname, GLfloat param );
1158 
1159 GLAPI void APIENTRY glFogi( GLenum pname, GLint param );
1160 
1161 GLAPI void APIENTRY glFogfv( GLenum pname, const GLfloat *params );
1162 
1163 GLAPI void APIENTRY glFogiv( GLenum pname, const GLint *params );
1164 
1165 
1166 /*
1167  * Selection and Feedback
1168  */
1169 
1170 GLAPI void APIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
1171 
1172 GLAPI void APIENTRY glPassThrough( GLfloat token );
1173 
1174 GLAPI void APIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
1175 
1176 GLAPI void APIENTRY glInitNames( void );
1177 
1178 GLAPI void APIENTRY glLoadName( GLuint name );
1179 
1180 GLAPI void APIENTRY glPushName( GLuint name );
1181 
1182 GLAPI void APIENTRY glPopName( void );
1183 
1184 #endif /* GL_VERSION_1_0 */
1185 
1186 /*
1187  * ---------------------------------------------
1188  *             OpenGL 1.1 Spec
1189  * ---------------------------------------------
1190  */
1191 
1192 /* OpenGL 1.1 */
1193 #ifndef GL_VERSION_1_1
1194 #define GL_VERSION_1_1 1
1195 
1196 #define GL_PROXY_TEXTURE_1D                     0x8063
1197 #define GL_PROXY_TEXTURE_2D                     0x8064
1198 #define GL_TEXTURE_PRIORITY                     0x8066
1199 #define GL_TEXTURE_RESIDENT                     0x8067
1200 #define GL_TEXTURE_BINDING_1D                   0x8068
1201 #define GL_TEXTURE_BINDING_2D                   0x8069
1202 #define GL_TEXTURE_INTERNAL_FORMAT              0x1003
1203 #define GL_ALPHA4                               0x803B
1204 #define GL_ALPHA8                               0x803C
1205 #define GL_ALPHA12                              0x803D
1206 #define GL_ALPHA16                              0x803E
1207 #define GL_LUMINANCE4                           0x803F
1208 #define GL_LUMINANCE8                           0x8040
1209 #define GL_LUMINANCE12                          0x8041
1210 #define GL_LUMINANCE16                          0x8042
1211 #define GL_LUMINANCE4_ALPHA4                    0x8043
1212 #define GL_LUMINANCE6_ALPHA2                    0x8044
1213 #define GL_LUMINANCE8_ALPHA8                    0x8045
1214 #define GL_LUMINANCE12_ALPHA4                   0x8046
1215 #define GL_LUMINANCE12_ALPHA12                  0x8047
1216 #define GL_LUMINANCE16_ALPHA16                  0x8048
1217 #define GL_INTENSITY                            0x8049
1218 #define GL_INTENSITY4                           0x804A
1219 #define GL_INTENSITY8                           0x804B
1220 #define GL_INTENSITY12                          0x804C
1221 #define GL_INTENSITY16                          0x804D
1222 #define GL_R3_G3_B2                             0x2A10
1223 #define GL_RGB4                                 0x804F
1224 #define GL_RGB5                                 0x8050
1225 #define GL_RGB8                                 0x8051
1226 #define GL_RGB10                                0x8052
1227 #define GL_RGB12                                0x8053
1228 #define GL_RGB16                                0x8054
1229 #define GL_RGBA2                                0x8055
1230 #define GL_RGBA4                                0x8056
1231 #define GL_RGB5_A1                              0x8057
1232 #define GL_RGBA8                                0x8058
1233 #define GL_RGB10_A2                             0x8059
1234 #define GL_RGBA12                               0x805A
1235 #define GL_RGBA16                               0x805B
1236 #define GL_CLIENT_PIXEL_STORE_BIT               0x00000001
1237 #define GL_CLIENT_VERTEX_ARRAY_BIT              0x00000002
1238 #define GL_ALL_CLIENT_ATTRIB_BITS               0xFFFFFFFF
1239 #define GL_CLIENT_ALL_ATTRIB_BITS               0xFFFFFFFF
1240 
1241 #define GL_VERTEX_ARRAY                         0x8074
1242 #define GL_NORMAL_ARRAY                         0x8075
1243 #define GL_COLOR_ARRAY                          0x8076
1244 #define GL_INDEX_ARRAY                          0x8077
1245 #define GL_TEXTURE_COORD_ARRAY                  0x8078
1246 #define GL_EDGE_FLAG_ARRAY                      0x8079
1247 #define GL_VERTEX_ARRAY_SIZE                    0x807A
1248 #define GL_VERTEX_ARRAY_TYPE                    0x807B
1249 #define GL_VERTEX_ARRAY_STRIDE                  0x807C
1250 #define GL_NORMAL_ARRAY_TYPE                    0x807E
1251 #define GL_NORMAL_ARRAY_STRIDE                  0x807F
1252 #define GL_COLOR_ARRAY_SIZE                     0x8081
1253 #define GL_COLOR_ARRAY_TYPE                     0x8082
1254 #define GL_COLOR_ARRAY_STRIDE                   0x8083
1255 #define GL_INDEX_ARRAY_TYPE                     0x8085
1256 #define GL_INDEX_ARRAY_STRIDE                   0x8086
1257 #define GL_TEXTURE_COORD_ARRAY_SIZE             0x8088
1258 #define GL_TEXTURE_COORD_ARRAY_TYPE             0x8089
1259 #define GL_TEXTURE_COORD_ARRAY_STRIDE           0x808A
1260 #define GL_EDGE_FLAG_ARRAY_STRIDE               0x808C
1261 #define GL_VERTEX_ARRAY_POINTER                 0x808E
1262 #define GL_NORMAL_ARRAY_POINTER                 0x808F
1263 #define GL_COLOR_ARRAY_POINTER                  0x8090
1264 #define GL_INDEX_ARRAY_POINTER                  0x8091
1265 #define GL_TEXTURE_COORD_ARRAY_POINTER          0x8092
1266 #define GL_EDGE_FLAG_ARRAY_POINTER              0x8093
1267 #define GL_V2F                                  0x2A20
1268 #define GL_V3F                                  0x2A21
1269 #define GL_C4UB_V2F                             0x2A22
1270 #define GL_C4UB_V3F                             0x2A23
1271 #define GL_C3F_V3F                              0x2A24
1272 #define GL_N3F_V3F                              0x2A25
1273 #define GL_C4F_N3F_V3F                          0x2A26
1274 #define GL_T2F_V3F                              0x2A27
1275 #define GL_T4F_V4F                              0x2A28
1276 #define GL_T2F_C4UB_V3F                         0x2A29
1277 #define GL_T2F_C3F_V3F                          0x2A2A
1278 #define GL_T2F_N3F_V3F                          0x2A2B
1279 #define GL_T2F_C4F_N3F_V3F                      0x2A2C
1280 #define GL_T4F_C4F_N3F_V4F                      0x2A2D
1281 
1282 GLAPI void APIENTRY glIndexub( GLubyte c );
1283 GLAPI void APIENTRY glIndexubv( const GLubyte *c );
1284 
1285 GLAPI void APIENTRY glPushClientAttrib( GLbitfield mask );
1286 GLAPI void APIENTRY glPopClientAttrib( void );
1287 GLAPI void APIENTRY glEnableClientState( GLenum cap );
1288 GLAPI void APIENTRY glDisableClientState( GLenum cap );
1289 GLAPI void APIENTRY glVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
1290 GLAPI void APIENTRY glNormalPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
1291 GLAPI void APIENTRY glColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
1292 GLAPI void APIENTRY glIndexPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
1293 GLAPI void APIENTRY glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
1294 GLAPI void APIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
1295 GLAPI void APIENTRY glGetPointerv( GLenum pname, GLvoid **params );
1296 GLAPI void APIENTRY glArrayElement( GLint i );
1297 GLAPI void APIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
1298 GLAPI void APIENTRY glDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
1299 GLAPI void APIENTRY glInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer );
1300 
1301 GLAPI void APIENTRY glGenTextures( GLsizei n, GLuint *textures );
1302 GLAPI void APIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
1303 GLAPI void APIENTRY glBindTexture( GLenum target, GLuint texture );
1304 GLAPI void APIENTRY glPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities );
1305 GLAPI GLboolean APIENTRY glAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences );
1306 GLAPI GLboolean APIENTRY glIsTexture( GLuint texture );
1307 GLAPI void APIENTRY glTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels );
1308 GLAPI void APIENTRY glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
1309 GLAPI void APIENTRY glCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border );
1310 GLAPI void APIENTRY glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
1311 GLAPI void APIENTRY glCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
1312 GLAPI void APIENTRY glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
1313 
1314 #endif /* GL_VERSION_1_1 */
1315 
1316 /* Include Post-GL 1.1 changes and extensions */
1317 // Due to 'glext-supplement.h', we prefer to include it manually afterwards.
1318 // This gives us the same behavior as the vanilla GLES, GLES2, GLES3 and glcorearb header.
1319 // #include <GL/glext.h>
1320 
1321 
1322 /**********************************************************************
1323  * Begin system-specific stuff
1324  */
1325 #if defined(PRAGMA_EXPORT_SUPPORTED)
1326 #pragma export off
1327 #endif
1328 
1329 #if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
1330 #pragma import off
1331 #endif
1332 /*
1333  * End system-specific stuff
1334  **********************************************************************/
1335 
1336 
1337 #ifdef __cplusplus
1338 }
1339 #endif
1340 
1341 #endif /* __gl_h_ */
1342