blob: 68fb1b3adba4d8d8d0ac4db9bb0af59395db22c1 [file] [log] [blame]
Kendall Bennetta7311921999-11-11 03:21:43 +00001/* $Id: gl.h,v 1.19 1999/11/11 03:21:43 kendallb Exp $ */
jtgafb833d1999-08-19 00:55:39 +00002
3/*
4 * Mesa 3-D graphics library
Brian Paulfbd8f211999-11-11 01:22:25 +00005 * Version: 3.3
jtgafb833d1999-08-19 00:55:39 +00006 *
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
Brian Paulfbd8f211999-11-11 01:22:25 +000048/*
49 * XXX move as many of these pragma's and MS Windows-isms into
50 * the new src/glheader.h file.
51 */
52
jtgafb833d1999-08-19 00:55:39 +000053#if defined(_WIN32) && !defined(__WIN32__)
54# define __WIN32__
55#endif
56
57#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__))
Ted Jumpb19ba781999-10-21 06:04:20 +000058# pragma warning( disable : 4068 ) /* unknown pragma */
Ted Jump38136ec1999-10-30 18:39:06 +000059# pragma warning( disable : 4710 ) /* function 'foo' not inlined */
Ted Jump3f17dfb1999-10-20 06:56:40 +000060# pragma warning( disable : 4711 ) /* function 'foo' selected for automatic inline expansion */
Ted Jumpf7190d41999-11-05 18:20:31 +000061# pragma warning( disable : 4127 ) /* conditional expression is constant */
Ted Jump38136ec1999-10-30 18:39:06 +000062# if defined(MESA_MINWARN)
Ted Jump38136ec1999-10-30 18:39:06 +000063# 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
jtgafb833d1999-08-19 00:55:39 +000069# if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
70# define GLAPI __declspec(dllexport)
Ted Jump6799ecb1999-09-17 04:25:56 +000071# define WGLAPI __declspec(dllexport)
jtgafb833d1999-08-19 00:55:39 +000072# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
73# define GLAPI __declspec(dllimport)
Ted Jump6799ecb1999-09-17 04:25:56 +000074# define WGLAPI __declspec(dllimport)
jtgafb833d1999-08-19 00:55:39 +000075# else /* for use with static link lib build of Win32 edition only */
76# define GLAPI extern
Ted Jump6799ecb1999-09-17 04:25:56 +000077# define WGLAPI __declspec(dllimport)
jtgafb833d1999-08-19 00:55:39 +000078# endif /* _STATIC_MESA support */
79# define GLAPIENTRY __stdcall
Kendall Bennetta7311921999-11-11 03:21:43 +000080# define GLAPIENTRYP __stdcall *
jtgafb833d1999-08-19 00:55:39 +000081# define GLCALLBACK __stdcall
Kendall Bennetta7311921999-11-11 03:21:43 +000082# define GLCALLBACKP __stdcall *
jtgafb833d1999-08-19 00:55:39 +000083# define GLWINAPI __stdcall
84# define GLWINAPIV __cdecl
85#else
86/* non-Windows compilation */
87# define GLAPI extern
88# define GLAPIENTRY
Kendall Bennetta7311921999-11-11 03:21:43 +000089# define GLAPIENTRYP *
jtgafb833d1999-08-19 00:55:39 +000090# define GLCALLBACK
Kendall Bennetta7311921999-11-11 03:21:43 +000091# define GLCALLBACKP *
jtgafb833d1999-08-19 00:55:39 +000092# 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)
jtgafb833d1999-08-19 00:55:39 +000099# 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)
jtgafb833d1999-08-19 00:55:39 +0000107# 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;
Ted Jump6799ecb1999-09-17 04:25:56 +0000118typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR;
119#include <gl/mesa_wgl.h>
jtgafb833d1999-08-19 00:55:39 +0000120#endif
121
jtgafb833d1999-08-19 00:55:39 +0000122#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 */
Brian Paulfbd8f211999-11-11 01:22:25 +0000139/* XXX these Mesa symbols are going away
jtgafb833d1999-08-19 00:55:39 +0000140#define MESA
jtgafb833d1999-08-19 00:55:39 +0000141#define MESA_MAJOR_VERSION 3
142#define MESA_MINOR_VERSION 1
Brian Paulfbd8f211999-11-11 01:22:25 +0000143*/
jtgafb833d1999-08-19 00:55:39 +0000144
145
146#define GL_VERSION_1_1 1
147#define GL_VERSION_1_2 1
148
149
Brian Paulfbd8f211999-11-11 01:22:25 +0000150
jtgafb833d1999-08-19 00:55:39 +0000151/*
152 *
Brian Paulfbd8f211999-11-11 01:22:25 +0000153 * Datatypes
jtgafb833d1999-08-19 00:55:39 +0000154 *
155 */
jtgafb833d1999-08-19 00:55:39 +0000156#ifdef CENTERLINE_CLPP
157#define signed
158#endif
Brian Paulfbd8f211999-11-11 01:22:25 +0000159typedef unsigned int GLenum;
jtgafb833d1999-08-19 00:55:39 +0000160typedef unsigned char GLboolean;
Brian Paulfbd8f211999-11-11 01:22:25 +0000161typedef unsigned int GLbitfield;
162typedef void GLvoid;
jtgafb833d1999-08-19 00:55:39 +0000163typedef 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
Brian Paulfbd8f211999-11-11 01:22:25 +0000177/*
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
jtgafb833d1999-08-19 00:55:39 +00001103#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/*
Brian Pauled345331999-09-11 11:26:34 +00001833 * Extensions
jtgafb833d1999-08-19 00:55:39 +00001834 */
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
Brian Paul053f2021999-10-17 20:18:15 +00002070GLAPI 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
Brian Paulc782c911999-10-17 21:42:32 +00002079GLAPI 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
Brian Paul053f2021999-10-17 20:18:15 +00002091GLAPI void GLAPIENTRY glGetColorTable( GLenum target, GLenum format,
2092 GLenum type, GLvoid *table );
2093
Brian Paulc782c911999-10-17 21:42:32 +00002094GLAPI void GLAPIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname,
Brian Paul053f2021999-10-17 20:18:15 +00002095 GLfloat *params );
2096
Brian Paulc782c911999-10-17 21:42:32 +00002097GLAPI void GLAPIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname,
Brian Paul053f2021999-10-17 20:18:15 +00002098 GLint *params );
2099
jtgafb833d1999-08-19 00:55:39 +00002100GLAPI 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
Brian Paul251ba691999-10-15 21:59:23 +00002125GLAPI void GLAPIENTRY glGetMinmax( GLenum target, GLboolean reset,
jtgafb833d1999-08-19 00:55:39 +00002126 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
jtgafb833d1999-08-19 00:55:39 +00002178
2179
2180/* GL_EXT_compiled_vertex_array */
2181GLAPI void GLAPIENTRY glLockArraysEXT( GLint first, GLsizei count );
2182GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
2183
2184
Brian Pauled345331999-09-11 11:26:34 +00002185
Brian Paulfbd8f211999-11-11 01:22:25 +00002186/*
2187 * XXX these extensions may eventually be moved into a new glext.h file
2188 */
jtgafb833d1999-08-19 00:55:39 +00002189
2190
2191/*
Brian Paulfbd8f211999-11-11 01:22:25 +00002192 * GL_EXT_point_parameters
jtgafb833d1999-08-19 00:55:39 +00002193 */
Brian Paulfbd8f211999-11-11 01:22:25 +00002194#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
jtgafb833d1999-08-19 00:55:39 +00002723
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