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