1 #if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400)
2 # define __MSHORT__ 1
3 #endif
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
9 #ifndef APIENTRY
10 #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
11 #define APIENTRY __stdcall
12 #elif defined(__PUREC__)
13 #define APIENTRY __CDECL
14 #else
15 #define APIENTRY
16 #endif
17 #endif
18 #ifndef CALLBACK
19 #define CALLBACK APIENTRY
20 #endif
21 #ifndef GLAPIENTRY
22 #define GLAPIENTRY APIENTRY
23 #endif
24 #ifndef APIENTRYP
25 #define APIENTRYP APIENTRY *
26 #endif
27 #ifndef GLAPI
28 #define GLAPI extern
29 #endif
30 #if !defined(__CDECL)
31 #if defined(__PUREC__)
32 #define __CDECL cdecl
33 #else
34 #define __CDECL
35 #endif
36 #endif
37 
38 
39 #ifndef GL_VERSION_1_1
40 #define GL_VERSION_1_1 1
41 #ifdef __MSHORT__
42 typedef long GLint;					/* 4-byte signed */
43 typedef unsigned long GLuint;		/* 4-byte unsigned */
44 typedef unsigned long GLenum;		/* 4-byte unsigned */
45 typedef unsigned long GLbitfield;	/* 4-byte unsigned */
46 typedef long GLsizei;
47 #else
48 typedef int GLint;					/* 4-byte signed */
49 typedef unsigned int GLuint;		/* 4-byte unsigned */
50 typedef unsigned int GLenum;		/* 4-byte unsigned */
51 typedef unsigned int GLbitfield;	/* 4-byte unsigned */
52 typedef int GLsizei;
53 #endif
54 typedef unsigned char GLboolean;
55 typedef signed char GLbyte;			/* 1-byte signed */
56 typedef unsigned char GLubyte;		/* 1-byte unsigned */
57 typedef short GLshort;				/* 2-byte signed */
58 typedef unsigned short GLushort;	/* 2-byte unsigned */
59 typedef float GLfloat;				/* single precision float */
60 typedef float GLclampf;				/* single precision float in [0, 1] */
61 typedef double GLdouble;			/* double precision float */
62 typedef double GLclampd;			/* double precision float in [0, 1] */
63 typedef void GLvoid;
64 
65 
66 /* Boolean values */
67 #define GL_FALSE			0
68 #define GL_TRUE				1
69 
70 /* Data types */
71 #define GL_BYTE								0x1400
72 #define GL_UNSIGNED_BYTE					0x1401
73 #define GL_SHORT							0x1402
74 #define GL_UNSIGNED_SHORT					0x1403
75 #define GL_INT								0x1404
76 #define GL_UNSIGNED_INT						0x1405
77 #define GL_FLOAT							0x1406
78 #define GL_DOUBLE							0x140A
79 #define GL_2_BYTES							0x1407
80 #define GL_3_BYTES							0x1408
81 #define GL_4_BYTES							0x1409
82 
83 /* Primitives */
84 #define GL_LINES							0x0001
85 #define GL_POINTS							0x0000
86 #define GL_LINE_STRIP						0x0003
87 #define GL_LINE_LOOP						0x0002
88 #define GL_TRIANGLES						0x0004
89 #define GL_TRIANGLE_STRIP					0x0005
90 #define GL_TRIANGLE_FAN						0x0006
91 #define GL_QUADS							0x0007
92 #define GL_QUAD_STRIP						0x0008
93 #define GL_POLYGON							0x0009
94 #define GL_EDGE_FLAG						0x0B43
95 
96 /* Vertex Arrays */
97 #define GL_VERTEX_ARRAY						0x8074
98 #define GL_NORMAL_ARRAY						0x8075
99 #define GL_COLOR_ARRAY						0x8076
100 #define GL_INDEX_ARRAY						0x8077
101 #define GL_TEXTURE_COORD_ARRAY				0x8078
102 #define GL_EDGE_FLAG_ARRAY					0x8079
103 #define GL_VERTEX_ARRAY_SIZE				0x807A
104 #define GL_VERTEX_ARRAY_TYPE				0x807B
105 #define GL_VERTEX_ARRAY_STRIDE				0x807C
106 #define GL_VERTEX_ARRAY_COUNT				0x807D
107 #define GL_NORMAL_ARRAY_TYPE				0x807E
108 #define GL_NORMAL_ARRAY_STRIDE				0x807F
109 #define GL_NORMAL_ARRAY_COUNT				0x8080
110 #define GL_COLOR_ARRAY_SIZE					0x8081
111 #define GL_COLOR_ARRAY_TYPE					0x8082
112 #define GL_COLOR_ARRAY_STRIDE				0x8083
113 #define GL_COLOR_ARRAY_COUNT				0x8084
114 #define GL_INDEX_ARRAY_TYPE					0x8085
115 #define GL_INDEX_ARRAY_STRIDE				0x8086
116 #define GL_INDEX_ARRAY_COUNT				0x8087
117 #define GL_TEXTURE_COORD_ARRAY_SIZE			0x8088
118 #define GL_TEXTURE_COORD_ARRAY_TYPE			0x8089
119 #define GL_TEXTURE_COORD_ARRAY_STRIDE		0x808A
120 #define GL_TEXTURE_COORD_ARRAY_COUNT		0x808B
121 #define GL_EDGE_FLAG_ARRAY_STRIDE			0x808C
122 #define GL_EDGE_FLAG_ARRAY_COUNT			0x808D
123 #define GL_VERTEX_ARRAY_POINTER				0x808E
124 #define GL_NORMAL_ARRAY_POINTER				0x808F
125 #define GL_COLOR_ARRAY_POINTER				0x8090
126 #define GL_INDEX_ARRAY_POINTER				0x8091
127 #define GL_TEXTURE_COORD_ARRAY_POINTER		0x8092
128 #define GL_EDGE_FLAG_ARRAY_POINTER			0x8093
129 #define GL_V2F								0x2A20
130 #define GL_V3F								0x2A21
131 #define GL_C4UB_V2F							0x2A22
132 #define GL_C4UB_V3F							0x2A23
133 #define GL_C3F_V3F							0x2A24
134 #define GL_N3F_V3F							0x2A25
135 #define GL_C4F_N3F_V3F						0x2A26
136 #define GL_T2F_V3F							0x2A27
137 #define GL_T4F_V4F							0x2A28
138 #define GL_T2F_C4UB_V3F						0x2A29
139 #define GL_T2F_C3F_V3F						0x2A2A
140 #define GL_T2F_N3F_V3F						0x2A2B
141 #define GL_T2F_C4F_N3F_V3F					0x2A2C
142 #define GL_T4F_C4F_N3F_V4F					0x2A2D
143 
144 /* Matrix Mode */
145 #define GL_MATRIX_MODE						0x0BA0
146 #define GL_MODELVIEW						0x1700
147 #define GL_PROJECTION						0x1701
148 #define GL_TEXTURE							0x1702
149 
150 /* Points */
151 #define GL_POINT_SMOOTH						0x0B10
152 #define GL_POINT_SIZE						0x0B11
153 #define GL_POINT_SIZE_GRANULARITY 			0x0B13
154 #define GL_POINT_SIZE_RANGE					0x0B12
155 
156 /* Lines */
157 #define GL_LINE_SMOOTH						0x0B20
158 #define GL_LINE_STIPPLE						0x0B24
159 #define GL_LINE_STIPPLE_PATTERN				0x0B25
160 #define GL_LINE_STIPPLE_REPEAT				0x0B26
161 #define GL_LINE_WIDTH						0x0B21
162 #define GL_LINE_WIDTH_GRANULARITY			0x0B23
163 #define GL_LINE_WIDTH_RANGE					0x0B22
164 
165 /* Polygons */
166 #define GL_POINT							0x1B00
167 #define GL_LINE								0x1B01
168 #define GL_FILL								0x1B02
169 #define GL_CCW								0x0901
170 #define GL_CW								0x0900
171 #define GL_FRONT							0x0404
172 #define GL_BACK								0x0405
173 #define GL_CULL_FACE						0x0B44
174 #define GL_CULL_FACE_MODE					0x0B45
175 #define GL_POLYGON_SMOOTH					0x0B41
176 #define GL_POLYGON_STIPPLE					0x0B42
177 #define GL_FRONT_FACE						0x0B46
178 #define GL_POLYGON_MODE						0x0B40
179 #define GL_POLYGON_OFFSET_FACTOR			0x8038
180 #define GL_POLYGON_OFFSET_UNITS				0x2A00
181 #define GL_POLYGON_OFFSET_POINT				0x2A01
182 #define GL_POLYGON_OFFSET_LINE				0x2A02
183 #define GL_POLYGON_OFFSET_FILL				0x8037
184 
185 /* Display Lists */
186 #define GL_COMPILE							0x1300
187 #define GL_COMPILE_AND_EXECUTE				0x1301
188 #define GL_LIST_BASE						0x0B32
189 #define GL_LIST_INDEX						0x0B33
190 #define GL_LIST_MODE						0x0B30
191 
192 /* Depth buffer */
193 #define GL_NEVER							0x0200
194 #define GL_LESS								0x0201
195 #define GL_GEQUAL							0x0206
196 #define GL_LEQUAL							0x0203
197 #define GL_GREATER							0x0204
198 #define GL_NOTEQUAL							0x0205
199 #define GL_EQUAL							0x0202
200 #define GL_ALWAYS							0x0207
201 #define GL_DEPTH_TEST						0x0B71
202 #define GL_DEPTH_BITS						0x0D56
203 #define GL_DEPTH_CLEAR_VALUE				0x0B73
204 #define GL_DEPTH_FUNC						0x0B74
205 #define GL_DEPTH_RANGE						0x0B70
206 #define GL_DEPTH_WRITEMASK					0x0B72
207 #define GL_DEPTH_COMPONENT					0x1902
208 
209 /* Lighting */
210 #define GL_LIGHTING							0x0B50
211 #define GL_LIGHT0							0x4000
212 #define GL_LIGHT1							0x4001
213 #define GL_LIGHT2							0x4002
214 #define GL_LIGHT3							0x4003
215 #define GL_LIGHT4							0x4004
216 #define GL_LIGHT5							0x4005
217 #define GL_LIGHT6							0x4006
218 #define GL_LIGHT7							0x4007
219 #define GL_SPOT_EXPONENT					0x1205
220 #define GL_SPOT_CUTOFF						0x1206
221 #define GL_CONSTANT_ATTENUATION				0x1207
222 #define GL_LINEAR_ATTENUATION				0x1208
223 #define GL_QUADRATIC_ATTENUATION			0x1209
224 #define GL_AMBIENT							0x1200
225 #define GL_DIFFUSE							0x1201
226 #define GL_SPECULAR							0x1202
227 #define GL_SHININESS						0x1601
228 #define GL_EMISSION							0x1600
229 #define GL_POSITION							0x1203
230 #define GL_SPOT_DIRECTION					0x1204
231 #define GL_AMBIENT_AND_DIFFUSE				0x1602
232 #define GL_COLOR_INDEXES					0x1603
233 #define GL_LIGHT_MODEL_TWO_SIDE				0x0B52
234 #define GL_LIGHT_MODEL_LOCAL_VIEWER			0x0B51
235 #define GL_LIGHT_MODEL_AMBIENT				0x0B53
236 #define GL_FRONT_AND_BACK					0x0408
237 #define GL_SHADE_MODEL						0x0B54
238 #define GL_FLAT								0x1D00
239 #define GL_SMOOTH							0x1D01
240 #define GL_COLOR_MATERIAL					0x0B57
241 #define GL_COLOR_MATERIAL_FACE				0x0B55
242 #define GL_COLOR_MATERIAL_PARAMETER			0x0B56
243 #define GL_NORMALIZE						0x0BA1
244 
245 /* User clipping planes */
246 #define GL_CLIP_PLANE0						0x3000
247 #define GL_CLIP_PLANE1						0x3001
248 #define GL_CLIP_PLANE2						0x3002
249 #define GL_CLIP_PLANE3						0x3003
250 #define GL_CLIP_PLANE4						0x3004
251 #define GL_CLIP_PLANE5						0x3005
252 
253 /* Accumulation buffer */
254 #define GL_ACCUM_RED_BITS					0x0D58
255 #define GL_ACCUM_GREEN_BITS					0x0D59
256 #define GL_ACCUM_BLUE_BITS					0x0D5A
257 #define GL_ACCUM_ALPHA_BITS					0x0D5B
258 #define GL_ACCUM_CLEAR_VALUE				0x0B80
259 #define GL_ACCUM							0x0100
260 #define GL_ADD								0x0104
261 #define GL_LOAD								0x0101
262 #define GL_MULT								0x0103
263 #define GL_RETURN							0x0102
264 
265 /* Alpha testing */
266 #define GL_ALPHA_TEST						0x0BC0
267 #define GL_ALPHA_TEST_REF					0x0BC2
268 #define GL_ALPHA_TEST_FUNC					0x0BC1
269 
270 /* Blending */
271 #define GL_BLEND							0x0BE2
272 #define GL_BLEND_SRC						0x0BE1
273 #define GL_BLEND_DST						0x0BE0
274 #define GL_ZERO								0
275 #define GL_ONE								1
276 #define GL_SRC_COLOR						0x0300
277 #define GL_ONE_MINUS_SRC_COLOR				0x0301
278 #define GL_DST_COLOR						0x0306
279 #define GL_ONE_MINUS_DST_COLOR				0x0307
280 #define GL_SRC_ALPHA						0x0302
281 #define GL_ONE_MINUS_SRC_ALPHA				0x0303
282 #define GL_DST_ALPHA						0x0304
283 #define GL_ONE_MINUS_DST_ALPHA				0x0305
284 #define GL_SRC_ALPHA_SATURATE				0x0308
285 #define GL_CONSTANT_COLOR					0x8001
286 #define GL_ONE_MINUS_CONSTANT_COLOR			0x8002
287 #define GL_CONSTANT_ALPHA					0x8003
288 #define GL_ONE_MINUS_CONSTANT_ALPHA			0x8004
289 
290 /* Render Mode */
291 #define GL_FEEDBACK							0x1C01
292 #define GL_RENDER							0x1C00
293 #define GL_SELECT							0x1C02
294 
295 /* Feedback */
296 #define GL_2D								0x0600
297 #define GL_3D								0x0601
298 #define GL_3D_COLOR							0x0602
299 #define GL_3D_COLOR_TEXTURE					0x0603
300 #define GL_4D_COLOR_TEXTURE					0x0604
301 #define GL_POINT_TOKEN						0x0701
302 #define GL_LINE_TOKEN						0x0702
303 #define GL_LINE_RESET_TOKEN					0x0707
304 #define GL_POLYGON_TOKEN					0x0703
305 #define GL_BITMAP_TOKEN						0x0704
306 #define GL_DRAW_PIXEL_TOKEN					0x0705
307 #define GL_COPY_PIXEL_TOKEN					0x0706
308 #define GL_PASS_THROUGH_TOKEN				0x0700
309 #define GL_FEEDBACK_BUFFER_POINTER			0x0DF0
310 #define GL_FEEDBACK_BUFFER_SIZE				0x0DF1
311 #define GL_FEEDBACK_BUFFER_TYPE				0x0DF2
312 
313 /* Fog */
314 #define GL_FOG								0x0B60
315 #define GL_FOG_MODE							0x0B65
316 #define GL_FOG_DENSITY						0x0B62
317 #define GL_FOG_COLOR						0x0B66
318 #define GL_FOG_INDEX						0x0B61
319 #define GL_FOG_START						0x0B63
320 #define GL_FOG_END							0x0B64
321 #define GL_LINEAR							0x2601
322 #define GL_EXP								0x0800
323 #define GL_EXP2								0x0801
324 
325 /* Logic Ops */
326 #define GL_LOGIC_OP							0x0BF1
327 #define GL_INDEX_LOGIC_OP					0x0BF1
328 #define GL_COLOR_LOGIC_OP					0x0BF2
329 #define GL_LOGIC_OP_MODE					0x0BF0
330 #define GL_CLEAR							0x1500
331 #define GL_SET								0x150F
332 #define GL_COPY								0x1503
333 #define GL_COPY_INVERTED					0x150C
334 #define GL_NOOP								0x1505
335 #define GL_INVERT							0x150A
336 #define GL_AND								0x1501
337 #define GL_NAND								0x150E
338 #define GL_OR								0x1507
339 #define GL_NOR								0x1508
340 #define GL_XOR								0x1506
341 #define GL_EQUIV							0x1509
342 #define GL_AND_REVERSE						0x1502
343 #define GL_AND_INVERTED						0x1504
344 #define GL_OR_REVERSE						0x150B
345 #define GL_OR_INVERTED						0x150D
346 
347 /* Stencil */
348 #define GL_STENCIL_TEST						0x0B90
349 #define GL_STENCIL_WRITEMASK				0x0B98
350 #define GL_STENCIL_BITS						0x0D57
351 #define GL_STENCIL_FUNC						0x0B92
352 #define GL_STENCIL_VALUE_MASK				0x0B93
353 #define GL_STENCIL_REF						0x0B97
354 #define GL_STENCIL_FAIL						0x0B94
355 #define GL_STENCIL_PASS_DEPTH_PASS			0x0B96
356 #define GL_STENCIL_PASS_DEPTH_FAIL			0x0B95
357 #define GL_STENCIL_CLEAR_VALUE				0x0B91
358 #define GL_STENCIL_INDEX					0x1901
359 #define GL_KEEP								0x1E00
360 #define GL_REPLACE							0x1E01
361 #define GL_INCR								0x1E02
362 #define GL_DECR								0x1E03
363 
364 /* Buffers, Pixel Drawing/Reading */
365 #define GL_NONE								0
366 #define GL_LEFT								0x0406
367 #define GL_RIGHT							0x0407
368 #define GL_FRONT_LEFT						0x0400
369 #define GL_FRONT_RIGHT						0x0401
370 #define GL_BACK_LEFT						0x0402
371 #define GL_BACK_RIGHT						0x0403
372 #define GL_AUX0								0x0409
373 #define GL_AUX1								0x040A
374 #define GL_AUX2								0x040B
375 #define GL_AUX3								0x040C
376 #define GL_COLOR_INDEX						0x1900
377 #define GL_RED								0x1903
378 #define GL_GREEN							0x1904
379 #define GL_BLUE								0x1905
380 #define GL_ALPHA							0x1906
381 #define GL_LUMINANCE						0x1909
382 #define GL_LUMINANCE_ALPHA					0x190A
383 #define GL_ALPHA_BITS						0x0D55
384 #define GL_RED_BITS							0x0D52
385 #define GL_GREEN_BITS						0x0D53
386 #define GL_BLUE_BITS						0x0D54
387 #define GL_INDEX_BITS						0x0D51
388 #define GL_SUBPIXEL_BITS					0x0D50
389 #define GL_AUX_BUFFERS						0x0C00
390 #define GL_READ_BUFFER						0x0C02
391 #define GL_DRAW_BUFFER						0x0C01
392 #define GL_DOUBLEBUFFER						0x0C32
393 #define GL_STEREO							0x0C33
394 #define GL_BITMAP							0x1A00
395 #define GL_COLOR							0x1800
396 #define GL_DEPTH							0x1801
397 #define GL_STENCIL							0x1802
398 #define GL_DITHER							0x0BD0
399 #define GL_RGB								0x1907
400 #define GL_RGBA								0x1908
401 
402 /* Implementation limits */
403 #define GL_MAX_LIST_NESTING					0x0B31
404 #define GL_MAX_ATTRIB_STACK_DEPTH			0x0D35
405 #define GL_MAX_MODELVIEW_STACK_DEPTH		0x0D36
406 #define GL_MAX_NAME_STACK_DEPTH				0x0D37
407 #define GL_MAX_PROJECTION_STACK_DEPTH		0x0D38
408 #define GL_MAX_TEXTURE_STACK_DEPTH			0x0D39
409 #define GL_MAX_EVAL_ORDER					0x0D30
410 #define GL_MAX_LIGHTS						0x0D31
411 #define GL_MAX_CLIP_PLANES					0x0D32
412 #define GL_MAX_TEXTURE_SIZE					0x0D33
413 #define GL_MAX_PIXEL_MAP_TABLE				0x0D34
414 #define GL_MAX_VIEWPORT_DIMS				0x0D3A
415 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH	0x0D3B
416 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH     0x80B3
417 
418 /* Gets */
419 #define GL_ATTRIB_STACK_DEPTH				0x0BB0
420 #define GL_CLIENT_ATTRIB_STACK_DEPTH		0x0BB1
421 #define GL_COLOR_CLEAR_VALUE				0x0C22
422 #define GL_COLOR_WRITEMASK					0x0C23
423 #define GL_CURRENT_INDEX					0x0B01
424 #define GL_CURRENT_COLOR					0x0B00
425 #define GL_CURRENT_NORMAL					0x0B02
426 #define GL_CURRENT_RASTER_COLOR				0x0B04
427 #define GL_CURRENT_RASTER_DISTANCE			0x0B09
428 #define GL_CURRENT_RASTER_INDEX				0x0B05
429 #define GL_CURRENT_RASTER_POSITION			0x0B07
430 #define GL_CURRENT_RASTER_TEXTURE_COORDS	0x0B06
431 #define GL_CURRENT_RASTER_POSITION_VALID	0x0B08
432 #define GL_CURRENT_TEXTURE_COORDS			0x0B03
433 #define GL_INDEX_CLEAR_VALUE				0x0C20
434 #define GL_INDEX_MODE						0x0C30
435 #define GL_INDEX_WRITEMASK					0x0C21
436 #define GL_MODELVIEW_MATRIX					0x0BA6
437 #define GL_MODELVIEW_STACK_DEPTH			0x0BA3
438 #define GL_NAME_STACK_DEPTH					0x0D70
439 #define GL_PROJECTION_MATRIX				0x0BA7
440 #define GL_PROJECTION_STACK_DEPTH			0x0BA4
441 #define GL_RENDER_MODE						0x0C40
442 #define GL_RGBA_MODE						0x0C31
443 #define GL_TEXTURE_MATRIX					0x0BA8
444 #define GL_TEXTURE_STACK_DEPTH				0x0BA5
445 #define GL_VIEWPORT							0x0BA2
446 #define GL_COLOR_MATRIX                     0x80B1
447 #define GL_COLOR_MATRIX_STACK_DEPTH         0x80B2
448 
449 
450 /* Evaluators */
451 #define GL_AUTO_NORMAL						0x0D80
452 #define GL_MAP1_COLOR_4						0x0D90
453 #define GL_MAP1_GRID_DOMAIN					0x0DD0
454 #define GL_MAP1_GRID_SEGMENTS				0x0DD1
455 #define GL_MAP1_INDEX						0x0D91
456 #define GL_MAP1_NORMAL						0x0D92
457 #define GL_MAP1_TEXTURE_COORD_1				0x0D93
458 #define GL_MAP1_TEXTURE_COORD_2				0x0D94
459 #define GL_MAP1_TEXTURE_COORD_3				0x0D95
460 #define GL_MAP1_TEXTURE_COORD_4				0x0D96
461 #define GL_MAP1_VERTEX_3					0x0D97
462 #define GL_MAP1_VERTEX_4					0x0D98
463 #define GL_MAP2_COLOR_4						0x0DB0
464 #define GL_MAP2_GRID_DOMAIN					0x0DD2
465 #define GL_MAP2_GRID_SEGMENTS				0x0DD3
466 #define GL_MAP2_INDEX						0x0DB1
467 #define GL_MAP2_NORMAL						0x0DB2
468 #define GL_MAP2_TEXTURE_COORD_1				0x0DB3
469 #define GL_MAP2_TEXTURE_COORD_2				0x0DB4
470 #define GL_MAP2_TEXTURE_COORD_3				0x0DB5
471 #define GL_MAP2_TEXTURE_COORD_4				0x0DB6
472 #define GL_MAP2_VERTEX_3					0x0DB7
473 #define GL_MAP2_VERTEX_4					0x0DB8
474 #define GL_COEFF							0x0A00
475 #define GL_DOMAIN							0x0A02
476 #define GL_ORDER							0x0A01
477 
478 /* Hints */
479 #define GL_FOG_HINT							0x0C54
480 #define GL_LINE_SMOOTH_HINT					0x0C52
481 #define GL_PERSPECTIVE_CORRECTION_HINT		0x0C50
482 #define GL_POINT_SMOOTH_HINT				0x0C51
483 #define GL_POLYGON_SMOOTH_HINT				0x0C53
484 #define GL_DONT_CARE						0x1100
485 #define GL_FASTEST							0x1101
486 #define GL_NICEST							0x1102
487 
488 /* Scissor box */
489 #define GL_SCISSOR_TEST						0x0C11
490 #define GL_SCISSOR_BOX						0x0C10
491 
492 /* Pixel Mode / Transfer */
493 #define GL_MAP_COLOR						0x0D10
494 #define GL_MAP_STENCIL						0x0D11
495 #define GL_INDEX_SHIFT						0x0D12
496 #define GL_INDEX_OFFSET						0x0D13
497 #define GL_RED_SCALE						0x0D14
498 #define GL_RED_BIAS							0x0D15
499 #define GL_GREEN_SCALE						0x0D18
500 #define GL_GREEN_BIAS						0x0D19
501 #define GL_BLUE_SCALE						0x0D1A
502 #define GL_BLUE_BIAS						0x0D1B
503 #define GL_ALPHA_SCALE						0x0D1C
504 #define GL_ALPHA_BIAS						0x0D1D
505 #define GL_DEPTH_SCALE						0x0D1E
506 #define GL_DEPTH_BIAS						0x0D1F
507 #define GL_PIXEL_MAP_S_TO_S_SIZE			0x0CB1
508 #define GL_PIXEL_MAP_I_TO_I_SIZE			0x0CB0
509 #define GL_PIXEL_MAP_I_TO_R_SIZE			0x0CB2
510 #define GL_PIXEL_MAP_I_TO_G_SIZE			0x0CB3
511 #define GL_PIXEL_MAP_I_TO_B_SIZE			0x0CB4
512 #define GL_PIXEL_MAP_I_TO_A_SIZE			0x0CB5
513 #define GL_PIXEL_MAP_R_TO_R_SIZE			0x0CB6
514 #define GL_PIXEL_MAP_G_TO_G_SIZE			0x0CB7
515 #define GL_PIXEL_MAP_B_TO_B_SIZE			0x0CB8
516 #define GL_PIXEL_MAP_A_TO_A_SIZE			0x0CB9
517 #define GL_PIXEL_MAP_S_TO_S					0x0C71
518 #define GL_PIXEL_MAP_I_TO_I					0x0C70
519 #define GL_PIXEL_MAP_I_TO_R					0x0C72
520 #define GL_PIXEL_MAP_I_TO_G					0x0C73
521 #define GL_PIXEL_MAP_I_TO_B					0x0C74
522 #define GL_PIXEL_MAP_I_TO_A					0x0C75
523 #define GL_PIXEL_MAP_R_TO_R					0x0C76
524 #define GL_PIXEL_MAP_G_TO_G					0x0C77
525 #define GL_PIXEL_MAP_B_TO_B					0x0C78
526 #define GL_PIXEL_MAP_A_TO_A					0x0C79
527 #define GL_PACK_ALIGNMENT					0x0D05
528 #define GL_PACK_LSB_FIRST					0x0D01
529 #define GL_PACK_ROW_LENGTH					0x0D02
530 #define GL_PACK_SKIP_PIXELS					0x0D04
531 #define GL_PACK_SKIP_ROWS					0x0D03
532 #define GL_PACK_SWAP_BYTES					0x0D00
533 #define GL_UNPACK_ALIGNMENT					0x0CF5
534 #define GL_UNPACK_LSB_FIRST					0x0CF1
535 #define GL_UNPACK_ROW_LENGTH				0x0CF2
536 #define GL_UNPACK_SKIP_PIXELS				0x0CF4
537 #define GL_UNPACK_SKIP_ROWS					0x0CF3
538 #define GL_UNPACK_SWAP_BYTES				0x0CF0
539 #define GL_ZOOM_X							0x0D16
540 #define GL_ZOOM_Y							0x0D17
541 
542 /* Texture mapping */
543 #define GL_TEXTURE_ENV						0x2300
544 #define GL_TEXTURE_ENV_MODE					0x2200
545 #define GL_TEXTURE_1D						0x0DE0
546 #define GL_TEXTURE_2D						0x0DE1
547 #define GL_TEXTURE_WRAP_S					0x2802
548 #define GL_TEXTURE_WRAP_T					0x2803
549 #define GL_TEXTURE_MAG_FILTER				0x2800
550 #define GL_TEXTURE_MIN_FILTER				0x2801
551 #define GL_TEXTURE_ENV_COLOR				0x2201
552 #define GL_TEXTURE_GEN_S					0x0C60
553 #define GL_TEXTURE_GEN_T					0x0C61
554 #define GL_TEXTURE_GEN_MODE					0x2500
555 #define GL_TEXTURE_BORDER_COLOR				0x1004
556 #define GL_TEXTURE_WIDTH					0x1000
557 #define GL_TEXTURE_HEIGHT					0x1001
558 #define GL_TEXTURE_BORDER					0x1005
559 #define GL_TEXTURE_COMPONENTS				0x1003
560 #define GL_TEXTURE_RED_SIZE					0x805C
561 #define GL_TEXTURE_GREEN_SIZE				0x805D
562 #define GL_TEXTURE_BLUE_SIZE				0x805E
563 #define GL_TEXTURE_ALPHA_SIZE				0x805F
564 #define GL_TEXTURE_LUMINANCE_SIZE			0x8060
565 #define GL_TEXTURE_INTENSITY_SIZE			0x8061
566 #define GL_NEAREST_MIPMAP_NEAREST			0x2700
567 #define GL_NEAREST_MIPMAP_LINEAR			0x2702
568 #define GL_LINEAR_MIPMAP_NEAREST			0x2701
569 #define GL_LINEAR_MIPMAP_LINEAR				0x2703
570 #define GL_OBJECT_LINEAR					0x2401
571 #define GL_OBJECT_PLANE						0x2501
572 #define GL_EYE_LINEAR						0x2400
573 #define GL_EYE_PLANE						0x2502
574 #define GL_SPHERE_MAP						0x2402
575 #define GL_DECAL							0x2101
576 #define GL_MODULATE							0x2100
577 #define GL_NEAREST							0x2600
578 #define GL_REPEAT							0x2901
579 #define GL_CLAMP							0x2900
580 #define GL_S								0x2000
581 #define GL_T								0x2001
582 #define GL_R								0x2002
583 #define GL_Q								0x2003
584 #define GL_TEXTURE_GEN_R					0x0C62
585 #define GL_TEXTURE_GEN_Q					0x0C63
586 
587 #define GL_PROXY_TEXTURE_1D					0x8063
588 #define GL_PROXY_TEXTURE_2D					0x8064
589 #define GL_TEXTURE_PRIORITY					0x8066
590 #define GL_TEXTURE_RESIDENT					0x8067
591 #define GL_TEXTURE_BINDING_1D				0x8068
592 #define GL_TEXTURE_BINDING_2D				0x8069
593 
594 /* Internal texture formats */
595 #define GL_ALPHA4							0x803B
596 #define GL_ALPHA8							0x803C
597 #define GL_ALPHA12							0x803D
598 #define GL_ALPHA16							0x803E
599 #define GL_LUMINANCE4						0x803F
600 #define GL_LUMINANCE8						0x8040
601 #define GL_LUMINANCE12						0x8041
602 #define GL_LUMINANCE16						0x8042
603 #define GL_LUMINANCE4_ALPHA4				0x8043
604 #define GL_LUMINANCE6_ALPHA2				0x8044
605 #define GL_LUMINANCE8_ALPHA8				0x8045
606 #define GL_LUMINANCE12_ALPHA4				0x8046
607 #define GL_LUMINANCE12_ALPHA12				0x8047
608 #define GL_LUMINANCE16_ALPHA16				0x8048
609 #define GL_INTENSITY						0x8049
610 #define GL_INTENSITY4						0x804A
611 #define GL_INTENSITY8						0x804B
612 #define GL_INTENSITY12						0x804C
613 #define GL_INTENSITY16						0x804D
614 #define GL_R3_G3_B2							0x2A10
615 #define GL_RGB4								0x804F
616 #define GL_RGB5								0x8050
617 #define GL_RGB8								0x8051
618 #define GL_RGB10							0x8052
619 #define GL_RGB12							0x8053
620 #define GL_RGB16							0x8054
621 #define GL_RGBA2							0x8055
622 #define GL_RGBA4							0x8056
623 #define GL_RGB5_A1							0x8057
624 #define GL_RGBA8							0x8058
625 #define GL_RGB10_A2							0x8059
626 #define GL_RGBA12							0x805A
627 #define GL_RGBA16							0x805B
628 
629 /* Utility */
630 #define GL_VENDOR							0x1F00
631 #define GL_RENDERER							0x1F01
632 #define GL_VERSION							0x1F02
633 #define GL_EXTENSIONS						0x1F03
634 
635 /* Errors */
636 #define GL_NO_ERROR                         0
637 #define GL_INVALID_VALUE					0x0501
638 #define GL_INVALID_ENUM						0x0500
639 #define GL_INVALID_OPERATION				0x0502
640 #define GL_STACK_OVERFLOW					0x0503
641 #define GL_STACK_UNDERFLOW					0x0504
642 #define GL_OUT_OF_MEMORY					0x0505
643 
644 /*
645  * 1.0 Extensions
646  */
647     /* GL_EXT_blend_minmax and GL_EXT_blend_color */
648 #define GL_CONSTANT_COLOR_EXT				0x8001
649 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT		0x8002
650 #define GL_CONSTANT_ALPHA_EXT				0x8003
651 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT		0x8004
652 #define GL_BLEND_EQUATION_EXT				0x8009
653 #define GL_MIN_EXT							0x8007
654 #define GL_MAX_EXT							0x8008
655 #define GL_FUNC_ADD_EXT						0x8006
656 #define GL_FUNC_SUBTRACT_EXT				0x800A
657 #define GL_FUNC_REVERSE_SUBTRACT_EXT		0x800B
658 #define GL_BLEND_COLOR_EXT					0x8005
659 
660 /* GL_EXT_polygon_offset */
661 #define GL_POLYGON_OFFSET_EXT				0x8037
662 #define GL_POLYGON_OFFSET_FACTOR_EXT		0x8038
663 #define GL_POLYGON_OFFSET_BIAS_EXT			0x8039
664 
665 /* GL_EXT_vertex_array */
666 #define GL_VERTEX_ARRAY_EXT					0x8074
667 #define GL_NORMAL_ARRAY_EXT					0x8075
668 #define GL_COLOR_ARRAY_EXT					0x8076
669 #define GL_INDEX_ARRAY_EXT					0x8077
670 #define GL_TEXTURE_COORD_ARRAY_EXT			0x8078
671 #define GL_EDGE_FLAG_ARRAY_EXT				0x8079
672 #define GL_VERTEX_ARRAY_SIZE_EXT			0x807A
673 #define GL_VERTEX_ARRAY_TYPE_EXT			0x807B
674 #define GL_VERTEX_ARRAY_STRIDE_EXT			0x807C
675 #define GL_VERTEX_ARRAY_COUNT_EXT			0x807D
676 #define GL_NORMAL_ARRAY_TYPE_EXT			0x807E
677 #define GL_NORMAL_ARRAY_STRIDE_EXT			0x807F
678 #define GL_NORMAL_ARRAY_COUNT_EXT			0x8080
679 #define GL_COLOR_ARRAY_SIZE_EXT				0x8081
680 #define GL_COLOR_ARRAY_TYPE_EXT				0x8082
681 #define GL_COLOR_ARRAY_STRIDE_EXT			0x8083
682 #define GL_COLOR_ARRAY_COUNT_EXT			0x8084
683 #define GL_INDEX_ARRAY_TYPE_EXT				0x8085
684 #define GL_INDEX_ARRAY_STRIDE_EXT			0x8086
685 #define GL_INDEX_ARRAY_COUNT_EXT			0x8087
686 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT		0x8088
687 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT		0x8089
688 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT	0x808A
689 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT	0x808B
690 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT		0x808C
691 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT		0x808D
692 #define GL_VERTEX_ARRAY_POINTER_EXT			0x808E
693 #define GL_NORMAL_ARRAY_POINTER_EXT			0x808F
694 #define GL_COLOR_ARRAY_POINTER_EXT			0x8090
695 #define GL_INDEX_ARRAY_POINTER_EXT			0x8091
696 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT	0x8092
697 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT		0x8093
698 
699 /* GL_EXT_texture_object */
700 #define GL_TEXTURE_PRIORITY_EXT				0x8066
701 #define GL_TEXTURE_RESIDENT_EXT				0x8067
702 #define GL_TEXTURE_1D_BINDING_EXT			0x8068
703 #define GL_TEXTURE_2D_BINDING_EXT			0x8069
704 
705 /* GL_EXT_texture3D */
706 #define GL_PACK_SKIP_IMAGES_EXT				0x806B
707 #define GL_PACK_IMAGE_HEIGHT_EXT			0x806C
708 #define GL_UNPACK_SKIP_IMAGES_EXT			0x806D
709 #define GL_UNPACK_IMAGE_HEIGHT_EXT			0x806E
710 #define GL_TEXTURE_3D_EXT					0x806F
711 #define GL_PROXY_TEXTURE_3D_EXT				0x8070
712 #define GL_TEXTURE_DEPTH_EXT				0x8071
713 #define GL_TEXTURE_WRAP_R_EXT				0x8072
714 #define GL_MAX_3D_TEXTURE_SIZE_EXT			0x8073
715 #define GL_TEXTURE_3D_BINDING_EXT			0x806A
716 
717 /* GL_EXT_paletted_texture */
718 #define GL_TABLE_TOO_LARGE_EXT				0x8031
719 #define GL_COLOR_TABLE_FORMAT_EXT			0x80D8
720 #define GL_COLOR_TABLE_WIDTH_EXT			0x80D9
721 #define GL_COLOR_TABLE_RED_SIZE_EXT			0x80DA
722 #define GL_COLOR_TABLE_GREEN_SIZE_EXT		0x80DB
723 #define GL_COLOR_TABLE_BLUE_SIZE_EXT		0x80DC
724 #define GL_COLOR_TABLE_ALPHA_SIZE_EXT	 	0x80DD
725 #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT	0x80DE
726 #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT	0x80DF
727 #define GL_TEXTURE_INDEX_SIZE_EXT			0x80ED
728 #define GL_COLOR_INDEX1_EXT					0x80E2
729 #define GL_COLOR_INDEX2_EXT					0x80E3
730 #define GL_COLOR_INDEX4_EXT					0x80E4
731 #define GL_COLOR_INDEX8_EXT					0x80E5
732 #define GL_COLOR_INDEX12_EXT				0x80E6
733 #define GL_COLOR_INDEX16_EXT				0x80E7
734 
735 /* GL_EXT_shared_texture_palette */
736 #define GL_SHARED_TEXTURE_PALETTE_EXT		0x81FB
737 
738 #if 0
739 /* GL_SGIS_texture_lod */
740 #define GL_TEXTURE_MIN_LOD_SGIS				0x813A
741 #define GL_TEXTURE_MAX_LOD_SGIS				0x813B
742 #define GL_TEXTURE_BASE_LEVEL_SGIS			0x813C
743 #define GL_TEXTURE_MAX_LEVEL_SGIS			0x813D
744 #endif
745 
746 /* GL_EXT_point_parameters */
747 #define GL_POINT_SIZE_MIN_EXT				0x8126
748 #define GL_POINT_SIZE_MAX_EXT				0x8127
749 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT	0x8128
750 #define GL_DISTANCE_ATTENUATION_EXT			0x8129
751 
752 
753 #define GL_CURRENT_BIT				0x00000001L
754 #define GL_POINT_BIT				0x00000002L
755 #define GL_LINE_BIT					0x00000004L
756 #define GL_POLYGON_BIT				0x00000008L
757 #define GL_POLYGON_STIPPLE_BIT		0x00000010L
758 #define GL_PIXEL_MODE_BIT			0x00000020L
759 #define GL_LIGHTING_BIT				0x00000040L
760 #define GL_FOG_BIT					0x00000080L
761 #define GL_DEPTH_BUFFER_BIT			0x00000100L
762 #define GL_ACCUM_BUFFER_BIT			0x00000200L
763 #define GL_STENCIL_BUFFER_BIT		0x00000400L
764 #define GL_VIEWPORT_BIT				0x00000800L
765 #define GL_TRANSFORM_BIT			0x00001000L
766 #define GL_ENABLE_BIT				0x00002000L
767 #define GL_COLOR_BUFFER_BIT			0x00004000L
768 #define GL_HINT_BIT					0x00008000L
769 #define GL_EVAL_BIT					0x00010000L
770 #define GL_LIST_BIT					0x00020000L
771 #define GL_TEXTURE_BIT				0x00040000L
772 #define GL_SCISSOR_BIT				0x00080000L
773 #define GL_ALL_ATTRIB_BITS			0x000fffffL
774 
775 #define GL_CLIENT_PIXEL_STORE_BIT	0x00000001L
776 #define GL_CLIENT_VERTEX_ARRAY_BIT	0x00000002L
777 #define GL_CLIENT_ALL_ATTRIB_BITS	0x0000FFFFL
778 
779 
780 GLAPI void GLAPIENTRY glEnable(GLenum cap);
781 GLAPI void GLAPIENTRY glDisable(GLenum cap);
782 
783 GLAPI void GLAPIENTRY glShadeModel(GLenum mode);
784 GLAPI void GLAPIENTRY glCullFace(GLenum mode);
785 GLAPI void GLAPIENTRY glPolygonMode(GLenum face, GLenum mode);
786 
787 GLAPI void GLAPIENTRY glBegin(GLenum mode);
788 GLAPI void GLAPIENTRY glEnd(void);
789 
790 GLAPI void GLAPIENTRY glVertex2f(GLfloat x, GLfloat y);
791 GLAPI void GLAPIENTRY glVertex2d(GLdouble x, GLdouble y);
792 GLAPI void GLAPIENTRY glVertex2fv(const GLfloat *v);
793 GLAPI void GLAPIENTRY glVertex2dv(const GLdouble *v);
794 
795 GLAPI void GLAPIENTRY glVertex3f(GLfloat x, GLfloat y, GLfloat z);
796 GLAPI void GLAPIENTRY glVertex3d(GLdouble x, GLdouble y, GLdouble z);
797 GLAPI void GLAPIENTRY glVertex3fv(const GLfloat *v);
798 GLAPI void GLAPIENTRY glVertex3dv(const GLdouble *v);
799 
800 GLAPI void GLAPIENTRY glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
801 GLAPI void GLAPIENTRY glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
802 GLAPI void GLAPIENTRY glVertex4fv(const GLfloat *v);
803 GLAPI void GLAPIENTRY glVertex4dv(const GLdouble *v);
804 
805 GLAPI void GLAPIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue);
806 GLAPI void GLAPIENTRY glColor3d(GLdouble red, GLdouble green, GLdouble blue);
807 GLAPI void GLAPIENTRY glColor3fv(const GLfloat *v);
808 GLAPI void GLAPIENTRY glColor3dv(const GLdouble *v);
809 
810 GLAPI void GLAPIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
811 GLAPI void GLAPIENTRY glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
812 GLAPI void GLAPIENTRY glColor4fv(const GLfloat *v);
813 GLAPI void GLAPIENTRY glColor4dv(const GLdouble *v);
814 
815 GLAPI void GLAPIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
816 GLAPI void GLAPIENTRY glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
817 GLAPI void GLAPIENTRY glNormal3fv(const GLfloat *v);
818 GLAPI void GLAPIENTRY glNormal3dv(const GLdouble *v);
819 
820 GLAPI void GLAPIENTRY glTexCoord1f(GLfloat s);
821 GLAPI void GLAPIENTRY glTexCoord1d(GLdouble s);
822 GLAPI void GLAPIENTRY glTexCoord1fv(const GLfloat *v);
823 GLAPI void GLAPIENTRY glTexCoord1dv(const GLdouble *v);
824 
825 GLAPI void GLAPIENTRY glTexCoord2f(GLfloat s, GLfloat t);
826 GLAPI void GLAPIENTRY glTexCoord2d(GLdouble s, GLdouble t);
827 GLAPI void GLAPIENTRY glTexCoord2fv(const GLfloat *v);
828 GLAPI void GLAPIENTRY glTexCoord2dv(const GLdouble *v);
829 
830 GLAPI void GLAPIENTRY glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
831 GLAPI void GLAPIENTRY glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
832 GLAPI void GLAPIENTRY glTexCoord3fv(const GLfloat *v);
833 GLAPI void GLAPIENTRY glTexCoord3dv(const GLdouble *v);
834 
835 GLAPI void GLAPIENTRY glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
836 GLAPI void GLAPIENTRY glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
837 GLAPI void GLAPIENTRY glTexCoord4fv(const GLfloat *v);
838 GLAPI void GLAPIENTRY glTexCoord4dv(const GLdouble *v);
839 
840 GLAPI void GLAPIENTRY glEdgeFlag(GLboolean flag);
841 
842 /* matrix */
843 GLAPI void GLAPIENTRY glMatrixMode(GLenum mode);
844 GLAPI void GLAPIENTRY glLoadMatrixf(const GLfloat *m);
845 GLAPI void GLAPIENTRY glLoadIdentity(void);
846 GLAPI void GLAPIENTRY glMultMatrixf(const GLfloat *m);
847 GLAPI void GLAPIENTRY glPushMatrix(void);
848 GLAPI void GLAPIENTRY glPopMatrix(void);
849 GLAPI void GLAPIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
850 GLAPI void GLAPIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z);
851 GLAPI void GLAPIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z);
852 
853 GLAPI void GLAPIENTRY glViewport(GLint x, GLint y, GLint width, GLint height);
854 GLAPI void GLAPIENTRY glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val);
855 GLAPI void GLAPIENTRY glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val);
856 
857 /* lists */
858 GLAPI GLuint GLAPIENTRY glGenLists(GLsizei range);
859 GLAPI GLboolean GLAPIENTRY glIsList(GLuint list);
860 GLAPI void GLAPIENTRY glNewList(GLuint list, GLenum mode);
861 GLAPI void GLAPIENTRY glEndList(void);
862 GLAPI void GLAPIENTRY glCallList(GLuint list);
863 GLAPI void GLAPIENTRY glDeleteLists(GLuint list, GLsizei range);
864 
865 /* clear */
866 GLAPI void GLAPIENTRY glClear(GLbitfield mask);
867 GLAPI void GLAPIENTRY glClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
868 GLAPI void GLAPIENTRY glClearDepth(GLdouble depth);
869 GLAPI void GLAPIENTRY glClearDepthf(GLfloat depth);
870 
871 /* selection */
872 GLAPI GLint GLAPIENTRY glRenderMode(GLenum mode);
873 GLAPI void GLAPIENTRY glSelectBuffer(GLsizei size, GLuint *buf);
874 
875 GLAPI void GLAPIENTRY glInitNames(void);
876 GLAPI void GLAPIENTRY glPushName(GLuint name);
877 GLAPI void GLAPIENTRY glPopName(void);
878 GLAPI void GLAPIENTRY glLoadName(GLuint name);
879 
880 /* textures */
881 GLAPI void GLAPIENTRY glGenTextures(GLsizei n, GLuint *textures);
882 GLAPI void GLAPIENTRY glDeleteTextures(GLsizei n, const GLuint *textures);
883 GLAPI void GLAPIENTRY glBindTexture(GLenum target, GLuint texture);
884 GLAPI void GLAPIENTRY glTexImage2D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
885 GLAPI void GLAPIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param);
886 GLAPI void GLAPIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param);
887 GLAPI void GLAPIENTRY glPixelStorei(GLenum pname, GLint param);
888 
889 /* lighting */
890 
891 GLAPI void GLAPIENTRY glMaterialfv(GLenum face, GLenum pname, const GLfloat *v);
892 GLAPI void GLAPIENTRY glMaterialf(GLenum mode, GLenum pname, GLfloat v);
893 GLAPI void GLAPIENTRY glColorMaterial(GLenum face, GLenum mode);
894 
895 GLAPI void GLAPIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *v);
896 GLAPI void GLAPIENTRY glLightf(GLenum light, GLenum pname, GLfloat v);
897 GLAPI void GLAPIENTRY glLightModeli(GLenum pname, GLint param);
898 GLAPI void GLAPIENTRY glLightModelfv(GLenum pname, const GLfloat *param);
899 
900 /* misc */
901 
902 GLAPI void GLAPIENTRY glFlush(void);
903 GLAPI void GLAPIENTRY glHint(GLenum target, GLenum mode);
904 GLAPI void GLAPIENTRY glGetIntegerv(GLenum pname, GLint *params);
905 GLAPI void GLAPIENTRY glGetFloatv(GLenum pname, GLfloat *v);
906 GLAPI void GLAPIENTRY glFrontFace(GLenum mode);
907 
908 /* opengl 1.2 arrays */
909 GLAPI void GLAPIENTRY glEnableClientState(GLenum array);
910 GLAPI void GLAPIENTRY glDisableClientState(GLenum array);
911 GLAPI void GLAPIENTRY glArrayElement(GLint i);
912 GLAPI void GLAPIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
913 GLAPI void GLAPIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
914 GLAPI void GLAPIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
915 GLAPI void GLAPIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
916 
917 /* opengl 1.2 polygon offset */
918 GLAPI void GLAPIENTRY glPolygonOffset(GLfloat factor, GLfloat units);
919 
920 #endif /* GL_VERSION_1_1 */
921 
922 #ifndef GL_VERSION_1_5
923 #ifndef __GLintptr_defined
924 #include <stddef.h>
925 #ifdef __APPLE__
926 typedef intptr_t GLsizeiptr;
927 typedef intptr_t GLintptr;
928 #else
929 typedef ptrdiff_t GLsizeiptr;
930 typedef ptrdiff_t GLintptr;
931 #endif
932 #define __GLintptr_defined
933 #endif
934 #endif
935 
936 #ifdef __NFOSMESA_H__
937 #include <GL/glext.h>
938 #endif
939 
940 #ifndef GL_VERSION_2_0
941 #define GL_VERSION_2_0 1
942 typedef char GLchar;
943 #endif
944 
945 #ifndef GL_ARB_vertex_buffer_object
946 #define GL_ARB_vertex_buffer_object 1
947 #ifdef __APPLE__
948 typedef intptr_t GLsizeiptrARB;
949 typedef intptr_t GLintptrARB;
950 #else
951 typedef ptrdiff_t GLsizeiptrARB;
952 typedef ptrdiff_t GLintptrARB;
953 #endif
954 #endif
955 
956 #ifndef GL_NV_half_float
957 #define GL_NV_half_float 1
958 typedef unsigned short GLhalfNV;
959 #endif
960 
961 #ifndef GL_NV_vdpau_interop
962 #define GL_NV_vdpau_interop 1
963 typedef GLintptr GLvdpauSurfaceNV;
964 #endif
965 
966 #ifndef GL_ARB_cl_event
967 #define GL_ARB_cl_event 1
968 #ifdef __PUREC__
969 struct _cl_context { int dummy; };
970 struct _cl_event { int dummy; };
971 #else
972 struct _cl_context;
973 struct _cl_event;
974 #endif
975 #endif
976 
977 #if !defined(GL_ARB_sync) && !defined(__TINY_GL_H__)
978 #define GL_ARB_sync 1
979 #if defined(__GNUC__) || (defined(LLONG_MAX) && LLONG_MAX > 2147483647L)
980 typedef int64_t GLint64;
981 typedef uint64_t GLuint64;
982 #else
983 typedef struct { long hi; unsigned long lo; } GLint64;
984 typedef struct { unsigned long hi; unsigned long lo; } GLuint64;
985 #endif
986 #ifdef __PUREC__
987 struct __GLsync { int dummy; };
988 #endif
989 typedef struct __GLsync *GLsync;
990 #endif
991 
992 #if !defined(GL_EXT_timer_query) && !defined(__TINY_GL_H__)
993 #define GL_EXT_timer_query 1
994 typedef GLint64 GLint64EXT;
995 typedef GLuint64 GLuint64EXT;
996 #endif
997 
998 #ifndef GL_OES_fixed_point
999 #define GL_OES_fixed_point 1
1000 typedef GLint GLfixed;
1001 #endif
1002 
1003 #ifndef GL_ARB_shader_objects
1004 #define GL_ARB_shader_objects 1
1005 typedef char GLcharARB;
1006 #ifdef __APPLE__
1007 typedef void *GLhandleARB;
1008 #else
1009 typedef GLuint GLhandleARB;
1010 #endif
1011 #endif
1012 
1013 #ifndef GL_KHR_debug
1014 #define GL_KHR_debug 1
1015 typedef void CALLBACK (*GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam);
1016 #endif
1017 #ifndef GL_ARB_debug_output
1018 #define GL_ARB_debug_output 1
1019 typedef void CALLBACK (*GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam);
1020 #endif
1021 #ifndef GL_AMD_debug_output
1022 #define GL_AMD_debug_output
1023 typedef void CALLBACK (*GLDEBUGPROCAMD)(GLuint id,GLenum category, GLenum severity, GLsizei length, const GLchar *message, void *userParam);
1024 #endif
1025 #ifndef GL_MESA_program_debug
1026 #define GL_MESA_program_debug 1
1027 typedef void CALLBACK (*GLprogramcallbackMESA)(GLenum target, GLvoid *data);
1028 #endif
1029 #ifndef GL_EXT_external_buffer
1030 #define GL_EXT_external_buffer 1
1031 typedef void *GLeglClientBufferEXT;
1032 #endif
1033 #ifndef GL_NV_draw_vulkan_image
1034 #define GL_NV_draw_vulkan_image 1
1035 typedef void (APIENTRY *GLVULKANPROCNV)(void);
1036 #endif
1037 
1038 
1039 /*
1040  * Mesa Off-Screen rendering interface.
1041  *
1042  * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
1043  *
1044  */
1045 
1046 #define OSMESA_VERSION_NUMBER(major, minor, patch) ((major) * 10000 + (minor) * 100 + patch)
1047 #define OSMESA_VERSION OSMESA_VERSION_NUMBER(OSMESA_MAJOR_VERSION, OSMESA_MINOR_VERSION, OSMESA_PATCH_VERSION)
1048 
1049 #if !defined(OSMESA_MAJOR_VERSION)
1050 #define OSMESA_MAJOR_VERSION 6
1051 #define OSMESA_MINOR_VERSION 3
1052 #define OSMESA_PATCH_VERSION 0
1053 
1054 /*
1055  * Values for the format parameter of OSMesaCreateLDG()
1056  *   Mesa_gl.ldg version 0.8 (Mesa 2.6)
1057  */
1058 #define OSMESA_COLOR_INDEX	GL_COLOR_INDEX
1059 #define OSMESA_RGBA			GL_RGBA
1060 #define OSMESA_BGRA			0x1
1061 #define OSMESA_ARGB			0x2
1062 #define OSMESA_RGB			GL_RGB
1063 #define OSMESA_BGR			0x4
1064 #define OSMESA_RGB_565		0x5
1065 #define VDI_ARGB			0x8
1066 #define VDI_RGB				0xf
1067 #define DIRECT_VDI_ARGB		0x10
1068 
1069 /*
1070  * OSMesaPixelStore() parameters:
1071  */
1072 #define OSMESA_ROW_LENGTH	0x10
1073 #define OSMESA_Y_UP		0x11
1074 
1075 /*
1076  * Accepted by OSMesaGetIntegerv:
1077  */
1078 #define OSMESA_WIDTH		0x20
1079 #define OSMESA_HEIGHT		0x21
1080 #define OSMESA_FORMAT		0x22
1081 #define OSMESA_TYPE			0x23
1082 #define OSMESA_MAX_WIDTH	0x24  /* new in 4.0 */
1083 #define OSMESA_MAX_HEIGHT	0x25  /* new in 4.0 */
1084 
1085 #ifdef __PUREC__
1086 struct osmesa_context { int dummy; };
1087 #endif
1088 typedef struct osmesa_context *OSMesaContext;
1089 
1090 typedef void (APIENTRY *OSMESAproc)(void);
1091 
1092 GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format, OSMesaContext sharelist );
1093 GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist);
1094 GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx );
1095 GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height );
1096 GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void );
1097 GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value );
1098 GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value );
1099 GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void **buffer );
1100 GLAPI GLboolean GLAPIENTRY OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *format, void **buffer );
1101 GLAPI OSMESAproc GLAPIENTRY OSMesaGetProcAddress( const char *funcName );
1102 GLAPI void GLAPIENTRY OSMesaColorClamp(GLboolean enable);
1103 GLAPI void GLAPIENTRY OSMesaPostprocess(OSMesaContext osmesa, const char *filter, GLuint enable_value);
1104 
1105 
1106 #elif OSMESA_VERSION < OSMESA_VERSION_NUMBER(6, 3, 0)
1107 typedef void (APIENTRY *OSMESAproc)(void);
1108 #endif
1109 
1110 /*
1111  * integral types that need to be promoted to
1112  * 32bit type when passed by value
1113  */
1114 #ifndef GL_nfosmesa_short_promotions
1115 #define GL_nfosmesa_short_promotions 1
1116 #ifdef __MSHORT__
1117 typedef long GLshort32;
1118 typedef unsigned long GLushort32;
1119 typedef unsigned long GLboolean32;
1120 typedef long GLchar32;
1121 typedef unsigned long GLubyte32;
1122 typedef signed long GLbyte32;
1123 typedef unsigned long GLhalfNV32;
1124 #else
1125 typedef GLshort GLshort32;
1126 typedef GLushort GLushort32;
1127 typedef GLboolean GLboolean32;
1128 typedef GLchar GLchar32;
1129 typedef GLubyte GLubyte32;
1130 typedef GLbyte GLbyte32;
1131 typedef GLhalfNV GLhalfNV32;
1132 #endif
1133 #endif
1134 
1135 /*
1136  * Atari-specific structure for the shared libraries
1137  */
1138 struct gl_public {
1139 	void *libhandle;
1140 	void *libexec;
1141 	void *(*m_alloc)(size_t);
1142 	void (*m_free)(void *);
1143 };
1144 
1145 #ifdef __cplusplus
1146 }
1147 #endif
1148