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