gl.h revision b80429e49ef62686792e2f95c8f52b5e6c8a59a9
1/* $Id: gl.h,v 1.10 1999/10/16 11:27:02 brianp Exp $ */
2
3/*
4 * Mesa 3-D graphics library
5 * Version:  3.1
6 *
7 * Copyright (C) 1999  Brian Paul   All Rights Reserved.
8 *
9 * Permission is hereby granted, free of charge, to any person obtaining a
10 * copy of this software and associated documentation files (the "Software"),
11 * to deal in the Software without restriction, including without limitation
12 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 * and/or sell copies of the Software, and to permit persons to whom the
14 * Software is furnished to do so, subject to the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
22 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 */
26
27
28
29
30#ifndef GL_H
31#define GL_H
32
33#if defined(USE_MGL_NAMESPACE)
34#include "gl_mangle.h"
35#endif
36
37
38#if defined(__BEOS__)
39#include <stdlib.h>     /* to get some BeOS-isms */
40#endif
41
42
43#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
44#define OPENSTEP
45#endif
46
47
48#if defined(_WIN32) && !defined(__WIN32__)
49#	define __WIN32__
50#endif
51
52#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__))
53#	pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
54#	pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
55#	pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
56#	pragma warning( disable : 4550 ) /* 'function' undefined; assuming extern returning int */
57#	pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
58#	if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
59#		define GLAPI __declspec(dllexport)
60#     define WGLAPI __declspec(dllexport)
61#	elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
62#		define GLAPI __declspec(dllimport)
63#     define WGLAPI __declspec(dllimport)
64#	else /* for use with static link lib build of Win32 edition only */
65#		define GLAPI extern
66#     define WGLAPI __declspec(dllimport)
67#	endif /* _STATIC_MESA support */
68#	define GLAPIENTRY __stdcall
69#	define GLCALLBACK __stdcall
70#	define GLWINAPI __stdcall
71#	define GLWINAPIV __cdecl
72#else
73/* non-Windows compilation */
74#	define GLAPI extern
75#	define GLAPIENTRY
76#	define GLCALLBACK
77#	define GLWINAPI
78#	define GLWINAPIV
79#endif /* WIN32 / CYGWIN32 bracket */
80
81/* compatability guard so we don't need to change client code */
82
83#if defined(_WIN32) && !defined(_WINDEF_) && !defined(OPENSTEP)
84#	if !defined(MESA_MINWARN)
85#		pragma message( "note: WINDOWS.H not included, providing Mesa definition of CALLBACK macro" )
86#		pragma message( "----: and PROC typedef. If you receive compiler warnings about either ")
87#		pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/gl.h" )
88#	endif
89#	define CALLBACK GLCALLBACK
90typedef int (GLAPIENTRY *PROC)();
91typedef void *HGLRC;
92typedef void *HDC;
93typedef unsigned long COLORREF;
94#endif
95
96#if defined(_WIN32) && !defined(_WINGDI_) && !defined(OPENSTEP)
97#	if !defined(MESA_MINWARN)
98#		pragma message( "note: WINDOWS.H not included, providing Mesa definition of wgl functions" )
99#		pragma message( "----: and macros. If you receive compiler warnings about any being multiply ")
100#		pragma message( "----: defined you should include WINDOWS.H priot to gl/gl.h" )
101#	endif
102#	define WGL_FONT_LINES      0
103#	define WGL_FONT_POLYGONS   1
104#	ifdef UNICODE
105#		define wglUseFontBitmaps  wglUseFontBitmapsW
106#		define wglUseFontOutlines  wglUseFontOutlinesW
107#	else
108#		define wglUseFontBitmaps  wglUseFontBitmapsA
109#		define wglUseFontOutlines  wglUseFontOutlinesA
110#	endif /* !UNICODE */
111typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
112typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
113typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
114#include <gl/mesa_wgl.h>
115#endif
116
117
118#ifdef __cplusplus
119extern "C" {
120#endif
121
122
123#ifdef macintosh
124	#pragma enumsalwaysint on
125	#if PRAGMA_IMPORT_SUPPORTED
126	#pragma import on
127	#endif
128#endif
129
130
131
132/*
133 * Apps can test for this symbol to do conditional compilation if needed.
134 */
135#define MESA
136
137#define MESA_MAJOR_VERSION 3
138#define MESA_MINOR_VERSION 1
139
140
141#define GL_VERSION_1_1   1
142#define GL_VERSION_1_2   1
143
144
145/*
146 *
147 * Enumerations
148 *
149 */
150
151typedef enum {
152	/* Boolean values */
153	GL_FALSE			= 0,
154	GL_TRUE				= 1,
155
156	/* Data types */
157	GL_BYTE				= 0x1400,
158	GL_UNSIGNED_BYTE		= 0x1401,
159	GL_SHORT			= 0x1402,
160	GL_UNSIGNED_SHORT		= 0x1403,
161	GL_INT				= 0x1404,
162	GL_UNSIGNED_INT			= 0x1405,
163	GL_FLOAT			= 0x1406,
164	GL_DOUBLE			= 0x140A,
165	GL_2_BYTES			= 0x1407,
166	GL_3_BYTES			= 0x1408,
167	GL_4_BYTES			= 0x1409,
168
169	/* Primitives */
170	GL_POINTS			= 0x0000,
171	GL_LINES			= 0x0001,
172	GL_LINE_LOOP			= 0x0002,
173	GL_LINE_STRIP			= 0x0003,
174	GL_TRIANGLES			= 0x0004,
175	GL_TRIANGLE_STRIP		= 0x0005,
176	GL_TRIANGLE_FAN			= 0x0006,
177	GL_QUADS			= 0x0007,
178	GL_QUAD_STRIP			= 0x0008,
179	GL_POLYGON			= 0x0009,
180
181	/* Vertex Arrays */
182	GL_VERTEX_ARRAY			= 0x8074,
183	GL_NORMAL_ARRAY			= 0x8075,
184	GL_COLOR_ARRAY			= 0x8076,
185	GL_INDEX_ARRAY			= 0x8077,
186	GL_TEXTURE_COORD_ARRAY		= 0x8078,
187	GL_EDGE_FLAG_ARRAY		= 0x8079,
188	GL_VERTEX_ARRAY_SIZE		= 0x807A,
189	GL_VERTEX_ARRAY_TYPE		= 0x807B,
190	GL_VERTEX_ARRAY_STRIDE		= 0x807C,
191	GL_NORMAL_ARRAY_TYPE		= 0x807E,
192	GL_NORMAL_ARRAY_STRIDE		= 0x807F,
193	GL_COLOR_ARRAY_SIZE		= 0x8081,
194	GL_COLOR_ARRAY_TYPE		= 0x8082,
195	GL_COLOR_ARRAY_STRIDE		= 0x8083,
196	GL_INDEX_ARRAY_TYPE		= 0x8085,
197	GL_INDEX_ARRAY_STRIDE		= 0x8086,
198	GL_TEXTURE_COORD_ARRAY_SIZE	= 0x8088,
199	GL_TEXTURE_COORD_ARRAY_TYPE	= 0x8089,
200	GL_TEXTURE_COORD_ARRAY_STRIDE	= 0x808A,
201	GL_EDGE_FLAG_ARRAY_STRIDE	= 0x808C,
202	GL_VERTEX_ARRAY_POINTER		= 0x808E,
203	GL_NORMAL_ARRAY_POINTER		= 0x808F,
204	GL_COLOR_ARRAY_POINTER		= 0x8090,
205	GL_INDEX_ARRAY_POINTER		= 0x8091,
206	GL_TEXTURE_COORD_ARRAY_POINTER	= 0x8092,
207	GL_EDGE_FLAG_ARRAY_POINTER	= 0x8093,
208	GL_V2F				= 0x2A20,
209	GL_V3F				= 0x2A21,
210	GL_C4UB_V2F			= 0x2A22,
211	GL_C4UB_V3F			= 0x2A23,
212	GL_C3F_V3F			= 0x2A24,
213	GL_N3F_V3F			= 0x2A25,
214	GL_C4F_N3F_V3F			= 0x2A26,
215	GL_T2F_V3F			= 0x2A27,
216	GL_T4F_V4F			= 0x2A28,
217	GL_T2F_C4UB_V3F			= 0x2A29,
218	GL_T2F_C3F_V3F			= 0x2A2A,
219	GL_T2F_N3F_V3F			= 0x2A2B,
220	GL_T2F_C4F_N3F_V3F		= 0x2A2C,
221	GL_T4F_C4F_N3F_V4F		= 0x2A2D,
222
223	/* Matrix Mode */
224	GL_MATRIX_MODE			= 0x0BA0,
225	GL_MODELVIEW			= 0x1700,
226	GL_PROJECTION			= 0x1701,
227	GL_TEXTURE			= 0x1702,
228
229	/* Points */
230	GL_POINT_SMOOTH			= 0x0B10,
231	GL_POINT_SIZE			= 0x0B11,
232	GL_POINT_SIZE_GRANULARITY 	= 0x0B13,
233	GL_POINT_SIZE_RANGE		= 0x0B12,
234
235	/* Lines */
236	GL_LINE_SMOOTH			= 0x0B20,
237	GL_LINE_STIPPLE			= 0x0B24,
238	GL_LINE_STIPPLE_PATTERN		= 0x0B25,
239	GL_LINE_STIPPLE_REPEAT		= 0x0B26,
240	GL_LINE_WIDTH			= 0x0B21,
241	GL_LINE_WIDTH_GRANULARITY	= 0x0B23,
242	GL_LINE_WIDTH_RANGE		= 0x0B22,
243
244	/* Polygons */
245	GL_POINT			= 0x1B00,
246	GL_LINE				= 0x1B01,
247	GL_FILL				= 0x1B02,
248	GL_CW				= 0x0900,
249	GL_CCW				= 0x0901,
250	GL_FRONT			= 0x0404,
251	GL_BACK				= 0x0405,
252	GL_POLYGON_MODE			= 0x0B40,
253	GL_POLYGON_SMOOTH		= 0x0B41,
254	GL_POLYGON_STIPPLE		= 0x0B42,
255	GL_EDGE_FLAG			= 0x0B43,
256	GL_CULL_FACE			= 0x0B44,
257	GL_CULL_FACE_MODE		= 0x0B45,
258	GL_FRONT_FACE			= 0x0B46,
259	GL_POLYGON_OFFSET_FACTOR	= 0x8038,
260	GL_POLYGON_OFFSET_UNITS		= 0x2A00,
261	GL_POLYGON_OFFSET_POINT		= 0x2A01,
262	GL_POLYGON_OFFSET_LINE		= 0x2A02,
263	GL_POLYGON_OFFSET_FILL		= 0x8037,
264
265	/* Display Lists */
266	GL_COMPILE			= 0x1300,
267	GL_COMPILE_AND_EXECUTE		= 0x1301,
268	GL_LIST_BASE			= 0x0B32,
269	GL_LIST_INDEX			= 0x0B33,
270	GL_LIST_MODE			= 0x0B30,
271
272	/* Depth buffer */
273	GL_NEVER			= 0x0200,
274	GL_LESS				= 0x0201,
275	GL_GEQUAL			= 0x0206,
276	GL_LEQUAL			= 0x0203,
277	GL_GREATER			= 0x0204,
278	GL_NOTEQUAL			= 0x0205,
279	GL_EQUAL			= 0x0202,
280	GL_ALWAYS			= 0x0207,
281	GL_DEPTH_TEST			= 0x0B71,
282	GL_DEPTH_BITS			= 0x0D56,
283	GL_DEPTH_CLEAR_VALUE		= 0x0B73,
284	GL_DEPTH_FUNC			= 0x0B74,
285	GL_DEPTH_RANGE			= 0x0B70,
286	GL_DEPTH_WRITEMASK		= 0x0B72,
287	GL_DEPTH_COMPONENT		= 0x1902,
288
289	/* Lighting */
290	GL_LIGHTING			= 0x0B50,
291	GL_LIGHT0			= 0x4000,
292	GL_LIGHT1			= 0x4001,
293	GL_LIGHT2			= 0x4002,
294	GL_LIGHT3			= 0x4003,
295	GL_LIGHT4			= 0x4004,
296	GL_LIGHT5			= 0x4005,
297	GL_LIGHT6			= 0x4006,
298	GL_LIGHT7			= 0x4007,
299	GL_SPOT_EXPONENT		= 0x1205,
300	GL_SPOT_CUTOFF			= 0x1206,
301	GL_CONSTANT_ATTENUATION		= 0x1207,
302	GL_LINEAR_ATTENUATION		= 0x1208,
303	GL_QUADRATIC_ATTENUATION	= 0x1209,
304	GL_AMBIENT			= 0x1200,
305	GL_DIFFUSE			= 0x1201,
306	GL_SPECULAR			= 0x1202,
307	GL_SHININESS			= 0x1601,
308	GL_EMISSION			= 0x1600,
309	GL_POSITION			= 0x1203,
310	GL_SPOT_DIRECTION		= 0x1204,
311	GL_AMBIENT_AND_DIFFUSE		= 0x1602,
312	GL_COLOR_INDEXES		= 0x1603,
313	GL_LIGHT_MODEL_TWO_SIDE		= 0x0B52,
314	GL_LIGHT_MODEL_LOCAL_VIEWER	= 0x0B51,
315	GL_LIGHT_MODEL_AMBIENT		= 0x0B53,
316	GL_FRONT_AND_BACK		= 0x0408,
317	GL_SHADE_MODEL			= 0x0B54,
318	GL_FLAT				= 0x1D00,
319	GL_SMOOTH			= 0x1D01,
320	GL_COLOR_MATERIAL		= 0x0B57,
321	GL_COLOR_MATERIAL_FACE		= 0x0B55,
322	GL_COLOR_MATERIAL_PARAMETER	= 0x0B56,
323	GL_NORMALIZE			= 0x0BA1,
324
325	/* User clipping planes */
326	GL_CLIP_PLANE0			= 0x3000,
327	GL_CLIP_PLANE1			= 0x3001,
328	GL_CLIP_PLANE2			= 0x3002,
329	GL_CLIP_PLANE3			= 0x3003,
330	GL_CLIP_PLANE4			= 0x3004,
331	GL_CLIP_PLANE5			= 0x3005,
332
333	/* Accumulation buffer */
334	GL_ACCUM_RED_BITS		= 0x0D58,
335	GL_ACCUM_GREEN_BITS		= 0x0D59,
336	GL_ACCUM_BLUE_BITS		= 0x0D5A,
337	GL_ACCUM_ALPHA_BITS		= 0x0D5B,
338	GL_ACCUM_CLEAR_VALUE		= 0x0B80,
339	GL_ACCUM			= 0x0100,
340	GL_ADD				= 0x0104,
341	GL_LOAD				= 0x0101,
342	GL_MULT				= 0x0103,
343	GL_RETURN			= 0x0102,
344
345	/* Alpha testing */
346	GL_ALPHA_TEST			= 0x0BC0,
347	GL_ALPHA_TEST_REF		= 0x0BC2,
348	GL_ALPHA_TEST_FUNC		= 0x0BC1,
349
350	/* Blending */
351	GL_BLEND			= 0x0BE2,
352	GL_BLEND_SRC			= 0x0BE1,
353	GL_BLEND_DST			= 0x0BE0,
354	GL_ZERO				= 0,
355	GL_ONE				= 1,
356	GL_SRC_COLOR			= 0x0300,
357	GL_ONE_MINUS_SRC_COLOR		= 0x0301,
358	GL_DST_COLOR			= 0x0306,
359	GL_ONE_MINUS_DST_COLOR		= 0x0307,
360	GL_SRC_ALPHA			= 0x0302,
361	GL_ONE_MINUS_SRC_ALPHA		= 0x0303,
362	GL_DST_ALPHA			= 0x0304,
363	GL_ONE_MINUS_DST_ALPHA		= 0x0305,
364	GL_SRC_ALPHA_SATURATE		= 0x0308,
365	GL_CONSTANT_COLOR		= 0x8001,
366	GL_ONE_MINUS_CONSTANT_COLOR	= 0x8002,
367	GL_CONSTANT_ALPHA		= 0x8003,
368	GL_ONE_MINUS_CONSTANT_ALPHA	= 0x8004,
369
370	/* Render Mode */
371	GL_FEEDBACK			= 0x1C01,
372	GL_RENDER			= 0x1C00,
373	GL_SELECT			= 0x1C02,
374
375	/* Feedback */
376	GL_2D				= 0x0600,
377	GL_3D				= 0x0601,
378	GL_3D_COLOR			= 0x0602,
379	GL_3D_COLOR_TEXTURE		= 0x0603,
380	GL_4D_COLOR_TEXTURE		= 0x0604,
381	GL_POINT_TOKEN			= 0x0701,
382	GL_LINE_TOKEN			= 0x0702,
383	GL_LINE_RESET_TOKEN		= 0x0707,
384	GL_POLYGON_TOKEN		= 0x0703,
385	GL_BITMAP_TOKEN			= 0x0704,
386	GL_DRAW_PIXEL_TOKEN		= 0x0705,
387	GL_COPY_PIXEL_TOKEN		= 0x0706,
388	GL_PASS_THROUGH_TOKEN		= 0x0700,
389	GL_FEEDBACK_BUFFER_POINTER	= 0x0DF0,
390	GL_FEEDBACK_BUFFER_SIZE		= 0x0DF1,
391	GL_FEEDBACK_BUFFER_TYPE		= 0x0DF2,
392
393	/* Selection */
394	GL_SELECTION_BUFFER_POINTER	= 0x0DF3,
395	GL_SELECTION_BUFFER_SIZE	= 0x0DF4,
396
397	/* Fog */
398	GL_FOG				= 0x0B60,
399	GL_FOG_MODE			= 0x0B65,
400	GL_FOG_DENSITY			= 0x0B62,
401	GL_FOG_COLOR			= 0x0B66,
402	GL_FOG_INDEX			= 0x0B61,
403	GL_FOG_START			= 0x0B63,
404	GL_FOG_END			= 0x0B64,
405	GL_LINEAR			= 0x2601,
406	GL_EXP				= 0x0800,
407	GL_EXP2				= 0x0801,
408
409	/* Logic Ops */
410	GL_LOGIC_OP			= 0x0BF1,
411	GL_INDEX_LOGIC_OP		= 0x0BF1,
412	GL_COLOR_LOGIC_OP		= 0x0BF2,
413	GL_LOGIC_OP_MODE		= 0x0BF0,
414	GL_CLEAR			= 0x1500,
415	GL_SET				= 0x150F,
416	GL_COPY				= 0x1503,
417	GL_COPY_INVERTED		= 0x150C,
418	GL_NOOP				= 0x1505,
419	GL_INVERT			= 0x150A,
420	GL_AND				= 0x1501,
421	GL_NAND				= 0x150E,
422	GL_OR				= 0x1507,
423	GL_NOR				= 0x1508,
424	GL_XOR				= 0x1506,
425	GL_EQUIV			= 0x1509,
426	GL_AND_REVERSE			= 0x1502,
427	GL_AND_INVERTED			= 0x1504,
428	GL_OR_REVERSE			= 0x150B,
429	GL_OR_INVERTED			= 0x150D,
430
431	/* Stencil */
432	GL_STENCIL_TEST			= 0x0B90,
433	GL_STENCIL_WRITEMASK		= 0x0B98,
434	GL_STENCIL_BITS			= 0x0D57,
435	GL_STENCIL_FUNC			= 0x0B92,
436	GL_STENCIL_VALUE_MASK		= 0x0B93,
437	GL_STENCIL_REF			= 0x0B97,
438	GL_STENCIL_FAIL			= 0x0B94,
439	GL_STENCIL_PASS_DEPTH_PASS	= 0x0B96,
440	GL_STENCIL_PASS_DEPTH_FAIL	= 0x0B95,
441	GL_STENCIL_CLEAR_VALUE		= 0x0B91,
442	GL_STENCIL_INDEX		= 0x1901,
443	GL_KEEP				= 0x1E00,
444	GL_REPLACE			= 0x1E01,
445	GL_INCR				= 0x1E02,
446	GL_DECR				= 0x1E03,
447
448	/* Buffers, Pixel Drawing/Reading */
449	GL_NONE				= 0,
450	GL_LEFT				= 0x0406,
451	GL_RIGHT			= 0x0407,
452	/*GL_FRONT			= 0x0404, */
453	/*GL_BACK			= 0x0405, */
454	/*GL_FRONT_AND_BACK		= 0x0408, */
455	GL_FRONT_LEFT			= 0x0400,
456	GL_FRONT_RIGHT			= 0x0401,
457	GL_BACK_LEFT			= 0x0402,
458	GL_BACK_RIGHT			= 0x0403,
459	GL_AUX0				= 0x0409,
460	GL_AUX1				= 0x040A,
461	GL_AUX2				= 0x040B,
462	GL_AUX3				= 0x040C,
463	GL_COLOR_INDEX			= 0x1900,
464	GL_RED				= 0x1903,
465	GL_GREEN			= 0x1904,
466	GL_BLUE				= 0x1905,
467	GL_ALPHA			= 0x1906,
468	GL_LUMINANCE			= 0x1909,
469	GL_LUMINANCE_ALPHA		= 0x190A,
470	GL_ALPHA_BITS			= 0x0D55,
471	GL_RED_BITS			= 0x0D52,
472	GL_GREEN_BITS			= 0x0D53,
473	GL_BLUE_BITS			= 0x0D54,
474	GL_INDEX_BITS			= 0x0D51,
475	GL_SUBPIXEL_BITS		= 0x0D50,
476	GL_AUX_BUFFERS			= 0x0C00,
477	GL_READ_BUFFER			= 0x0C02,
478	GL_DRAW_BUFFER			= 0x0C01,
479	GL_DOUBLEBUFFER			= 0x0C32,
480	GL_STEREO			= 0x0C33,
481	GL_BITMAP			= 0x1A00,
482	GL_COLOR			= 0x1800,
483	GL_DEPTH			= 0x1801,
484	GL_STENCIL			= 0x1802,
485	GL_DITHER			= 0x0BD0,
486	GL_RGB				= 0x1907,
487	GL_RGBA				= 0x1908,
488
489	/* Implementation limits */
490	GL_MAX_LIST_NESTING		= 0x0B31,
491	GL_MAX_ATTRIB_STACK_DEPTH	= 0x0D35,
492	GL_MAX_MODELVIEW_STACK_DEPTH	= 0x0D36,
493	GL_MAX_NAME_STACK_DEPTH		= 0x0D37,
494	GL_MAX_PROJECTION_STACK_DEPTH	= 0x0D38,
495	GL_MAX_TEXTURE_STACK_DEPTH	= 0x0D39,
496	GL_MAX_EVAL_ORDER		= 0x0D30,
497	GL_MAX_LIGHTS			= 0x0D31,
498	GL_MAX_CLIP_PLANES		= 0x0D32,
499	GL_MAX_TEXTURE_SIZE		= 0x0D33,
500	GL_MAX_PIXEL_MAP_TABLE		= 0x0D34,
501	GL_MAX_VIEWPORT_DIMS		= 0x0D3A,
502	GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
503
504	/* Gets */
505	GL_ATTRIB_STACK_DEPTH		= 0x0BB0,
506	GL_CLIENT_ATTRIB_STACK_DEPTH	= 0x0BB1,
507	GL_COLOR_CLEAR_VALUE		= 0x0C22,
508	GL_COLOR_WRITEMASK		= 0x0C23,
509	GL_CURRENT_INDEX		= 0x0B01,
510	GL_CURRENT_COLOR		= 0x0B00,
511	GL_CURRENT_NORMAL		= 0x0B02,
512	GL_CURRENT_RASTER_COLOR		= 0x0B04,
513	GL_CURRENT_RASTER_DISTANCE	= 0x0B09,
514	GL_CURRENT_RASTER_INDEX		= 0x0B05,
515	GL_CURRENT_RASTER_POSITION	= 0x0B07,
516	GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
517	GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
518	GL_CURRENT_TEXTURE_COORDS	= 0x0B03,
519	GL_INDEX_CLEAR_VALUE		= 0x0C20,
520	GL_INDEX_MODE			= 0x0C30,
521	GL_INDEX_WRITEMASK		= 0x0C21,
522	GL_MODELVIEW_MATRIX		= 0x0BA6,
523	GL_MODELVIEW_STACK_DEPTH	= 0x0BA3,
524	GL_NAME_STACK_DEPTH		= 0x0D70,
525	GL_PROJECTION_MATRIX		= 0x0BA7,
526	GL_PROJECTION_STACK_DEPTH	= 0x0BA4,
527	GL_RENDER_MODE			= 0x0C40,
528	GL_RGBA_MODE			= 0x0C31,
529	GL_TEXTURE_MATRIX		= 0x0BA8,
530	GL_TEXTURE_STACK_DEPTH		= 0x0BA5,
531	GL_VIEWPORT			= 0x0BA2,
532
533	/* Evaluators */
534	GL_AUTO_NORMAL			= 0x0D80,
535	GL_MAP1_COLOR_4			= 0x0D90,
536	GL_MAP1_GRID_DOMAIN		= 0x0DD0,
537	GL_MAP1_GRID_SEGMENTS		= 0x0DD1,
538	GL_MAP1_INDEX			= 0x0D91,
539	GL_MAP1_NORMAL			= 0x0D92,
540	GL_MAP1_TEXTURE_COORD_1		= 0x0D93,
541	GL_MAP1_TEXTURE_COORD_2		= 0x0D94,
542	GL_MAP1_TEXTURE_COORD_3		= 0x0D95,
543	GL_MAP1_TEXTURE_COORD_4		= 0x0D96,
544	GL_MAP1_VERTEX_3		= 0x0D97,
545	GL_MAP1_VERTEX_4		= 0x0D98,
546	GL_MAP2_COLOR_4			= 0x0DB0,
547	GL_MAP2_GRID_DOMAIN		= 0x0DD2,
548	GL_MAP2_GRID_SEGMENTS		= 0x0DD3,
549	GL_MAP2_INDEX			= 0x0DB1,
550	GL_MAP2_NORMAL			= 0x0DB2,
551	GL_MAP2_TEXTURE_COORD_1		= 0x0DB3,
552	GL_MAP2_TEXTURE_COORD_2		= 0x0DB4,
553	GL_MAP2_TEXTURE_COORD_3		= 0x0DB5,
554	GL_MAP2_TEXTURE_COORD_4		= 0x0DB6,
555	GL_MAP2_VERTEX_3		= 0x0DB7,
556	GL_MAP2_VERTEX_4		= 0x0DB8,
557	GL_COEFF			= 0x0A00,
558	GL_DOMAIN			= 0x0A02,
559	GL_ORDER			= 0x0A01,
560
561	/* Hints */
562	GL_FOG_HINT			= 0x0C54,
563	GL_LINE_SMOOTH_HINT		= 0x0C52,
564	GL_PERSPECTIVE_CORRECTION_HINT	= 0x0C50,
565	GL_POINT_SMOOTH_HINT		= 0x0C51,
566	GL_POLYGON_SMOOTH_HINT		= 0x0C53,
567	GL_DONT_CARE			= 0x1100,
568	GL_FASTEST			= 0x1101,
569	GL_NICEST			= 0x1102,
570
571	/* Scissor box */
572	GL_SCISSOR_TEST			= 0x0C11,
573	GL_SCISSOR_BOX			= 0x0C10,
574
575	/* Pixel Mode / Transfer */
576	GL_MAP_COLOR			= 0x0D10,
577	GL_MAP_STENCIL			= 0x0D11,
578	GL_INDEX_SHIFT			= 0x0D12,
579	GL_INDEX_OFFSET			= 0x0D13,
580	GL_RED_SCALE			= 0x0D14,
581	GL_RED_BIAS			= 0x0D15,
582	GL_GREEN_SCALE			= 0x0D18,
583	GL_GREEN_BIAS			= 0x0D19,
584	GL_BLUE_SCALE			= 0x0D1A,
585	GL_BLUE_BIAS			= 0x0D1B,
586	GL_ALPHA_SCALE			= 0x0D1C,
587	GL_ALPHA_BIAS			= 0x0D1D,
588	GL_DEPTH_SCALE			= 0x0D1E,
589	GL_DEPTH_BIAS			= 0x0D1F,
590	GL_PIXEL_MAP_S_TO_S_SIZE	= 0x0CB1,
591	GL_PIXEL_MAP_I_TO_I_SIZE	= 0x0CB0,
592	GL_PIXEL_MAP_I_TO_R_SIZE	= 0x0CB2,
593	GL_PIXEL_MAP_I_TO_G_SIZE	= 0x0CB3,
594	GL_PIXEL_MAP_I_TO_B_SIZE	= 0x0CB4,
595	GL_PIXEL_MAP_I_TO_A_SIZE	= 0x0CB5,
596	GL_PIXEL_MAP_R_TO_R_SIZE	= 0x0CB6,
597	GL_PIXEL_MAP_G_TO_G_SIZE	= 0x0CB7,
598	GL_PIXEL_MAP_B_TO_B_SIZE	= 0x0CB8,
599	GL_PIXEL_MAP_A_TO_A_SIZE	= 0x0CB9,
600	GL_PIXEL_MAP_S_TO_S		= 0x0C71,
601	GL_PIXEL_MAP_I_TO_I		= 0x0C70,
602	GL_PIXEL_MAP_I_TO_R		= 0x0C72,
603	GL_PIXEL_MAP_I_TO_G		= 0x0C73,
604	GL_PIXEL_MAP_I_TO_B		= 0x0C74,
605	GL_PIXEL_MAP_I_TO_A		= 0x0C75,
606	GL_PIXEL_MAP_R_TO_R		= 0x0C76,
607	GL_PIXEL_MAP_G_TO_G		= 0x0C77,
608	GL_PIXEL_MAP_B_TO_B		= 0x0C78,
609	GL_PIXEL_MAP_A_TO_A		= 0x0C79,
610	GL_PACK_ALIGNMENT		= 0x0D05,
611	GL_PACK_LSB_FIRST		= 0x0D01,
612	GL_PACK_ROW_LENGTH		= 0x0D02,
613	GL_PACK_SKIP_PIXELS		= 0x0D04,
614	GL_PACK_SKIP_ROWS		= 0x0D03,
615	GL_PACK_SWAP_BYTES		= 0x0D00,
616	GL_UNPACK_ALIGNMENT		= 0x0CF5,
617	GL_UNPACK_LSB_FIRST		= 0x0CF1,
618	GL_UNPACK_ROW_LENGTH		= 0x0CF2,
619	GL_UNPACK_SKIP_PIXELS		= 0x0CF4,
620	GL_UNPACK_SKIP_ROWS		= 0x0CF3,
621	GL_UNPACK_SWAP_BYTES		= 0x0CF0,
622	GL_ZOOM_X			= 0x0D16,
623	GL_ZOOM_Y			= 0x0D17,
624
625	/* Texture mapping */
626	GL_TEXTURE_ENV			= 0x2300,
627	GL_TEXTURE_ENV_MODE		= 0x2200,
628	GL_TEXTURE_1D			= 0x0DE0,
629	GL_TEXTURE_2D			= 0x0DE1,
630	GL_TEXTURE_WRAP_S		= 0x2802,
631	GL_TEXTURE_WRAP_T		= 0x2803,
632	GL_TEXTURE_MAG_FILTER		= 0x2800,
633	GL_TEXTURE_MIN_FILTER		= 0x2801,
634	GL_TEXTURE_ENV_COLOR		= 0x2201,
635	GL_TEXTURE_GEN_S		= 0x0C60,
636	GL_TEXTURE_GEN_T		= 0x0C61,
637	GL_TEXTURE_GEN_MODE		= 0x2500,
638	GL_TEXTURE_BORDER_COLOR		= 0x1004,
639	GL_TEXTURE_WIDTH		= 0x1000,
640	GL_TEXTURE_HEIGHT		= 0x1001,
641	GL_TEXTURE_BORDER		= 0x1005,
642	GL_TEXTURE_COMPONENTS		= 0x1003,
643	GL_TEXTURE_RED_SIZE		= 0x805C,
644	GL_TEXTURE_GREEN_SIZE		= 0x805D,
645	GL_TEXTURE_BLUE_SIZE		= 0x805E,
646	GL_TEXTURE_ALPHA_SIZE		= 0x805F,
647	GL_TEXTURE_LUMINANCE_SIZE	= 0x8060,
648	GL_TEXTURE_INTENSITY_SIZE	= 0x8061,
649	GL_NEAREST_MIPMAP_NEAREST	= 0x2700,
650	GL_NEAREST_MIPMAP_LINEAR	= 0x2702,
651	GL_LINEAR_MIPMAP_NEAREST	= 0x2701,
652	GL_LINEAR_MIPMAP_LINEAR		= 0x2703,
653	GL_OBJECT_LINEAR		= 0x2401,
654	GL_OBJECT_PLANE			= 0x2501,
655	GL_EYE_LINEAR			= 0x2400,
656	GL_EYE_PLANE			= 0x2502,
657	GL_SPHERE_MAP			= 0x2402,
658	GL_DECAL			= 0x2101,
659	GL_MODULATE			= 0x2100,
660	GL_NEAREST			= 0x2600,
661	GL_REPEAT			= 0x2901,
662	GL_CLAMP			= 0x2900,
663	GL_S				= 0x2000,
664	GL_T				= 0x2001,
665	GL_R				= 0x2002,
666	GL_Q				= 0x2003,
667	GL_TEXTURE_GEN_R		= 0x0C62,
668	GL_TEXTURE_GEN_Q		= 0x0C63,
669
670	/* GL 1.1 texturing */
671	GL_PROXY_TEXTURE_1D		= 0x8063,
672	GL_PROXY_TEXTURE_2D		= 0x8064,
673	GL_TEXTURE_PRIORITY		= 0x8066,
674	GL_TEXTURE_RESIDENT		= 0x8067,
675	GL_TEXTURE_BINDING_1D		= 0x8068,
676	GL_TEXTURE_BINDING_2D		= 0x8069,
677	GL_TEXTURE_INTERNAL_FORMAT	= 0x1003,
678
679	/* GL 1.2 texturing */
680	GL_PACK_SKIP_IMAGES		= 0x806B,
681	GL_PACK_IMAGE_HEIGHT		= 0x806C,
682	GL_UNPACK_SKIP_IMAGES		= 0x806D,
683	GL_UNPACK_IMAGE_HEIGHT		= 0x806E,
684	GL_TEXTURE_3D			= 0x806F,
685	GL_PROXY_TEXTURE_3D		= 0x8070,
686	GL_TEXTURE_DEPTH		= 0x8071,
687	GL_TEXTURE_WRAP_R		= 0x8072,
688	GL_MAX_3D_TEXTURE_SIZE		= 0x8073,
689	GL_TEXTURE_BINDING_3D		= 0x806A,
690
691	/* Internal texture formats (GL 1.1) */
692	GL_ALPHA4			= 0x803B,
693	GL_ALPHA8			= 0x803C,
694	GL_ALPHA12			= 0x803D,
695	GL_ALPHA16			= 0x803E,
696	GL_LUMINANCE4			= 0x803F,
697	GL_LUMINANCE8			= 0x8040,
698	GL_LUMINANCE12			= 0x8041,
699	GL_LUMINANCE16			= 0x8042,
700	GL_LUMINANCE4_ALPHA4		= 0x8043,
701	GL_LUMINANCE6_ALPHA2		= 0x8044,
702	GL_LUMINANCE8_ALPHA8		= 0x8045,
703	GL_LUMINANCE12_ALPHA4		= 0x8046,
704	GL_LUMINANCE12_ALPHA12		= 0x8047,
705	GL_LUMINANCE16_ALPHA16		= 0x8048,
706	GL_INTENSITY			= 0x8049,
707	GL_INTENSITY4			= 0x804A,
708	GL_INTENSITY8			= 0x804B,
709	GL_INTENSITY12			= 0x804C,
710	GL_INTENSITY16			= 0x804D,
711	GL_R3_G3_B2			= 0x2A10,
712	GL_RGB4				= 0x804F,
713	GL_RGB5				= 0x8050,
714	GL_RGB8				= 0x8051,
715	GL_RGB10			= 0x8052,
716	GL_RGB12			= 0x8053,
717	GL_RGB16			= 0x8054,
718	GL_RGBA2			= 0x8055,
719	GL_RGBA4			= 0x8056,
720	GL_RGB5_A1			= 0x8057,
721	GL_RGBA8			= 0x8058,
722	GL_RGB10_A2			= 0x8059,
723	GL_RGBA12			= 0x805A,
724	GL_RGBA16			= 0x805B,
725
726	/* Utility */
727	GL_VENDOR			= 0x1F00,
728	GL_RENDERER			= 0x1F01,
729	GL_VERSION			= 0x1F02,
730	GL_EXTENSIONS			= 0x1F03,
731
732	/* Errors */
733	GL_INVALID_VALUE		= 0x0501,
734	GL_INVALID_ENUM			= 0x0500,
735	GL_INVALID_OPERATION		= 0x0502,
736	GL_STACK_OVERFLOW		= 0x0503,
737	GL_STACK_UNDERFLOW		= 0x0504,
738	GL_OUT_OF_MEMORY		= 0x0505,
739
740	/*
741	 * Extensions
742	 */
743
744	/* GL_EXT_blend_minmax and GL_EXT_blend_color */
745	GL_CONSTANT_COLOR_EXT			= 0x8001,
746	GL_ONE_MINUS_CONSTANT_COLOR_EXT		= 0x8002,
747	GL_CONSTANT_ALPHA_EXT			= 0x8003,
748	GL_ONE_MINUS_CONSTANT_ALPHA_EXT		= 0x8004,
749	GL_BLEND_EQUATION_EXT			= 0x8009,
750	GL_MIN_EXT				= 0x8007,
751	GL_MAX_EXT				= 0x8008,
752	GL_FUNC_ADD_EXT				= 0x8006,
753	GL_FUNC_SUBTRACT_EXT			= 0x800A,
754	GL_FUNC_REVERSE_SUBTRACT_EXT		= 0x800B,
755	GL_BLEND_COLOR_EXT			= 0x8005,
756
757	/* GL_EXT_polygon_offset */
758	GL_POLYGON_OFFSET_EXT			= 0x8037,
759	GL_POLYGON_OFFSET_FACTOR_EXT		= 0x8038,
760	GL_POLYGON_OFFSET_BIAS_EXT		= 0x8039,
761
762	/* GL_EXT_vertex_array */
763	GL_VERTEX_ARRAY_EXT			= 0x8074,
764	GL_NORMAL_ARRAY_EXT			= 0x8075,
765	GL_COLOR_ARRAY_EXT			= 0x8076,
766	GL_INDEX_ARRAY_EXT			= 0x8077,
767	GL_TEXTURE_COORD_ARRAY_EXT		= 0x8078,
768	GL_EDGE_FLAG_ARRAY_EXT			= 0x8079,
769	GL_VERTEX_ARRAY_SIZE_EXT		= 0x807A,
770	GL_VERTEX_ARRAY_TYPE_EXT		= 0x807B,
771	GL_VERTEX_ARRAY_STRIDE_EXT		= 0x807C,
772	GL_VERTEX_ARRAY_COUNT_EXT		= 0x807D,
773	GL_NORMAL_ARRAY_TYPE_EXT		= 0x807E,
774	GL_NORMAL_ARRAY_STRIDE_EXT		= 0x807F,
775	GL_NORMAL_ARRAY_COUNT_EXT		= 0x8080,
776	GL_COLOR_ARRAY_SIZE_EXT			= 0x8081,
777	GL_COLOR_ARRAY_TYPE_EXT			= 0x8082,
778	GL_COLOR_ARRAY_STRIDE_EXT		= 0x8083,
779	GL_COLOR_ARRAY_COUNT_EXT		= 0x8084,
780	GL_INDEX_ARRAY_TYPE_EXT			= 0x8085,
781	GL_INDEX_ARRAY_STRIDE_EXT		= 0x8086,
782	GL_INDEX_ARRAY_COUNT_EXT		= 0x8087,
783	GL_TEXTURE_COORD_ARRAY_SIZE_EXT		= 0x8088,
784	GL_TEXTURE_COORD_ARRAY_TYPE_EXT		= 0x8089,
785	GL_TEXTURE_COORD_ARRAY_STRIDE_EXT	= 0x808A,
786	GL_TEXTURE_COORD_ARRAY_COUNT_EXT	= 0x808B,
787	GL_EDGE_FLAG_ARRAY_STRIDE_EXT		= 0x808C,
788	GL_EDGE_FLAG_ARRAY_COUNT_EXT		= 0x808D,
789	GL_VERTEX_ARRAY_POINTER_EXT		= 0x808E,
790	GL_NORMAL_ARRAY_POINTER_EXT		= 0x808F,
791	GL_COLOR_ARRAY_POINTER_EXT		= 0x8090,
792	GL_INDEX_ARRAY_POINTER_EXT		= 0x8091,
793	GL_TEXTURE_COORD_ARRAY_POINTER_EXT	= 0x8092,
794	GL_EDGE_FLAG_ARRAY_POINTER_EXT		= 0x8093,
795
796	/* GL_EXT_texture_object */
797	GL_TEXTURE_PRIORITY_EXT			= 0x8066,
798	GL_TEXTURE_RESIDENT_EXT			= 0x8067,
799	GL_TEXTURE_1D_BINDING_EXT		= 0x8068,
800	GL_TEXTURE_2D_BINDING_EXT		= 0x8069,
801
802	/* GL_EXT_texture3D */
803	GL_PACK_SKIP_IMAGES_EXT			= 0x806B,
804	GL_PACK_IMAGE_HEIGHT_EXT		= 0x806C,
805	GL_UNPACK_SKIP_IMAGES_EXT		= 0x806D,
806	GL_UNPACK_IMAGE_HEIGHT_EXT		= 0x806E,
807	GL_TEXTURE_3D_EXT			= 0x806F,
808	GL_PROXY_TEXTURE_3D_EXT			= 0x8070,
809	GL_TEXTURE_DEPTH_EXT			= 0x8071,
810	GL_TEXTURE_WRAP_R_EXT			= 0x8072,
811	GL_MAX_3D_TEXTURE_SIZE_EXT		= 0x8073,
812	GL_TEXTURE_3D_BINDING_EXT		= 0x806A,
813
814	/* GL_EXT_paletted_texture */
815	GL_TABLE_TOO_LARGE_EXT			= 0x8031,
816	GL_COLOR_TABLE_FORMAT_EXT		= 0x80D8,
817	GL_COLOR_TABLE_WIDTH_EXT		= 0x80D9,
818	GL_COLOR_TABLE_RED_SIZE_EXT		= 0x80DA,
819	GL_COLOR_TABLE_GREEN_SIZE_EXT		= 0x80DB,
820	GL_COLOR_TABLE_BLUE_SIZE_EXT		= 0x80DC,
821	GL_COLOR_TABLE_ALPHA_SIZE_EXT	 	= 0x80DD,
822	GL_COLOR_TABLE_LUMINANCE_SIZE_EXT	= 0x80DE,
823	GL_COLOR_TABLE_INTENSITY_SIZE_EXT	= 0x80DF,
824	GL_TEXTURE_INDEX_SIZE_EXT		= 0x80ED,
825	GL_COLOR_INDEX1_EXT			= 0x80E2,
826	GL_COLOR_INDEX2_EXT			= 0x80E3,
827	GL_COLOR_INDEX4_EXT			= 0x80E4,
828	GL_COLOR_INDEX8_EXT			= 0x80E5,
829	GL_COLOR_INDEX12_EXT			= 0x80E6,
830	GL_COLOR_INDEX16_EXT			= 0x80E7,
831
832	/* GL_EXT_shared_texture_palette */
833	GL_SHARED_TEXTURE_PALETTE_EXT		= 0x81FB,
834
835	/* GL_EXT_point_parameters */
836	GL_POINT_SIZE_MIN_EXT			= 0x8126,
837	GL_POINT_SIZE_MAX_EXT			= 0x8127,
838	GL_POINT_FADE_THRESHOLD_SIZE_EXT	= 0x8128,
839	GL_DISTANCE_ATTENUATION_EXT		= 0x8129,
840
841	/* GL_EXT_rescale_normal */
842	GL_RESCALE_NORMAL_EXT			= 0x803A,
843
844	/* GL_EXT_abgr */
845	GL_ABGR_EXT				= 0x8000,
846
847	/* GL_EXT_stencil_wrap */
848	GL_INCR_WRAP_EXT			= 0x8507,
849	GL_DECR_WRAP_EXT			= 0x8508,
850
851	/* GL_SGIS_texture_edge_clamp */
852	GL_CLAMP_TO_EDGE_SGIS			= 0x812F,
853
854	/* GL_INGR_blend_func_separate */
855	GL_BLEND_DST_RGB_INGR			= 0x80C8,
856	GL_BLEND_SRC_RGB_INGR			= 0x80C9,
857	GL_BLEND_DST_ALPHA_INGR			= 0x80CA,
858	GL_BLEND_SRC_ALPHA_INGR			= 0x80CB,
859
860	/* OpenGL 1.2 */
861	GL_RESCALE_NORMAL			= 0x803A,
862	GL_CLAMP_TO_EDGE			= 0x812F,
863	GL_MAX_ELEMENTS_VERTICES		= 0xF0E8,
864	GL_MAX_ELEMENTS_INDICES			= 0xF0E9,
865	GL_BGR					= 0x80E0,
866	GL_BGRA					= 0x80E1,
867	GL_UNSIGNED_BYTE_3_3_2			= 0x8032,
868	GL_UNSIGNED_BYTE_2_3_3_REV		= 0x8362,
869	GL_UNSIGNED_SHORT_5_6_5			= 0x8363,
870	GL_UNSIGNED_SHORT_5_6_5_REV		= 0x8364,
871	GL_UNSIGNED_SHORT_4_4_4_4		= 0x8033,
872	GL_UNSIGNED_SHORT_4_4_4_4_REV		= 0x8365,
873	GL_UNSIGNED_SHORT_5_5_5_1		= 0x8034,
874	GL_UNSIGNED_SHORT_1_5_5_5_REV		= 0x8366,
875	GL_UNSIGNED_INT_8_8_8_8			= 0x8035,
876	GL_UNSIGNED_INT_8_8_8_8_REV		= 0x8367,
877	GL_UNSIGNED_INT_10_10_10_2		= 0x8036,
878	GL_UNSIGNED_INT_2_10_10_10_REV		= 0x8368,
879	GL_LIGHT_MODEL_COLOR_CONTROL		= 0x81F8,
880	GL_SINGLE_COLOR				= 0x81F9,
881	GL_SEPARATE_SPECULAR_COLOR		= 0x81FA,
882	GL_TEXTURE_MIN_LOD			= 0x813A,
883	GL_TEXTURE_MAX_LOD			= 0x813B,
884	GL_TEXTURE_BASE_LEVEL			= 0x813C,
885	GL_TEXTURE_MAX_LEVEL			= 0x813D,
886
887	/* GL_ARB_multitexture */
888	GL_TEXTURE0_ARB				= 0x84C0,
889	GL_TEXTURE1_ARB				= 0x84C1,
890	GL_TEXTURE2_ARB				= 0x84C2,
891	GL_TEXTURE3_ARB				= 0x84C3,
892	GL_TEXTURE4_ARB				= 0x84C4,
893	GL_TEXTURE5_ARB				= 0x84C5,
894	GL_TEXTURE6_ARB				= 0x84C6,
895	GL_TEXTURE7_ARB				= 0x84C7,
896	GL_TEXTURE8_ARB				= 0x84C8,
897	GL_TEXTURE9_ARB				= 0x84C9,
898	GL_TEXTURE10_ARB			= 0x84CA,
899	GL_TEXTURE11_ARB			= 0x84CB,
900	GL_TEXTURE12_ARB			= 0x84CC,
901	GL_TEXTURE13_ARB			= 0x84CD,
902	GL_TEXTURE14_ARB			= 0x84CE,
903	GL_TEXTURE15_ARB			= 0x84CF,
904	GL_TEXTURE16_ARB			= 0x84D0,
905	GL_TEXTURE17_ARB			= 0x84D1,
906	GL_TEXTURE18_ARB			= 0x84D2,
907	GL_TEXTURE19_ARB			= 0x84D3,
908	GL_TEXTURE20_ARB			= 0x84D4,
909	GL_TEXTURE21_ARB			= 0x84D5,
910	GL_TEXTURE22_ARB			= 0x84D6,
911	GL_TEXTURE23_ARB			= 0x84D7,
912	GL_TEXTURE24_ARB			= 0x84D8,
913	GL_TEXTURE25_ARB			= 0x84D9,
914	GL_TEXTURE26_ARB			= 0x84DA,
915	GL_TEXTURE27_ARB			= 0x84DB,
916	GL_TEXTURE28_ARB			= 0x84DC,
917	GL_TEXTURE29_ARB			= 0x84DD,
918	GL_TEXTURE30_ARB			= 0x84DE,
919	GL_TEXTURE31_ARB			= 0x84DF,
920	GL_ACTIVE_TEXTURE_ARB			= 0x84E0,
921	GL_CLIENT_ACTIVE_TEXTURE_ARB		= 0x84E1,
922	GL_MAX_TEXTURE_UNITS_ARB		= 0x84E2,
923
924	/*
925	 * OpenGL 1.2 imaging subset (NOT IMPLEMENTED BY MESA)
926	 */
927	/* GL_EXT_color_table */
928	GL_COLOR_TABLE				= 0x80D0,
929	GL_POST_CONVOLUTION_COLOR_TABLE		= 0x80D1,
930	GL_POST_COLOR_MATRIX_COLOR_TABLE	= 0x80D2,
931	GL_PROXY_COLOR_TABLE			= 0x80D3,
932	GL_PROXY_POST_CONVOLUTION_COLOR_TABLE	= 0x80D4,
933	GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE	= 0x80D5,
934	GL_COLOR_TABLE_SCALE			= 0x80D6,
935	GL_COLOR_TABLE_BIAS			= 0x80D7,
936	GL_COLOR_TABLE_FORMAT			= 0x80D8,
937	GL_COLOR_TABLE_WIDTH			= 0x80D9,
938	GL_COLOR_TABLE_RED_SIZE			= 0x80DA,
939	GL_COLOR_TABLE_GREEN_SIZE		= 0x80DB,
940	GL_COLOR_TABLE_BLUE_SIZE		= 0x80DC,
941	GL_COLOR_TABLE_ALPHA_SIZE		= 0x80DD,
942	GL_COLOR_TABLE_LUMINANCE_SIZE		= 0x80DE,
943	GL_COLOR_TABLE_INTENSITY_SIZE		= 0x80DF,
944
945	/* GL_EXT_convolution and GL_HP_convolution_border_modes */
946	GL_CONVOLUTION_1D			= 0x8010,
947	GL_CONVOLUTION_2D			= 0x8011,
948	GL_SEPARABLE_2D				= 0x8012,
949	GL_CONVOLUTION_BORDER_MODE		= 0x8013,
950	GL_CONVOLUTION_FILTER_SCALE		= 0x8014,
951	GL_CONVOLUTION_FILTER_BIAS		= 0x8015,
952	GL_REDUCE				= 0x8016,
953	GL_CONVOLUTION_FORMAT			= 0x8017,
954	GL_CONVOLUTION_WIDTH			= 0x8018,
955	GL_CONVOLUTION_HEIGHT			= 0x8019,
956	GL_MAX_CONVOLUTION_WIDTH		= 0x801A,
957	GL_MAX_CONVOLUTION_HEIGHT		= 0x801B,
958	GL_POST_CONVOLUTION_RED_SCALE		= 0x801C,
959	GL_POST_CONVOLUTION_GREEN_SCALE		= 0x801D,
960	GL_POST_CONVOLUTION_BLUE_SCALE		= 0x801E,
961	GL_POST_CONVOLUTION_ALPHA_SCALE		= 0x801F,
962	GL_POST_CONVOLUTION_RED_BIAS		= 0x8020,
963	GL_POST_CONVOLUTION_GREEN_BIAS		= 0x8021,
964	GL_POST_CONVOLUTION_BLUE_BIAS		= 0x8022,
965	GL_POST_CONVOLUTION_ALPHA_BIAS		= 0x8023,
966	GL_CONSTANT_BORDER			= 0x8151,
967	GL_REPLICATE_BORDER			= 0x8153,
968	GL_CONVOLUTION_BORDER_COLOR		= 0x8154,
969
970	/* GL_SGI_color_matrix */
971	GL_COLOR_MATRIX				= 0x80B1,
972	GL_COLOR_MATRIX_STACK_DEPTH		= 0x80B2,
973	GL_MAX_COLOR_MATRIX_STACK_DEPTH		= 0x80B3,
974	GL_POST_COLOR_MATRIX_RED_SCALE		= 0x80B4,
975	GL_POST_COLOR_MATRIX_GREEN_SCALE	= 0x80B5,
976	GL_POST_COLOR_MATRIX_BLUE_SCALE		= 0x80B6,
977	GL_POST_COLOR_MATRIX_ALPHA_SCALE	= 0x80B7,
978	GL_POST_COLOR_MATRIX_RED_BIAS		= 0x80B8,
979	GL_POST_COLOR_MATRIX_GREEN_BIAS		= 0x80B9,
980	GL_POST_COLOR_MATRIX_BLUE_BIAS		= 0x80BA,
981	GL_POST_COLOR_MATRIX_ALPHA_BIAS		= 0x80BB,
982
983	/* GL_EXT_histogram */
984	GL_HISTOGRAM				= 0x8024,
985	GL_PROXY_HISTOGRAM			= 0x8025,
986	GL_HISTOGRAM_WIDTH			= 0x8026,
987	GL_HISTOGRAM_FORMAT			= 0x8027,
988	GL_HISTOGRAM_RED_SIZE			= 0x8028,
989	GL_HISTOGRAM_GREEN_SIZE			= 0x8029,
990	GL_HISTOGRAM_BLUE_SIZE			= 0x802A,
991	GL_HISTOGRAM_ALPHA_SIZE			= 0x802B,
992	GL_HISTOGRAM_LUMINANCE_SIZE		= 0x802C,
993	GL_HISTOGRAM_SINK			= 0x802D,
994	GL_MINMAX				= 0x802E,
995	GL_MINMAX_FORMAT			= 0x802F,
996	GL_MINMAX_SINK				= 0x8030,
997	GL_TABLE_TOO_LARGE			= 0x8031,
998
999	/* GL_NV_texgen_reflection (nVidia) */
1000	GL_NORMAL_MAP_NV			= 0x8511,
1001	GL_REFLECTION_MAP_NV			= 0x8512,
1002
1003	/* GL_PGI_misc_hints */
1004	GL_PREFER_DOUBLEBUFFER_HINT_PGI		= 107000,
1005	GL_STRICT_DEPTHFUNC_HINT_PGI		= 107030,
1006	GL_STRICT_LIGHTING_HINT_PGI		= 107031,
1007	GL_STRICT_SCISSOR_HINT_PGI		= 107032,
1008	GL_FULL_STIPPLE_HINT_PGI		= 107033,
1009	GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI	= 107011,
1010	GL_NATIVE_GRAPHICS_END_HINT_PGI		= 107012,
1011	GL_CONSERVE_MEMORY_HINT_PGI		= 107005,
1012	GL_RECLAIM_MEMORY_HINT_PGI		= 107006,
1013	GL_ALWAYS_FAST_HINT_PGI			= 107020,
1014	GL_ALWAYS_SOFT_HINT_PGI			= 107021,
1015	GL_ALLOW_DRAW_OBJ_HINT_PGI		= 107022,
1016	GL_ALLOW_DRAW_WIN_HINT_PGI		= 107023,
1017	GL_ALLOW_DRAW_FRG_HINT_PGI		= 107024,
1018	GL_ALLOW_DRAW_SPN_HINT_PGI		= 107024,
1019	GL_ALLOW_DRAW_MEM_HINT_PGI		= 107025,
1020	GL_CLIP_NEAR_HINT_PGI			= 107040,
1021	GL_CLIP_FAR_HINT_PGI			= 107041,
1022	GL_WIDE_LINE_HINT_PGI		  	= 107042,
1023	GL_BACK_NORMALS_HINT_PGI		= 107043,
1024	GL_NATIVE_GRAPHICS_HANDLE_PGI		= 107010,
1025
1026	/* GL_EXT_compiled_vertex_array */
1027	GL_ARRAY_ELEMENT_LOCK_FIRST_SGI		= 0x81A8,
1028	GL_ARRAY_ELEMENT_LOCK_COUNT_SGI		= 0x81A9,
1029
1030	/* GL_EXT_clip_volume_hint */
1031	GL_CLIP_VOLUME_CLIPPING_HINT_EXT	= 0x80F0
1032
1033
1034/* When you add new enums, please make sure you update the strings
1035 * in enums.c as well...
1036 */
1037
1038}
1039#ifdef CENTERLINE_CLPP
1040  /* CenterLine C++ workaround: */
1041  gl_enum;
1042  typedef int GLenum;
1043#else
1044  /* all other compilers */
1045  GLenum;
1046#endif
1047
1048
1049/* GL_NO_ERROR must be zero */
1050#define GL_NO_ERROR 0
1051
1052
1053
1054enum {
1055	GL_CURRENT_BIT		= 0x00000001,
1056	GL_POINT_BIT		= 0x00000002,
1057	GL_LINE_BIT		= 0x00000004,
1058	GL_POLYGON_BIT		= 0x00000008,
1059	GL_POLYGON_STIPPLE_BIT	= 0x00000010,
1060	GL_PIXEL_MODE_BIT	= 0x00000020,
1061	GL_LIGHTING_BIT		= 0x00000040,
1062	GL_FOG_BIT		= 0x00000080,
1063	GL_DEPTH_BUFFER_BIT	= 0x00000100,
1064	GL_ACCUM_BUFFER_BIT	= 0x00000200,
1065	GL_STENCIL_BUFFER_BIT	= 0x00000400,
1066	GL_VIEWPORT_BIT		= 0x00000800,
1067	GL_TRANSFORM_BIT	= 0x00001000,
1068	GL_ENABLE_BIT		= 0x00002000,
1069	GL_COLOR_BUFFER_BIT	= 0x00004000,
1070	GL_HINT_BIT		= 0x00008000,
1071	GL_EVAL_BIT		= 0x00010000,
1072	GL_LIST_BIT		= 0x00020000,
1073	GL_TEXTURE_BIT		= 0x00040000,
1074	GL_SCISSOR_BIT		= 0x00080000,
1075	GL_ALL_ATTRIB_BITS	= 0x000FFFFF
1076};
1077
1078
1079enum {
1080	GL_CLIENT_PIXEL_STORE_BIT	= 0x00000001,
1081	GL_CLIENT_VERTEX_ARRAY_BIT	= 0x00000002
1082};
1083#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
1084
1085
1086typedef unsigned int GLbitfield;
1087
1088
1089#ifdef CENTERLINE_CLPP
1090#define signed
1091#endif
1092
1093
1094/*
1095 *
1096 * Data types (may be architecture dependent in some cases)
1097 *
1098 */
1099
1100/*  C type		GL type		storage                            */
1101/*-------------------------------------------------------------------------*/
1102typedef void		GLvoid;
1103typedef unsigned char	GLboolean;
1104typedef signed char	GLbyte;		/* 1-byte signed */
1105typedef short		GLshort;	/* 2-byte signed */
1106typedef int		GLint;		/* 4-byte signed */
1107typedef unsigned char	GLubyte;	/* 1-byte unsigned */
1108typedef unsigned short	GLushort;	/* 2-byte unsigned */
1109typedef unsigned int	GLuint;		/* 4-byte unsigned */
1110typedef int		GLsizei;	/* 4-byte signed */
1111typedef float		GLfloat;	/* single precision float */
1112typedef float		GLclampf;	/* single precision float in [0,1] */
1113typedef double		GLdouble;	/* double precision float */
1114typedef double		GLclampd;	/* double precision float in [0,1] */
1115
1116
1117
1118#if defined(__BEOS__) || defined(__QUICKDRAW__)
1119#pragma export on
1120#endif
1121
1122
1123/*
1124 * Miscellaneous
1125 */
1126
1127GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
1128
1129GLAPI void GLAPIENTRY glClearColor( GLclampf red,
1130			  GLclampf green,
1131			  GLclampf blue,
1132			  GLclampf alpha );
1133
1134GLAPI void GLAPIENTRY glClear( GLbitfield mask );
1135
1136GLAPI void GLAPIENTRY glIndexMask( GLuint mask );
1137
1138GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green,
1139			 GLboolean blue, GLboolean alpha );
1140
1141GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );
1142
1143GLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
1144
1145GLAPI void GLAPIENTRY glLogicOp( GLenum opcode );
1146
1147GLAPI void GLAPIENTRY glCullFace( GLenum mode );
1148
1149GLAPI void GLAPIENTRY glFrontFace( GLenum mode );
1150
1151GLAPI void GLAPIENTRY glPointSize( GLfloat size );
1152
1153GLAPI void GLAPIENTRY glLineWidth( GLfloat width );
1154
1155GLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern );
1156
1157GLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );
1158
1159GLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
1160
1161GLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask );
1162
1163GLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );
1164
1165GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );
1166
1167GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
1168
1169GLAPI void GLAPIENTRY glScissor( GLint x, GLint y,
1170                                   GLsizei width, GLsizei height);
1171
1172GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
1173
1174GLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
1175
1176GLAPI void GLAPIENTRY glDrawBuffer( GLenum mode );
1177
1178GLAPI void GLAPIENTRY glReadBuffer( GLenum mode );
1179
1180GLAPI void GLAPIENTRY glEnable( GLenum cap );
1181
1182GLAPI void GLAPIENTRY glDisable( GLenum cap );
1183
1184GLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap );
1185
1186
1187GLAPI void GLAPIENTRY glEnableClientState( GLenum cap );  /* 1.1 */
1188
1189GLAPI void GLAPIENTRY glDisableClientState( GLenum cap );  /* 1.1 */
1190
1191
1192GLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
1193
1194GLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params );
1195
1196GLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params );
1197
1198GLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params );
1199
1200
1201GLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask );
1202
1203GLAPI void GLAPIENTRY glPopAttrib( void );
1204
1205
1206GLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask );  /* 1.1 */
1207
1208GLAPI void GLAPIENTRY glPopClientAttrib( void );  /* 1.1 */
1209
1210
1211GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );
1212
1213GLAPI GLenum GLAPIENTRY glGetError( void );
1214
1215GLAPI const GLubyte* GLAPIENTRY glGetString( GLenum name );
1216
1217GLAPI void GLAPIENTRY glFinish( void );
1218
1219GLAPI void GLAPIENTRY glFlush( void );
1220
1221GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
1222
1223
1224
1225/*
1226 * Depth Buffer
1227 */
1228
1229GLAPI void GLAPIENTRY glClearDepth( GLclampd depth );
1230
1231GLAPI void GLAPIENTRY glDepthFunc( GLenum func );
1232
1233GLAPI void GLAPIENTRY glDepthMask( GLboolean flag );
1234
1235GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
1236
1237
1238/*
1239 * Accumulation Buffer
1240 */
1241
1242GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green,
1243                                      GLfloat blue, GLfloat alpha );
1244
1245GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
1246
1247
1248
1249/*
1250 * Transformation
1251 */
1252
1253GLAPI void GLAPIENTRY glMatrixMode( GLenum mode );
1254
1255GLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right,
1256                                 GLdouble bottom, GLdouble top,
1257                                 GLdouble near_val, GLdouble far_val );
1258
1259GLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right,
1260                                   GLdouble bottom, GLdouble top,
1261                                   GLdouble near_val, GLdouble far_val );
1262
1263GLAPI void GLAPIENTRY glViewport( GLint x, GLint y,
1264                                    GLsizei width, GLsizei height );
1265
1266GLAPI void GLAPIENTRY glPushMatrix( void );
1267
1268GLAPI void GLAPIENTRY glPopMatrix( void );
1269
1270GLAPI void GLAPIENTRY glLoadIdentity( void );
1271
1272GLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m );
1273GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m );
1274
1275GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m );
1276GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m );
1277
1278GLAPI void GLAPIENTRY glRotated( GLdouble angle,
1279                                   GLdouble x, GLdouble y, GLdouble z );
1280GLAPI void GLAPIENTRY glRotatef( GLfloat angle,
1281                                   GLfloat x, GLfloat y, GLfloat z );
1282
1283GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
1284GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
1285
1286GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
1287GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
1288
1289
1290
1291/*
1292 * Display Lists
1293 */
1294
1295GLAPI GLboolean GLAPIENTRY glIsList( GLuint list );
1296
1297GLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );
1298
1299GLAPI GLuint GLAPIENTRY glGenLists( GLsizei range );
1300
1301GLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode );
1302
1303GLAPI void GLAPIENTRY glEndList( void );
1304
1305GLAPI void GLAPIENTRY glCallList( GLuint list );
1306
1307GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
1308                                     const GLvoid *lists );
1309
1310GLAPI void GLAPIENTRY glListBase( GLuint base );
1311
1312
1313
1314/*
1315 * Drawing Functions
1316 */
1317
1318GLAPI void GLAPIENTRY glBegin( GLenum mode );
1319
1320GLAPI void GLAPIENTRY glEnd( void );
1321
1322
1323GLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );
1324GLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );
1325GLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y );
1326GLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y );
1327
1328GLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
1329GLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
1330GLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );
1331GLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
1332
1333GLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
1334GLAPI void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
1335GLAPI void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
1336GLAPI void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
1337
1338GLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v );
1339GLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v );
1340GLAPI void GLAPIENTRY glVertex2iv( const GLint *v );
1341GLAPI void GLAPIENTRY glVertex2sv( const GLshort *v );
1342
1343GLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v );
1344GLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v );
1345GLAPI void GLAPIENTRY glVertex3iv( const GLint *v );
1346GLAPI void GLAPIENTRY glVertex3sv( const GLshort *v );
1347
1348GLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v );
1349GLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v );
1350GLAPI void GLAPIENTRY glVertex4iv( const GLint *v );
1351GLAPI void GLAPIENTRY glVertex4sv( const GLshort *v );
1352
1353
1354GLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
1355GLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
1356GLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
1357GLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
1358GLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
1359
1360GLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v );
1361GLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v );
1362GLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v );
1363GLAPI void GLAPIENTRY glNormal3iv( const GLint *v );
1364GLAPI void GLAPIENTRY glNormal3sv( const GLshort *v );
1365
1366
1367GLAPI void GLAPIENTRY glIndexd( GLdouble c );
1368GLAPI void GLAPIENTRY glIndexf( GLfloat c );
1369GLAPI void GLAPIENTRY glIndexi( GLint c );
1370GLAPI void GLAPIENTRY glIndexs( GLshort c );
1371GLAPI void GLAPIENTRY glIndexub( GLubyte c );  /* 1.1 */
1372
1373GLAPI void GLAPIENTRY glIndexdv( const GLdouble *c );
1374GLAPI void GLAPIENTRY glIndexfv( const GLfloat *c );
1375GLAPI void GLAPIENTRY glIndexiv( const GLint *c );
1376GLAPI void GLAPIENTRY glIndexsv( const GLshort *c );
1377GLAPI void GLAPIENTRY glIndexubv( const GLubyte *c );  /* 1.1 */
1378
1379GLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
1380GLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
1381GLAPI void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
1382GLAPI void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue );
1383GLAPI void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
1384GLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
1385GLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
1386GLAPI void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
1387
1388GLAPI void GLAPIENTRY glColor4b( GLbyte red, GLbyte green,
1389                                   GLbyte blue, GLbyte alpha );
1390GLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green,
1391                                   GLdouble blue, GLdouble alpha );
1392GLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green,
1393                                   GLfloat blue, GLfloat alpha );
1394GLAPI void GLAPIENTRY glColor4i( GLint red, GLint green,
1395                                   GLint blue, GLint alpha );
1396GLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green,
1397                                   GLshort blue, GLshort alpha );
1398GLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green,
1399                                    GLubyte blue, GLubyte alpha );
1400GLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green,
1401                                    GLuint blue, GLuint alpha );
1402GLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green,
1403                                    GLushort blue, GLushort alpha );
1404
1405
1406GLAPI void GLAPIENTRY glColor3bv( const GLbyte *v );
1407GLAPI void GLAPIENTRY glColor3dv( const GLdouble *v );
1408GLAPI void GLAPIENTRY glColor3fv( const GLfloat *v );
1409GLAPI void GLAPIENTRY glColor3iv( const GLint *v );
1410GLAPI void GLAPIENTRY glColor3sv( const GLshort *v );
1411GLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v );
1412GLAPI void GLAPIENTRY glColor3uiv( const GLuint *v );
1413GLAPI void GLAPIENTRY glColor3usv( const GLushort *v );
1414
1415GLAPI void GLAPIENTRY glColor4bv( const GLbyte *v );
1416GLAPI void GLAPIENTRY glColor4dv( const GLdouble *v );
1417GLAPI void GLAPIENTRY glColor4fv( const GLfloat *v );
1418GLAPI void GLAPIENTRY glColor4iv( const GLint *v );
1419GLAPI void GLAPIENTRY glColor4sv( const GLshort *v );
1420GLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v );
1421GLAPI void GLAPIENTRY glColor4uiv( const GLuint *v );
1422GLAPI void GLAPIENTRY glColor4usv( const GLushort *v );
1423
1424
1425GLAPI void GLAPIENTRY glTexCoord1d( GLdouble s );
1426GLAPI void GLAPIENTRY glTexCoord1f( GLfloat s );
1427GLAPI void GLAPIENTRY glTexCoord1i( GLint s );
1428GLAPI void GLAPIENTRY glTexCoord1s( GLshort s );
1429
1430GLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );
1431GLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );
1432GLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t );
1433GLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );
1434
1435GLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
1436GLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
1437GLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
1438GLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
1439
1440GLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
1441GLAPI void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
1442GLAPI void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
1443GLAPI void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
1444
1445GLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v );
1446GLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v );
1447GLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v );
1448GLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v );
1449
1450GLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v );
1451GLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v );
1452GLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v );
1453GLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v );
1454
1455GLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v );
1456GLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v );
1457GLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v );
1458GLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v );
1459
1460GLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v );
1461GLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v );
1462GLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v );
1463GLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v );
1464
1465
1466GLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );
1467GLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );
1468GLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y );
1469GLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );
1470
1471GLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
1472GLAPI void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
1473GLAPI void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
1474GLAPI void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
1475
1476GLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
1477GLAPI void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
1478GLAPI void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
1479GLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
1480
1481GLAPI void GLAPIENTRY glRasterPos2dv( const GLdouble *v );
1482GLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat *v );
1483GLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v );
1484GLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v );
1485
1486GLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v );
1487GLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v );
1488GLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v );
1489GLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v );
1490
1491GLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v );
1492GLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v );
1493GLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v );
1494GLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v );
1495
1496
1497GLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
1498GLAPI void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
1499GLAPI void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
1500GLAPI void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
1501
1502
1503GLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
1504GLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
1505GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
1506GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
1507
1508
1509
1510/*
1511 * Vertex Arrays  (1.1)
1512 */
1513
1514GLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type,
1515                                       GLsizei stride, const GLvoid *ptr );
1516
1517GLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride,
1518                                       const GLvoid *ptr );
1519
1520GLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type,
1521                                      GLsizei stride, const GLvoid *ptr );
1522
1523GLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride,
1524                                      const GLvoid *ptr );
1525
1526GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,
1527                                         GLsizei stride, const GLvoid *ptr );
1528
1529GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
1530
1531GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, void **params );
1532
1533GLAPI void GLAPIENTRY glArrayElement( GLint i );
1534
1535GLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
1536
1537GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
1538                                      GLenum type, const GLvoid *indices );
1539
1540GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
1541                                           const GLvoid *pointer );
1542
1543
1544/*
1545 * Lighting
1546 */
1547
1548GLAPI void GLAPIENTRY glShadeModel( GLenum mode );
1549
1550GLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
1551GLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param );
1552GLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum pname,
1553                                 const GLfloat *params );
1554GLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname,
1555                                 const GLint *params );
1556
1557GLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname,
1558                                    GLfloat *params );
1559GLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname,
1560                                    GLint *params );
1561
1562GLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );
1563GLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param );
1564GLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
1565GLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params );
1566
1567GLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
1568GLAPI void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
1569GLAPI void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
1570GLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
1571
1572GLAPI void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
1573GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
1574
1575GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
1576
1577
1578
1579
1580/*
1581 * Raster functions
1582 */
1583
1584GLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
1585
1586GLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );
1587GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
1588
1589GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );
1590GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );
1591
1592GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLint mapsize,
1593                                    const GLfloat *values );
1594GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLint mapsize,
1595                                     const GLuint *values );
1596GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLint mapsize,
1597                                     const GLushort *values );
1598
1599GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
1600GLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
1601GLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
1602
1603GLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height,
1604                                GLfloat xorig, GLfloat yorig,
1605                                GLfloat xmove, GLfloat ymove,
1606                                const GLubyte *bitmap );
1607
1608GLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y,
1609                                    GLsizei width, GLsizei height,
1610                                    GLenum format, GLenum type,
1611                                    GLvoid *pixels );
1612
1613GLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height,
1614                                    GLenum format, GLenum type,
1615                                    const GLvoid *pixels );
1616
1617GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
1618                                    GLsizei width, GLsizei height,
1619                                    GLenum type );
1620
1621
1622
1623/*
1624 * Stenciling
1625 */
1626
1627GLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
1628
1629GLAPI void GLAPIENTRY glStencilMask( GLuint mask );
1630
1631GLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
1632
1633GLAPI void GLAPIENTRY glClearStencil( GLint s );
1634
1635
1636
1637/*
1638 * Texture mapping
1639 */
1640
1641GLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
1642GLAPI void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
1643GLAPI void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
1644
1645GLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
1646GLAPI void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
1647GLAPI void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
1648
1649GLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
1650GLAPI void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
1651GLAPI void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
1652
1653
1654GLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
1655GLAPI void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
1656
1657GLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
1658GLAPI void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
1659
1660GLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
1661GLAPI void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
1662
1663
1664GLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
1665GLAPI void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
1666
1667GLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname,
1668                                          const GLfloat *params );
1669GLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname,
1670                                          const GLint *params );
1671
1672GLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target,
1673                                           GLenum pname, GLfloat *params);
1674GLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target,
1675                                           GLenum pname, GLint *params );
1676
1677GLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,
1678                                                GLenum pname, GLfloat *params );
1679GLAPI void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,
1680                                                GLenum pname, GLint *params );
1681
1682
1683GLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level,
1684                                    GLint internalFormat,
1685                                    GLsizei width, GLint border,
1686                                    GLenum format, GLenum type,
1687                                    const GLvoid *pixels );
1688
1689GLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level,
1690                                    GLint internalFormat,
1691                                    GLsizei width, GLsizei height,
1692                                    GLint border, GLenum format, GLenum type,
1693                                    const GLvoid *pixels );
1694
1695GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
1696                                     GLenum format, GLenum type,
1697                                     GLvoid *pixels );
1698
1699
1700
1701/* 1.1 functions */
1702
1703GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
1704
1705GLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
1706
1707GLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );
1708
1709GLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n,
1710                                            const GLuint *textures,
1711                                            const GLclampf *priorities );
1712
1713GLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n,
1714                                                  const GLuint *textures,
1715                                                  GLboolean *residences );
1716
1717GLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture );
1718
1719
1720GLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level,
1721                                       GLint xoffset,
1722                                       GLsizei width, GLenum format,
1723                                       GLenum type, const GLvoid *pixels );
1724
1725
1726GLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level,
1727                                       GLint xoffset, GLint yoffset,
1728                                       GLsizei width, GLsizei height,
1729                                       GLenum format, GLenum type,
1730                                       const GLvoid *pixels );
1731
1732
1733GLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level,
1734                                        GLenum internalformat,
1735                                        GLint x, GLint y,
1736                                        GLsizei width, GLint border );
1737
1738
1739GLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level,
1740                                        GLenum internalformat,
1741                                        GLint x, GLint y,
1742                                        GLsizei width, GLsizei height,
1743                                        GLint border );
1744
1745
1746GLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level,
1747                                           GLint xoffset, GLint x, GLint y,
1748                                           GLsizei width );
1749
1750
1751GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
1752                                           GLint xoffset, GLint yoffset,
1753                                           GLint x, GLint y,
1754                                           GLsizei width, GLsizei height );
1755
1756
1757
1758
1759/*
1760 * Evaluators
1761 */
1762
1763GLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,
1764                               GLint stride,
1765                               GLint order, const GLdouble *points );
1766GLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
1767                               GLint stride,
1768                               GLint order, const GLfloat *points );
1769
1770GLAPI void GLAPIENTRY glMap2d( GLenum target,
1771		     GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
1772		     GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
1773		     const GLdouble *points );
1774GLAPI void GLAPIENTRY glMap2f( GLenum target,
1775		     GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
1776		     GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
1777		     const GLfloat *points );
1778
1779GLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
1780GLAPI void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
1781GLAPI void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
1782
1783GLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u );
1784GLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u );
1785
1786GLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );
1787GLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );
1788
1789GLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
1790GLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
1791
1792GLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );
1793GLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );
1794
1795GLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
1796GLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
1797
1798GLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
1799                                   GLint vn, GLdouble v1, GLdouble v2 );
1800GLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
1801                                   GLint vn, GLfloat v1, GLfloat v2 );
1802
1803GLAPI void GLAPIENTRY glEvalPoint1( GLint i );
1804
1805GLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j );
1806
1807GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
1808
1809GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
1810
1811
1812
1813/*
1814 * Fog
1815 */
1816
1817GLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param );
1818
1819GLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param );
1820
1821GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
1822
1823GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
1824
1825
1826
1827/*
1828 * Selection and Feedback
1829 */
1830
1831GLAPI void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
1832
1833GLAPI void GLAPIENTRY glPassThrough( GLfloat token );
1834
1835GLAPI void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
1836
1837GLAPI void GLAPIENTRY glInitNames( void );
1838
1839GLAPI void GLAPIENTRY glLoadName( GLuint name );
1840
1841GLAPI void GLAPIENTRY glPushName( GLuint name );
1842
1843GLAPI void GLAPIENTRY glPopName( void );
1844
1845
1846
1847/*
1848 * Extensions
1849 */
1850
1851/* GL_EXT_blend_minmax */
1852GLAPI void GLAPIENTRY glBlendEquationEXT( GLenum mode );
1853
1854
1855
1856/* GL_EXT_blend_color */
1857GLAPI void GLAPIENTRY glBlendColorEXT( GLclampf red, GLclampf green,
1858                                       GLclampf blue, GLclampf alpha );
1859
1860
1861
1862/* GL_EXT_polygon_offset */
1863GLAPI void GLAPIENTRY glPolygonOffsetEXT( GLfloat factor, GLfloat bias );
1864
1865
1866
1867/* GL_EXT_vertex_array */
1868
1869GLAPI void GLAPIENTRY glVertexPointerEXT( GLint size, GLenum type,
1870                                          GLsizei stride,
1871                                          GLsizei count, const GLvoid *ptr );
1872
1873GLAPI void GLAPIENTRY glNormalPointerEXT( GLenum type, GLsizei stride,
1874                                          GLsizei count, const GLvoid *ptr );
1875
1876GLAPI void GLAPIENTRY glColorPointerEXT( GLint size, GLenum type,
1877                                         GLsizei stride,
1878                                         GLsizei count, const GLvoid *ptr );
1879
1880GLAPI void GLAPIENTRY glIndexPointerEXT( GLenum type, GLsizei stride,
1881                                         GLsizei count, const GLvoid *ptr );
1882
1883GLAPI void GLAPIENTRY glTexCoordPointerEXT( GLint size, GLenum type,
1884                                            GLsizei stride, GLsizei count,
1885                                            const GLvoid *ptr );
1886
1887GLAPI void GLAPIENTRY glEdgeFlagPointerEXT( GLsizei stride, GLsizei count,
1888                                            const GLboolean *ptr );
1889
1890GLAPI void GLAPIENTRY glGetPointervEXT( GLenum pname, void **params );
1891
1892GLAPI void GLAPIENTRY glArrayElementEXT( GLint i );
1893
1894GLAPI void GLAPIENTRY glDrawArraysEXT( GLenum mode, GLint first,
1895                                       GLsizei count );
1896
1897
1898
1899/* GL_EXT_texture_object */
1900
1901GLAPI void GLAPIENTRY glGenTexturesEXT( GLsizei n, GLuint *textures );
1902
1903GLAPI void GLAPIENTRY glDeleteTexturesEXT( GLsizei n, const GLuint *textures);
1904
1905GLAPI void GLAPIENTRY glBindTextureEXT( GLenum target, GLuint texture );
1906
1907GLAPI void GLAPIENTRY glPrioritizeTexturesEXT( GLsizei n,
1908                                               const GLuint *textures,
1909                                               const GLclampf *priorities );
1910
1911GLAPI GLboolean GLAPIENTRY glAreTexturesResidentEXT( GLsizei n,
1912                                                     const GLuint *textures,
1913                                                     GLboolean *residences );
1914
1915GLAPI GLboolean GLAPIENTRY glIsTextureEXT( GLuint texture );
1916
1917
1918
1919/* GL_EXT_texture3D */
1920
1921GLAPI void GLAPIENTRY glTexImage3DEXT( GLenum target, GLint level,
1922                                       GLenum internalFormat,
1923                                       GLsizei width, GLsizei height,
1924                                       GLsizei depth, GLint border,
1925                                       GLenum format, GLenum type,
1926                                       const GLvoid *pixels );
1927
1928GLAPI void GLAPIENTRY glTexSubImage3DEXT( GLenum target, GLint level,
1929                                          GLint xoffset, GLint yoffset,
1930                                          GLint zoffset, GLsizei width,
1931                                          GLsizei height, GLsizei depth,
1932                                          GLenum format,
1933                                          GLenum type, const GLvoid *pixels);
1934
1935GLAPI void GLAPIENTRY glCopyTexSubImage3DEXT( GLenum target, GLint level,
1936                                              GLint xoffset, GLint yoffset,
1937                                              GLint zoffset, GLint x,
1938                                              GLint y, GLsizei width,
1939                                              GLsizei height );
1940
1941
1942
1943/* GL_EXT_color_table */
1944
1945GLAPI void GLAPIENTRY glColorTableEXT( GLenum target, GLenum internalformat,
1946                                       GLsizei width, GLenum format,
1947                                       GLenum type, const GLvoid *table );
1948
1949GLAPI void GLAPIENTRY glColorSubTableEXT( GLenum target,
1950                                          GLsizei start, GLsizei count,
1951                                          GLenum format, GLenum type,
1952                                          const GLvoid *data );
1953
1954GLAPI void GLAPIENTRY glGetColorTableEXT( GLenum target, GLenum format,
1955                                          GLenum type, GLvoid *table );
1956
1957GLAPI void GLAPIENTRY glGetColorTableParameterfvEXT( GLenum target,
1958                                                     GLenum pname,
1959                                                     GLfloat *params );
1960
1961GLAPI void GLAPIENTRY glGetColorTableParameterivEXT( GLenum target,
1962                                                     GLenum pname,
1963                                                     GLint *params );
1964
1965
1966/* GL_ARB_multitexture */
1967
1968GLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture);
1969GLAPI void GLAPIENTRY glClientActiveTextureARB(GLenum texture);
1970GLAPI void GLAPIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble s);
1971GLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);
1972GLAPI void GLAPIENTRY glMultiTexCoord1fARB(GLenum target, GLfloat s);
1973GLAPI void GLAPIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);
1974GLAPI void GLAPIENTRY glMultiTexCoord1iARB(GLenum target, GLint s);
1975GLAPI void GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v);
1976GLAPI void GLAPIENTRY glMultiTexCoord1sARB(GLenum target, GLshort s);
1977GLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v);
1978GLAPI void GLAPIENTRY glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
1979GLAPI void GLAPIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);
1980GLAPI void GLAPIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
1981GLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);
1982GLAPI void GLAPIENTRY glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
1983GLAPI void GLAPIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v);
1984GLAPI void GLAPIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
1985GLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v);
1986GLAPI void GLAPIENTRY glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
1987GLAPI void GLAPIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);
1988GLAPI void GLAPIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
1989GLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);
1990GLAPI void GLAPIENTRY glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
1991GLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v);
1992GLAPI void GLAPIENTRY glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
1993GLAPI void GLAPIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v);
1994GLAPI void GLAPIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
1995GLAPI void GLAPIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);
1996GLAPI void GLAPIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
1997GLAPI void GLAPIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);
1998GLAPI void GLAPIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
1999GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
2000GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
2001GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
2002
2003
2004
2005/* GL_EXT_point_parameters */
2006GLAPI void GLAPIENTRY glPointParameterfEXT( GLenum pname, GLfloat param );
2007GLAPI void GLAPIENTRY glPointParameterfvEXT( GLenum pname,
2008                                               const GLfloat *params );
2009
2010
2011
2012/* GL_INGR_blend_func_separate */
2013GLAPI void GLAPIENTRY glBlendFuncSeparateINGR( GLenum sfactorRGB,
2014                                               GLenum dfactorRGB,
2015                                               GLenum sfactorAlpha,
2016                                               GLenum dfactorAlpha );
2017
2018
2019
2020/* GL_MESA_window_pos */
2021
2022GLAPI void GLAPIENTRY glWindowPos2iMESA( GLint x, GLint y );
2023GLAPI void GLAPIENTRY glWindowPos2sMESA( GLshort x, GLshort y );
2024GLAPI void GLAPIENTRY glWindowPos2fMESA( GLfloat x, GLfloat y );
2025GLAPI void GLAPIENTRY glWindowPos2dMESA( GLdouble x, GLdouble y );
2026
2027GLAPI void GLAPIENTRY glWindowPos2ivMESA( const GLint *p );
2028GLAPI void GLAPIENTRY glWindowPos2svMESA( const GLshort *p );
2029GLAPI void GLAPIENTRY glWindowPos2fvMESA( const GLfloat *p );
2030GLAPI void GLAPIENTRY glWindowPos2dvMESA( const GLdouble *p );
2031
2032GLAPI void GLAPIENTRY glWindowPos3iMESA( GLint x, GLint y, GLint z );
2033GLAPI void GLAPIENTRY glWindowPos3sMESA( GLshort x, GLshort y, GLshort z );
2034GLAPI void GLAPIENTRY glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z );
2035GLAPI void GLAPIENTRY glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z );
2036
2037GLAPI void GLAPIENTRY glWindowPos3ivMESA( const GLint *p );
2038GLAPI void GLAPIENTRY glWindowPos3svMESA( const GLshort *p );
2039GLAPI void GLAPIENTRY glWindowPos3fvMESA( const GLfloat *p );
2040GLAPI void GLAPIENTRY glWindowPos3dvMESA( const GLdouble *p );
2041
2042GLAPI void GLAPIENTRY glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w );
2043GLAPI void GLAPIENTRY glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w );
2044GLAPI void GLAPIENTRY glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
2045GLAPI void GLAPIENTRY glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2046
2047GLAPI void GLAPIENTRY glWindowPos4ivMESA( const GLint *p );
2048GLAPI void GLAPIENTRY glWindowPos4svMESA( const GLshort *p );
2049GLAPI void GLAPIENTRY glWindowPos4fvMESA( const GLfloat *p );
2050GLAPI void GLAPIENTRY glWindowPos4dvMESA( const GLdouble *p );
2051
2052
2053/* GL_MESA_resize_buffers */
2054
2055GLAPI void GLAPIENTRY glResizeBuffersMESA( void );
2056
2057
2058/* 1.2 functions */
2059GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
2060	GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
2061
2062GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
2063                                      GLint internalFormat,
2064                                      GLsizei width, GLsizei height,
2065                                      GLsizei depth, GLint border,
2066                                      GLenum format, GLenum type,
2067                                      const GLvoid *pixels );
2068
2069GLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level,
2070                                         GLint xoffset, GLint yoffset,
2071                                         GLint zoffset, GLsizei width,
2072                                         GLsizei height, GLsizei depth,
2073                                         GLenum format,
2074                                         GLenum type, const GLvoid *pixels);
2075
2076GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
2077                                             GLint xoffset, GLint yoffset,
2078                                             GLint zoffset, GLint x,
2079                                             GLint y, GLsizei width,
2080                                             GLsizei height );
2081
2082
2083/* 1.2 imaging extension functions */
2084
2085GLAPI void GLAPIENTRY glBlendEquation( GLenum mode );
2086
2087GLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green,
2088                                    GLclampf blue, GLclampf alpha );
2089
2090GLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width,
2091				   GLenum internalformat, GLboolean sink );
2092
2093GLAPI void GLAPIENTRY glResetHistogram( GLenum target );
2094
2095GLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset,
2096				      GLenum format, GLenum type,
2097				      GLvoid *values );
2098
2099GLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname,
2100						 GLfloat *params );
2101
2102GLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname,
2103						 GLint *params );
2104
2105GLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat,
2106				GLboolean sink );
2107
2108GLAPI void GLAPIENTRY glResetMinmax( GLenum target );
2109
2110GLAPI void GLAPIENTRY glGetMinmax( GLenum target, GLboolean reset,
2111                                   GLenum format, GLenum types,
2112                                   GLvoid *values );
2113
2114GLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname,
2115					      GLfloat *params );
2116
2117GLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname,
2118					      GLint *params );
2119
2120GLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target,
2121	GLenum internalformat, GLsizei width, GLenum format, GLenum type,
2122	const GLvoid *image );
2123
2124GLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target,
2125	GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
2126	GLenum type, const GLvoid *image );
2127
2128GLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum pname,
2129	GLfloat params );
2130
2131GLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target, GLenum pname,
2132	const GLfloat *params );
2133
2134GLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum pname,
2135	GLint params );
2136
2137GLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target, GLenum pname,
2138	const GLint *params );
2139
2140GLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target,
2141	GLenum internalformat, GLint x, GLint y, GLsizei width );
2142
2143GLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target,
2144	GLenum internalformat, GLint x, GLint y, GLsizei width,
2145	GLsizei height);
2146
2147GLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum format,
2148	GLenum type, GLvoid *image );
2149
2150GLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname,
2151	GLfloat *params );
2152
2153GLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname,
2154	GLint *params );
2155
2156GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
2157	GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
2158	GLenum type, const GLvoid *row, const GLvoid *column );
2159
2160GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
2161	GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
2162
2163GLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei start,
2164	GLint x, GLint y, GLsizei width );
2165
2166GLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum internalformat,
2167	GLint x, GLint y, GLsizei width );
2168
2169
2170
2171/* GL_EXT_compiled_vertex_array */
2172GLAPI void GLAPIENTRY glLockArraysEXT( GLint first, GLsizei count );
2173GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
2174
2175
2176
2177#if defined(__BEOS__) || defined(__QUICKDRAW__)
2178#pragma export off
2179#endif
2180
2181
2182/*
2183 * Compile-time tests for extensions:
2184 */
2185#define GL_EXT_blend_color		1
2186#define GL_EXT_blend_logic_op		1
2187#define GL_EXT_blend_minmax		1
2188#define GL_EXT_blend_subtract		1
2189#define GL_EXT_polygon_offset		1
2190#define GL_EXT_vertex_array		1
2191#define GL_EXT_texture_object		1
2192#define GL_EXT_texture3D		1
2193#define GL_EXT_paletted_texture		1
2194#define GL_EXT_shared_texture_palette	1
2195#define GL_EXT_point_parameters		1
2196#define GL_EXT_rescale_normal		1
2197#define GL_EXT_abgr			1
2198#define GL_EXT_stencil_wrap		1
2199#define GL_MESA_window_pos		1
2200#define GL_MESA_resize_buffers		1
2201#define GL_SGIS_texture_edge_clamp	1
2202#define GL_INGR_blend_func_separate	1
2203#define GL_ARB_multitexture		1
2204#define GL_NV_texgen_reflection		1
2205#define GL_PGI_misc_hints               1
2206#define GL_EXT_compiled_vertex_array    1
2207#define GL_EXT_clip_volume_hint         1
2208
2209
2210#ifdef macintosh
2211	#pragma enumsalwaysint reset
2212	#if PRAGMA_IMPORT_SUPPORTED
2213	#pragma import off
2214	#endif
2215#endif
2216
2217
2218#ifdef __cplusplus
2219}
2220#endif
2221
2222#endif
2223