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