[NDK]
[reactos.git] / include / GL / gl.h
1 /* $Id: gl.h,v 1.3 2003/08/25 02:02:37 dannysmith Exp $ */
2
3 /*
4 * Mesa 3-D graphics library
5 * Version: 4.0
6 *
7 * Copyright (C) 1999-2001 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 * 2002-Apr-22, José Fonseca:
30 * Removed non Win32 system-specific stuff
31 *
32 * 2002-Apr-17, Marcus Geelnard:
33 * For win32, OpenGL 1.2 & 1.3 definitions are not made in this file
34 * anymore, since under Windows those are regarded as extensions, and
35 * are better defined in glext.h (especially the function prototypes may
36 * conflict with extension function pointers). A few "cosmetical"
37 * changes were also made to this file.
38 *
39 * 2002-Apr-15, Marcus Geelnard:
40 * Modified this file to better fit a wider range of compilers, removed
41 * Mesa specific stuff, and removed extension definitions (this file now
42 * relies on GL/glext.h). Hopefully this file should now function as a
43 * generic OpenGL gl.h include file for most compilers and environments.
44 * Changed GLAPIENTRY to APIENTRY (to be consistent with GL/glext.h).
45 ************************************************************************/
46
47
48 #ifndef __gl_h_
49 #define __gl_h_
50
51
52
53 /************************************************************************
54 * Begin system-specific stuff.
55 */
56 /* __WIN32__ */
57 #if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__))
58 # define __WIN32__
59 #endif
60
61 /* GLAPI, part 1 (use WINGDIAPI, if defined) */
62 #if defined(__WIN32__) && defined(WINGDIAPI)
63 # define GLAPI WINGDIAPI
64 #endif
65
66 /* GLAPI, part 2 */
67 #if !defined(GLAPI)
68 # if defined(_MSC_VER) /* Microsoft Visual C++ */
69 # define GLAPI __declspec(dllimport)
70 # elif defined(__LCC__) && defined(__WIN32__) /* LCC-Win32 */
71 # define GLAPI __stdcall
72 # else /* Others (e.g. MinGW, Cygwin, non-win32) */
73 # define GLAPI extern
74 # endif
75 #endif
76
77 /* APIENTRY */
78 #if !defined(APIENTRY)
79 # if defined(__WIN32__)
80 # define APIENTRY __stdcall
81 # else
82 # define APIENTRY
83 # endif
84 #endif
85 /*
86 * End system-specific stuff.
87 ************************************************************************/
88
89
90
91 #ifdef __cplusplus
92 extern "C" {
93 #endif
94
95
96
97 #define GL_VERSION_1_1 1
98
99 #if !defined(__WIN32__)
100 #define GL_VERSION_1_2 1
101 #define GL_VERSION_1_3 1
102 #define GL_ARB_imaging 1
103 #endif
104
105
106 /*
107 *
108 * Datatypes
109 *
110 */
111 #ifdef CENTERLINE_CLPP
112 #define signed
113 #endif
114 typedef unsigned int GLenum;
115 typedef unsigned char GLboolean;
116 typedef unsigned int GLbitfield;
117 typedef void GLvoid;
118 typedef signed char GLbyte; /* 1-byte signed */
119 typedef short GLshort; /* 2-byte signed */
120 typedef int GLint; /* 4-byte signed */
121 typedef unsigned char GLubyte; /* 1-byte unsigned */
122 typedef unsigned short GLushort; /* 2-byte unsigned */
123 typedef unsigned int GLuint; /* 4-byte unsigned */
124 typedef int GLsizei; /* 4-byte signed */
125 typedef float GLfloat; /* single precision float */
126 typedef float GLclampf; /* single precision float in [0,1] */
127 typedef double GLdouble; /* double precision float */
128 typedef double GLclampd; /* double precision float in [0,1] */
129
130
131
132 /************************************************************************
133 *
134 * Constants
135 *
136 ************************************************************************/
137
138 /* Boolean values */
139 #define GL_FALSE 0x0
140 #define GL_TRUE 0x1
141
142 /* Data types */
143 #define GL_BYTE 0x1400
144 #define GL_UNSIGNED_BYTE 0x1401
145 #define GL_SHORT 0x1402
146 #define GL_UNSIGNED_SHORT 0x1403
147 #define GL_INT 0x1404
148 #define GL_UNSIGNED_INT 0x1405
149 #define GL_FLOAT 0x1406
150 #define GL_DOUBLE 0x140A
151 #define GL_2_BYTES 0x1407
152 #define GL_3_BYTES 0x1408
153 #define GL_4_BYTES 0x1409
154
155 /* Primitives */
156 #define GL_POINTS 0x0000
157 #define GL_LINES 0x0001
158 #define GL_LINE_LOOP 0x0002
159 #define GL_LINE_STRIP 0x0003
160 #define GL_TRIANGLES 0x0004
161 #define GL_TRIANGLE_STRIP 0x0005
162 #define GL_TRIANGLE_FAN 0x0006
163 #define GL_QUADS 0x0007
164 #define GL_QUAD_STRIP 0x0008
165 #define GL_POLYGON 0x0009
166
167 /* Vertex Arrays */
168 #define GL_VERTEX_ARRAY 0x8074
169 #define GL_NORMAL_ARRAY 0x8075
170 #define GL_COLOR_ARRAY 0x8076
171 #define GL_INDEX_ARRAY 0x8077
172 #define GL_TEXTURE_COORD_ARRAY 0x8078
173 #define GL_EDGE_FLAG_ARRAY 0x8079
174 #define GL_VERTEX_ARRAY_SIZE 0x807A
175 #define GL_VERTEX_ARRAY_TYPE 0x807B
176 #define GL_VERTEX_ARRAY_STRIDE 0x807C
177 #define GL_NORMAL_ARRAY_TYPE 0x807E
178 #define GL_NORMAL_ARRAY_STRIDE 0x807F
179 #define GL_COLOR_ARRAY_SIZE 0x8081
180 #define GL_COLOR_ARRAY_TYPE 0x8082
181 #define GL_COLOR_ARRAY_STRIDE 0x8083
182 #define GL_INDEX_ARRAY_TYPE 0x8085
183 #define GL_INDEX_ARRAY_STRIDE 0x8086
184 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
185 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
186 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
187 #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
188 #define GL_VERTEX_ARRAY_POINTER 0x808E
189 #define GL_NORMAL_ARRAY_POINTER 0x808F
190 #define GL_COLOR_ARRAY_POINTER 0x8090
191 #define GL_INDEX_ARRAY_POINTER 0x8091
192 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
193 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
194 #define GL_V2F 0x2A20
195 #define GL_V3F 0x2A21
196 #define GL_C4UB_V2F 0x2A22
197 #define GL_C4UB_V3F 0x2A23
198 #define GL_C3F_V3F 0x2A24
199 #define GL_N3F_V3F 0x2A25
200 #define GL_C4F_N3F_V3F 0x2A26
201 #define GL_T2F_V3F 0x2A27
202 #define GL_T4F_V4F 0x2A28
203 #define GL_T2F_C4UB_V3F 0x2A29
204 #define GL_T2F_C3F_V3F 0x2A2A
205 #define GL_T2F_N3F_V3F 0x2A2B
206 #define GL_T2F_C4F_N3F_V3F 0x2A2C
207 #define GL_T4F_C4F_N3F_V4F 0x2A2D
208
209 /* Matrix Mode */
210 #define GL_MATRIX_MODE 0x0BA0
211 #define GL_MODELVIEW 0x1700
212 #define GL_PROJECTION 0x1701
213 #define GL_TEXTURE 0x1702
214
215 /* Points */
216 #define GL_POINT_SMOOTH 0x0B10
217 #define GL_POINT_SIZE 0x0B11
218 #define GL_POINT_SIZE_GRANULARITY 0x0B13
219 #define GL_POINT_SIZE_RANGE 0x0B12
220
221 /* Lines */
222 #define GL_LINE_SMOOTH 0x0B20
223 #define GL_LINE_STIPPLE 0x0B24
224 #define GL_LINE_STIPPLE_PATTERN 0x0B25
225 #define GL_LINE_STIPPLE_REPEAT 0x0B26
226 #define GL_LINE_WIDTH 0x0B21
227 #define GL_LINE_WIDTH_GRANULARITY 0x0B23
228 #define GL_LINE_WIDTH_RANGE 0x0B22
229
230 /* Polygons */
231 #define GL_POINT 0x1B00
232 #define GL_LINE 0x1B01
233 #define GL_FILL 0x1B02
234 #define GL_CW 0x0900
235 #define GL_CCW 0x0901
236 #define GL_FRONT 0x0404
237 #define GL_BACK 0x0405
238 #define GL_POLYGON_MODE 0x0B40
239 #define GL_POLYGON_SMOOTH 0x0B41
240 #define GL_POLYGON_STIPPLE 0x0B42
241 #define GL_EDGE_FLAG 0x0B43
242 #define GL_CULL_FACE 0x0B44
243 #define GL_CULL_FACE_MODE 0x0B45
244 #define GL_FRONT_FACE 0x0B46
245 #define GL_POLYGON_OFFSET_FACTOR 0x8038
246 #define GL_POLYGON_OFFSET_UNITS 0x2A00
247 #define GL_POLYGON_OFFSET_POINT 0x2A01
248 #define GL_POLYGON_OFFSET_LINE 0x2A02
249 #define GL_POLYGON_OFFSET_FILL 0x8037
250
251 /* Display Lists */
252 #define GL_COMPILE 0x1300
253 #define GL_COMPILE_AND_EXECUTE 0x1301
254 #define GL_LIST_BASE 0x0B32
255 #define GL_LIST_INDEX 0x0B33
256 #define GL_LIST_MODE 0x0B30
257
258 /* Depth buffer */
259 #define GL_NEVER 0x0200
260 #define GL_LESS 0x0201
261 #define GL_EQUAL 0x0202
262 #define GL_LEQUAL 0x0203
263 #define GL_GREATER 0x0204
264 #define GL_NOTEQUAL 0x0205
265 #define GL_GEQUAL 0x0206
266 #define GL_ALWAYS 0x0207
267 #define GL_DEPTH_TEST 0x0B71
268 #define GL_DEPTH_BITS 0x0D56
269 #define GL_DEPTH_CLEAR_VALUE 0x0B73
270 #define GL_DEPTH_FUNC 0x0B74
271 #define GL_DEPTH_RANGE 0x0B70
272 #define GL_DEPTH_WRITEMASK 0x0B72
273 #define GL_DEPTH_COMPONENT 0x1902
274
275 /* Lighting */
276 #define GL_LIGHTING 0x0B50
277 #define GL_LIGHT0 0x4000
278 #define GL_LIGHT1 0x4001
279 #define GL_LIGHT2 0x4002
280 #define GL_LIGHT3 0x4003
281 #define GL_LIGHT4 0x4004
282 #define GL_LIGHT5 0x4005
283 #define GL_LIGHT6 0x4006
284 #define GL_LIGHT7 0x4007
285 #define GL_SPOT_EXPONENT 0x1205
286 #define GL_SPOT_CUTOFF 0x1206
287 #define GL_CONSTANT_ATTENUATION 0x1207
288 #define GL_LINEAR_ATTENUATION 0x1208
289 #define GL_QUADRATIC_ATTENUATION 0x1209
290 #define GL_AMBIENT 0x1200
291 #define GL_DIFFUSE 0x1201
292 #define GL_SPECULAR 0x1202
293 #define GL_SHININESS 0x1601
294 #define GL_EMISSION 0x1600
295 #define GL_POSITION 0x1203
296 #define GL_SPOT_DIRECTION 0x1204
297 #define GL_AMBIENT_AND_DIFFUSE 0x1602
298 #define GL_COLOR_INDEXES 0x1603
299 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
300 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
301 #define GL_LIGHT_MODEL_AMBIENT 0x0B53
302 #define GL_FRONT_AND_BACK 0x0408
303 #define GL_SHADE_MODEL 0x0B54
304 #define GL_FLAT 0x1D00
305 #define GL_SMOOTH 0x1D01
306 #define GL_COLOR_MATERIAL 0x0B57
307 #define GL_COLOR_MATERIAL_FACE 0x0B55
308 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56
309 #define GL_NORMALIZE 0x0BA1
310
311 /* User clipping planes */
312 #define GL_CLIP_PLANE0 0x3000
313 #define GL_CLIP_PLANE1 0x3001
314 #define GL_CLIP_PLANE2 0x3002
315 #define GL_CLIP_PLANE3 0x3003
316 #define GL_CLIP_PLANE4 0x3004
317 #define GL_CLIP_PLANE5 0x3005
318
319 /* Accumulation buffer */
320 #define GL_ACCUM_RED_BITS 0x0D58
321 #define GL_ACCUM_GREEN_BITS 0x0D59
322 #define GL_ACCUM_BLUE_BITS 0x0D5A
323 #define GL_ACCUM_ALPHA_BITS 0x0D5B
324 #define GL_ACCUM_CLEAR_VALUE 0x0B80
325 #define GL_ACCUM 0x0100
326 #define GL_ADD 0x0104
327 #define GL_LOAD 0x0101
328 #define GL_MULT 0x0103
329 #define GL_RETURN 0x0102
330
331 /* Alpha testing */
332 #define GL_ALPHA_TEST 0x0BC0
333 #define GL_ALPHA_TEST_REF 0x0BC2
334 #define GL_ALPHA_TEST_FUNC 0x0BC1
335
336 /* Blending */
337 #define GL_BLEND 0x0BE2
338 #define GL_BLEND_SRC 0x0BE1
339 #define GL_BLEND_DST 0x0BE0
340 #define GL_ZERO 0x0
341 #define GL_ONE 0x1
342 #define GL_SRC_COLOR 0x0300
343 #define GL_ONE_MINUS_SRC_COLOR 0x0301
344 #define GL_SRC_ALPHA 0x0302
345 #define GL_ONE_MINUS_SRC_ALPHA 0x0303
346 #define GL_DST_ALPHA 0x0304
347 #define GL_ONE_MINUS_DST_ALPHA 0x0305
348 #define GL_DST_COLOR 0x0306
349 #define GL_ONE_MINUS_DST_COLOR 0x0307
350 #define GL_SRC_ALPHA_SATURATE 0x0308
351 #define GL_CONSTANT_COLOR 0x8001
352 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
353 #define GL_CONSTANT_ALPHA 0x8003
354 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
355
356 /* Render Mode */
357 #define GL_FEEDBACK 0x1C01
358 #define GL_RENDER 0x1C00
359 #define GL_SELECT 0x1C02
360
361 /* Feedback */
362 #define GL_2D 0x0600
363 #define GL_3D 0x0601
364 #define GL_3D_COLOR 0x0602
365 #define GL_3D_COLOR_TEXTURE 0x0603
366 #define GL_4D_COLOR_TEXTURE 0x0604
367 #define GL_POINT_TOKEN 0x0701
368 #define GL_LINE_TOKEN 0x0702
369 #define GL_LINE_RESET_TOKEN 0x0707
370 #define GL_POLYGON_TOKEN 0x0703
371 #define GL_BITMAP_TOKEN 0x0704
372 #define GL_DRAW_PIXEL_TOKEN 0x0705
373 #define GL_COPY_PIXEL_TOKEN 0x0706
374 #define GL_PASS_THROUGH_TOKEN 0x0700
375 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
376 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
377 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
378
379 /* Selection */
380 #define GL_SELECTION_BUFFER_POINTER 0x0DF3
381 #define GL_SELECTION_BUFFER_SIZE 0x0DF4
382
383 /* Fog */
384 #define GL_FOG 0x0B60
385 #define GL_FOG_MODE 0x0B65
386 #define GL_FOG_DENSITY 0x0B62
387 #define GL_FOG_COLOR 0x0B66
388 #define GL_FOG_INDEX 0x0B61
389 #define GL_FOG_START 0x0B63
390 #define GL_FOG_END 0x0B64
391 #define GL_LINEAR 0x2601
392 #define GL_EXP 0x0800
393 #define GL_EXP2 0x0801
394
395 /* Logic Ops */
396 #define GL_LOGIC_OP 0x0BF1
397 #define GL_INDEX_LOGIC_OP 0x0BF1
398 #define GL_COLOR_LOGIC_OP 0x0BF2
399 #define GL_LOGIC_OP_MODE 0x0BF0
400 #define GL_CLEAR 0x1500
401 #define GL_SET 0x150F
402 #define GL_COPY 0x1503
403 #define GL_COPY_INVERTED 0x150C
404 #define GL_NOOP 0x1505
405 #define GL_INVERT 0x150A
406 #define GL_AND 0x1501
407 #define GL_NAND 0x150E
408 #define GL_OR 0x1507
409 #define GL_NOR 0x1508
410 #define GL_XOR 0x1506
411 #define GL_EQUIV 0x1509
412 #define GL_AND_REVERSE 0x1502
413 #define GL_AND_INVERTED 0x1504
414 #define GL_OR_REVERSE 0x150B
415 #define GL_OR_INVERTED 0x150D
416
417 /* Stencil */
418 #define GL_STENCIL_TEST 0x0B90
419 #define GL_STENCIL_WRITEMASK 0x0B98
420 #define GL_STENCIL_BITS 0x0D57
421 #define GL_STENCIL_FUNC 0x0B92
422 #define GL_STENCIL_VALUE_MASK 0x0B93
423 #define GL_STENCIL_REF 0x0B97
424 #define GL_STENCIL_FAIL 0x0B94
425 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
426 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
427 #define GL_STENCIL_CLEAR_VALUE 0x0B91
428 #define GL_STENCIL_INDEX 0x1901
429 #define GL_KEEP 0x1E00
430 #define GL_REPLACE 0x1E01
431 #define GL_INCR 0x1E02
432 #define GL_DECR 0x1E03
433
434 /* Buffers, Pixel Drawing/Reading */
435 #define GL_NONE 0x0
436 #define GL_LEFT 0x0406
437 #define GL_RIGHT 0x0407
438 /*GL_FRONT 0x0404 */
439 /*GL_BACK 0x0405 */
440 /*GL_FRONT_AND_BACK 0x0408 */
441 #define GL_FRONT_LEFT 0x0400
442 #define GL_FRONT_RIGHT 0x0401
443 #define GL_BACK_LEFT 0x0402
444 #define GL_BACK_RIGHT 0x0403
445 #define GL_AUX0 0x0409
446 #define GL_AUX1 0x040A
447 #define GL_AUX2 0x040B
448 #define GL_AUX3 0x040C
449 #define GL_COLOR_INDEX 0x1900
450 #define GL_RED 0x1903
451 #define GL_GREEN 0x1904
452 #define GL_BLUE 0x1905
453 #define GL_ALPHA 0x1906
454 #define GL_LUMINANCE 0x1909
455 #define GL_LUMINANCE_ALPHA 0x190A
456 #define GL_ALPHA_BITS 0x0D55
457 #define GL_RED_BITS 0x0D52
458 #define GL_GREEN_BITS 0x0D53
459 #define GL_BLUE_BITS 0x0D54
460 #define GL_INDEX_BITS 0x0D51
461 #define GL_SUBPIXEL_BITS 0x0D50
462 #define GL_AUX_BUFFERS 0x0C00
463 #define GL_READ_BUFFER 0x0C02
464 #define GL_DRAW_BUFFER 0x0C01
465 #define GL_DOUBLEBUFFER 0x0C32
466 #define GL_STEREO 0x0C33
467 #define GL_BITMAP 0x1A00
468 #define GL_COLOR 0x1800
469 #define GL_DEPTH 0x1801
470 #define GL_STENCIL 0x1802
471 #define GL_DITHER 0x0BD0
472 #define GL_RGB 0x1907
473 #define GL_RGBA 0x1908
474
475 /* Implementation limits */
476 #define GL_MAX_LIST_NESTING 0x0B31
477 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
478 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
479 #define GL_MAX_NAME_STACK_DEPTH 0x0D37
480 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
481 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
482 #define GL_MAX_EVAL_ORDER 0x0D30
483 #define GL_MAX_LIGHTS 0x0D31
484 #define GL_MAX_CLIP_PLANES 0x0D32
485 #define GL_MAX_TEXTURE_SIZE 0x0D33
486 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34
487 #define GL_MAX_VIEWPORT_DIMS 0x0D3A
488 #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
489
490 /* Gets */
491 #define GL_ATTRIB_STACK_DEPTH 0x0BB0
492 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
493 #define GL_COLOR_CLEAR_VALUE 0x0C22
494 #define GL_COLOR_WRITEMASK 0x0C23
495 #define GL_CURRENT_INDEX 0x0B01
496 #define GL_CURRENT_COLOR 0x0B00
497 #define GL_CURRENT_NORMAL 0x0B02
498 #define GL_CURRENT_RASTER_COLOR 0x0B04
499 #define GL_CURRENT_RASTER_DISTANCE 0x0B09
500 #define GL_CURRENT_RASTER_INDEX 0x0B05
501 #define GL_CURRENT_RASTER_POSITION 0x0B07
502 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
503 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
504 #define GL_CURRENT_TEXTURE_COORDS 0x0B03
505 #define GL_INDEX_CLEAR_VALUE 0x0C20
506 #define GL_INDEX_MODE 0x0C30
507 #define GL_INDEX_WRITEMASK 0x0C21
508 #define GL_MODELVIEW_MATRIX 0x0BA6
509 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3
510 #define GL_NAME_STACK_DEPTH 0x0D70
511 #define GL_PROJECTION_MATRIX 0x0BA7
512 #define GL_PROJECTION_STACK_DEPTH 0x0BA4
513 #define GL_RENDER_MODE 0x0C40
514 #define GL_RGBA_MODE 0x0C31
515 #define GL_TEXTURE_MATRIX 0x0BA8
516 #define GL_TEXTURE_STACK_DEPTH 0x0BA5
517 #define GL_VIEWPORT 0x0BA2
518
519 /* Evaluators */
520 #define GL_AUTO_NORMAL 0x0D80
521 #define GL_MAP1_COLOR_4 0x0D90
522 #define GL_MAP1_GRID_DOMAIN 0x0DD0
523 #define GL_MAP1_GRID_SEGMENTS 0x0DD1
524 #define GL_MAP1_INDEX 0x0D91
525 #define GL_MAP1_NORMAL 0x0D92
526 #define GL_MAP1_TEXTURE_COORD_1 0x0D93
527 #define GL_MAP1_TEXTURE_COORD_2 0x0D94
528 #define GL_MAP1_TEXTURE_COORD_3 0x0D95
529 #define GL_MAP1_TEXTURE_COORD_4 0x0D96
530 #define GL_MAP1_VERTEX_3 0x0D97
531 #define GL_MAP1_VERTEX_4 0x0D98
532 #define GL_MAP2_COLOR_4 0x0DB0
533 #define GL_MAP2_GRID_DOMAIN 0x0DD2
534 #define GL_MAP2_GRID_SEGMENTS 0x0DD3
535 #define GL_MAP2_INDEX 0x0DB1
536 #define GL_MAP2_NORMAL 0x0DB2
537 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3
538 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4
539 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5
540 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6
541 #define GL_MAP2_VERTEX_3 0x0DB7
542 #define GL_MAP2_VERTEX_4 0x0DB8
543 #define GL_COEFF 0x0A00
544 #define GL_DOMAIN 0x0A02
545 #define GL_ORDER 0x0A01
546
547 /* Hints */
548 #define GL_FOG_HINT 0x0C54
549 #define GL_LINE_SMOOTH_HINT 0x0C52
550 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
551 #define GL_POINT_SMOOTH_HINT 0x0C51
552 #define GL_POLYGON_SMOOTH_HINT 0x0C53
553 #define GL_DONT_CARE 0x1100
554 #define GL_FASTEST 0x1101
555 #define GL_NICEST 0x1102
556
557 /* Scissor box */
558 #define GL_SCISSOR_TEST 0x0C11
559 #define GL_SCISSOR_BOX 0x0C10
560
561 /* Pixel Mode / Transfer */
562 #define GL_MAP_COLOR 0x0D10
563 #define GL_MAP_STENCIL 0x0D11
564 #define GL_INDEX_SHIFT 0x0D12
565 #define GL_INDEX_OFFSET 0x0D13
566 #define GL_RED_SCALE 0x0D14
567 #define GL_RED_BIAS 0x0D15
568 #define GL_GREEN_SCALE 0x0D18
569 #define GL_GREEN_BIAS 0x0D19
570 #define GL_BLUE_SCALE 0x0D1A
571 #define GL_BLUE_BIAS 0x0D1B
572 #define GL_ALPHA_SCALE 0x0D1C
573 #define GL_ALPHA_BIAS 0x0D1D
574 #define GL_DEPTH_SCALE 0x0D1E
575 #define GL_DEPTH_BIAS 0x0D1F
576 #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
577 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
578 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
579 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
580 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
581 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
582 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
583 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
584 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
585 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
586 #define GL_PIXEL_MAP_S_TO_S 0x0C71
587 #define GL_PIXEL_MAP_I_TO_I 0x0C70
588 #define GL_PIXEL_MAP_I_TO_R 0x0C72
589 #define GL_PIXEL_MAP_I_TO_G 0x0C73
590 #define GL_PIXEL_MAP_I_TO_B 0x0C74
591 #define GL_PIXEL_MAP_I_TO_A 0x0C75
592 #define GL_PIXEL_MAP_R_TO_R 0x0C76
593 #define GL_PIXEL_MAP_G_TO_G 0x0C77
594 #define GL_PIXEL_MAP_B_TO_B 0x0C78
595 #define GL_PIXEL_MAP_A_TO_A 0x0C79
596 #define GL_PACK_ALIGNMENT 0x0D05
597 #define GL_PACK_LSB_FIRST 0x0D01
598 #define GL_PACK_ROW_LENGTH 0x0D02
599 #define GL_PACK_SKIP_PIXELS 0x0D04
600 #define GL_PACK_SKIP_ROWS 0x0D03
601 #define GL_PACK_SWAP_BYTES 0x0D00
602 #define GL_UNPACK_ALIGNMENT 0x0CF5
603 #define GL_UNPACK_LSB_FIRST 0x0CF1
604 #define GL_UNPACK_ROW_LENGTH 0x0CF2
605 #define GL_UNPACK_SKIP_PIXELS 0x0CF4
606 #define GL_UNPACK_SKIP_ROWS 0x0CF3
607 #define GL_UNPACK_SWAP_BYTES 0x0CF0
608 #define GL_ZOOM_X 0x0D16
609 #define GL_ZOOM_Y 0x0D17
610
611 /* Texture mapping */
612 #define GL_TEXTURE_ENV 0x2300
613 #define GL_TEXTURE_ENV_MODE 0x2200
614 #define GL_TEXTURE_1D 0x0DE0
615 #define GL_TEXTURE_2D 0x0DE1
616 #define GL_TEXTURE_WRAP_S 0x2802
617 #define GL_TEXTURE_WRAP_T 0x2803
618 #define GL_TEXTURE_MAG_FILTER 0x2800
619 #define GL_TEXTURE_MIN_FILTER 0x2801
620 #define GL_TEXTURE_ENV_COLOR 0x2201
621 #define GL_TEXTURE_GEN_S 0x0C60
622 #define GL_TEXTURE_GEN_T 0x0C61
623 #define GL_TEXTURE_GEN_MODE 0x2500
624 #define GL_TEXTURE_BORDER_COLOR 0x1004
625 #define GL_TEXTURE_WIDTH 0x1000
626 #define GL_TEXTURE_HEIGHT 0x1001
627 #define GL_TEXTURE_BORDER 0x1005
628 #define GL_TEXTURE_COMPONENTS 0x1003
629 #define GL_TEXTURE_RED_SIZE 0x805C
630 #define GL_TEXTURE_GREEN_SIZE 0x805D
631 #define GL_TEXTURE_BLUE_SIZE 0x805E
632 #define GL_TEXTURE_ALPHA_SIZE 0x805F
633 #define GL_TEXTURE_LUMINANCE_SIZE 0x8060
634 #define GL_TEXTURE_INTENSITY_SIZE 0x8061
635 #define GL_NEAREST_MIPMAP_NEAREST 0x2700
636 #define GL_NEAREST_MIPMAP_LINEAR 0x2702
637 #define GL_LINEAR_MIPMAP_NEAREST 0x2701
638 #define GL_LINEAR_MIPMAP_LINEAR 0x2703
639 #define GL_OBJECT_LINEAR 0x2401
640 #define GL_OBJECT_PLANE 0x2501
641 #define GL_EYE_LINEAR 0x2400
642 #define GL_EYE_PLANE 0x2502
643 #define GL_SPHERE_MAP 0x2402
644 #define GL_DECAL 0x2101
645 #define GL_MODULATE 0x2100
646 #define GL_NEAREST 0x2600
647 #define GL_REPEAT 0x2901
648 #define GL_CLAMP 0x2900
649 #define GL_S 0x2000
650 #define GL_T 0x2001
651 #define GL_R 0x2002
652 #define GL_Q 0x2003
653 #define GL_TEXTURE_GEN_R 0x0C62
654 #define GL_TEXTURE_GEN_Q 0x0C63
655
656 /* Utility */
657 #define GL_VENDOR 0x1F00
658 #define GL_RENDERER 0x1F01
659 #define GL_VERSION 0x1F02
660 #define GL_EXTENSIONS 0x1F03
661
662 /* Errors */
663 #define GL_NO_ERROR 0x0
664 #define GL_INVALID_VALUE 0x0501
665 #define GL_INVALID_ENUM 0x0500
666 #define GL_INVALID_OPERATION 0x0502
667 #define GL_STACK_OVERFLOW 0x0503
668 #define GL_STACK_UNDERFLOW 0x0504
669 #define GL_OUT_OF_MEMORY 0x0505
670
671 /* glPush/PopAttrib bits */
672 #define GL_CURRENT_BIT 0x00000001
673 #define GL_POINT_BIT 0x00000002
674 #define GL_LINE_BIT 0x00000004
675 #define GL_POLYGON_BIT 0x00000008
676 #define GL_POLYGON_STIPPLE_BIT 0x00000010
677 #define GL_PIXEL_MODE_BIT 0x00000020
678 #define GL_LIGHTING_BIT 0x00000040
679 #define GL_FOG_BIT 0x00000080
680 #define GL_DEPTH_BUFFER_BIT 0x00000100
681 #define GL_ACCUM_BUFFER_BIT 0x00000200
682 #define GL_STENCIL_BUFFER_BIT 0x00000400
683 #define GL_VIEWPORT_BIT 0x00000800
684 #define GL_TRANSFORM_BIT 0x00001000
685 #define GL_ENABLE_BIT 0x00002000
686 #define GL_COLOR_BUFFER_BIT 0x00004000
687 #define GL_HINT_BIT 0x00008000
688 #define GL_EVAL_BIT 0x00010000
689 #define GL_LIST_BIT 0x00020000
690 #define GL_TEXTURE_BIT 0x00040000
691 #define GL_SCISSOR_BIT 0x00080000
692 #define GL_ALL_ATTRIB_BITS 0x000FFFFF
693
694
695 /* OpenGL 1.1 */
696 #define GL_PROXY_TEXTURE_1D 0x8063
697 #define GL_PROXY_TEXTURE_2D 0x8064
698 #define GL_TEXTURE_PRIORITY 0x8066
699 #define GL_TEXTURE_RESIDENT 0x8067
700 #define GL_TEXTURE_BINDING_1D 0x8068
701 #define GL_TEXTURE_BINDING_2D 0x8069
702 #define GL_TEXTURE_INTERNAL_FORMAT 0x1003
703 #define GL_ALPHA4 0x803B
704 #define GL_ALPHA8 0x803C
705 #define GL_ALPHA12 0x803D
706 #define GL_ALPHA16 0x803E
707 #define GL_LUMINANCE4 0x803F
708 #define GL_LUMINANCE8 0x8040
709 #define GL_LUMINANCE12 0x8041
710 #define GL_LUMINANCE16 0x8042
711 #define GL_LUMINANCE4_ALPHA4 0x8043
712 #define GL_LUMINANCE6_ALPHA2 0x8044
713 #define GL_LUMINANCE8_ALPHA8 0x8045
714 #define GL_LUMINANCE12_ALPHA4 0x8046
715 #define GL_LUMINANCE12_ALPHA12 0x8047
716 #define GL_LUMINANCE16_ALPHA16 0x8048
717 #define GL_INTENSITY 0x8049
718 #define GL_INTENSITY4 0x804A
719 #define GL_INTENSITY8 0x804B
720 #define GL_INTENSITY12 0x804C
721 #define GL_INTENSITY16 0x804D
722 #define GL_R3_G3_B2 0x2A10
723 #define GL_RGB4 0x804F
724 #define GL_RGB5 0x8050
725 #define GL_RGB8 0x8051
726 #define GL_RGB10 0x8052
727 #define GL_RGB12 0x8053
728 #define GL_RGB16 0x8054
729 #define GL_RGBA2 0x8055
730 #define GL_RGBA4 0x8056
731 #define GL_RGB5_A1 0x8057
732 #define GL_RGBA8 0x8058
733 #define GL_RGB10_A2 0x8059
734 #define GL_RGBA12 0x805A
735 #define GL_RGBA16 0x805B
736 #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
737 #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
738 #define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF
739 #define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
740
741
742 /* Under Windows, we do not define OpenGL 1.2 & 1.3 functionality, since
743 it is treated as extensions (defined in glext.h) */
744 #if !defined(__WIN32__)
745
746 /* OpenGL 1.2 */
747 #define GL_RESCALE_NORMAL 0x803A
748 #define GL_CLAMP_TO_EDGE 0x812F
749 #define GL_MAX_ELEMENTS_VERTICES 0x80E8
750 #define GL_MAX_ELEMENTS_INDICES 0x80E9
751 #define GL_BGR 0x80E0
752 #define GL_BGRA 0x80E1
753 #define GL_UNSIGNED_BYTE_3_3_2 0x8032
754 #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
755 #define GL_UNSIGNED_SHORT_5_6_5 0x8363
756 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
757 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
758 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
759 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
760 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
761 #define GL_UNSIGNED_INT_8_8_8_8 0x8035
762 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
763 #define GL_UNSIGNED_INT_10_10_10_2 0x8036
764 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
765 #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
766 #define GL_SINGLE_COLOR 0x81F9
767 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
768 #define GL_TEXTURE_MIN_LOD 0x813A
769 #define GL_TEXTURE_MAX_LOD 0x813B
770 #define GL_TEXTURE_BASE_LEVEL 0x813C
771 #define GL_TEXTURE_MAX_LEVEL 0x813D
772 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
773 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
774 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
775 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
776 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
777 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
778 #define GL_PACK_SKIP_IMAGES 0x806B
779 #define GL_PACK_IMAGE_HEIGHT 0x806C
780 #define GL_UNPACK_SKIP_IMAGES 0x806D
781 #define GL_UNPACK_IMAGE_HEIGHT 0x806E
782 #define GL_TEXTURE_3D 0x806F
783 #define GL_PROXY_TEXTURE_3D 0x8070
784 #define GL_TEXTURE_DEPTH 0x8071
785 #define GL_TEXTURE_WRAP_R 0x8072
786 #define GL_MAX_3D_TEXTURE_SIZE 0x8073
787 #define GL_TEXTURE_BINDING_3D 0x806A
788
789 /* OpenGL 1.2 imaging subset */
790 /* GL_EXT_color_table */
791 #define GL_COLOR_TABLE 0x80D0
792 #define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
793 #define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
794 #define GL_PROXY_COLOR_TABLE 0x80D3
795 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
796 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
797 #define GL_COLOR_TABLE_SCALE 0x80D6
798 #define GL_COLOR_TABLE_BIAS 0x80D7
799 #define GL_COLOR_TABLE_FORMAT 0x80D8
800 #define GL_COLOR_TABLE_WIDTH 0x80D9
801 #define GL_COLOR_TABLE_RED_SIZE 0x80DA
802 #define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
803 #define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
804 #define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
805 #define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
806 #define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
807 /* GL_EXT_convolution and GL_HP_convolution_border_modes */
808 #define GL_CONVOLUTION_1D 0x8010
809 #define GL_CONVOLUTION_2D 0x8011
810 #define GL_SEPARABLE_2D 0x8012
811 #define GL_CONVOLUTION_BORDER_MODE 0x8013
812 #define GL_CONVOLUTION_FILTER_SCALE 0x8014
813 #define GL_CONVOLUTION_FILTER_BIAS 0x8015
814 #define GL_REDUCE 0x8016
815 #define GL_CONVOLUTION_FORMAT 0x8017
816 #define GL_CONVOLUTION_WIDTH 0x8018
817 #define GL_CONVOLUTION_HEIGHT 0x8019
818 #define GL_MAX_CONVOLUTION_WIDTH 0x801A
819 #define GL_MAX_CONVOLUTION_HEIGHT 0x801B
820 #define GL_POST_CONVOLUTION_RED_SCALE 0x801C
821 #define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
822 #define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
823 #define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
824 #define GL_POST_CONVOLUTION_RED_BIAS 0x8020
825 #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
826 #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
827 #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
828 #define GL_CONSTANT_BORDER 0x8151
829 #define GL_REPLICATE_BORDER 0x8153
830 #define GL_CONVOLUTION_BORDER_COLOR 0x8154
831 /* GL_SGI_color_matrix */
832 #define GL_COLOR_MATRIX 0x80B1
833 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
834 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
835 #define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
836 #define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
837 #define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
838 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
839 #define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
840 #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
841 #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
842 #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
843 /* GL_EXT_histogram */
844 #define GL_HISTOGRAM 0x8024
845 #define GL_PROXY_HISTOGRAM 0x8025
846 #define GL_HISTOGRAM_WIDTH 0x8026
847 #define GL_HISTOGRAM_FORMAT 0x8027
848 #define GL_HISTOGRAM_RED_SIZE 0x8028
849 #define GL_HISTOGRAM_GREEN_SIZE 0x8029
850 #define GL_HISTOGRAM_BLUE_SIZE 0x802A
851 #define GL_HISTOGRAM_ALPHA_SIZE 0x802B
852 #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
853 #define GL_HISTOGRAM_SINK 0x802D
854 #define GL_MINMAX 0x802E
855 #define GL_MINMAX_FORMAT 0x802F
856 #define GL_MINMAX_SINK 0x8030
857 #define GL_TABLE_TOO_LARGE 0x8031
858 /* GL_EXT_blend_color, GL_EXT_blend_minmax */
859 #define GL_BLEND_EQUATION 0x8009
860 #define GL_MIN 0x8007
861 #define GL_MAX 0x8008
862 #define GL_FUNC_ADD 0x8006
863 #define GL_FUNC_SUBTRACT 0x800A
864 #define GL_FUNC_REVERSE_SUBTRACT 0x800B
865 #define GL_BLEND_COLOR 0x8005
866
867
868 /* OpenGL 1.3 */
869 /* multitexture */
870 #define GL_TEXTURE0 0x84C0
871 #define GL_TEXTURE1 0x84C1
872 #define GL_TEXTURE2 0x84C2
873 #define GL_TEXTURE3 0x84C3
874 #define GL_TEXTURE4 0x84C4
875 #define GL_TEXTURE5 0x84C5
876 #define GL_TEXTURE6 0x84C6
877 #define GL_TEXTURE7 0x84C7
878 #define GL_TEXTURE8 0x84C8
879 #define GL_TEXTURE9 0x84C9
880 #define GL_TEXTURE10 0x84CA
881 #define GL_TEXTURE11 0x84CB
882 #define GL_TEXTURE12 0x84CC
883 #define GL_TEXTURE13 0x84CD
884 #define GL_TEXTURE14 0x84CE
885 #define GL_TEXTURE15 0x84CF
886 #define GL_TEXTURE16 0x84D0
887 #define GL_TEXTURE17 0x84D1
888 #define GL_TEXTURE18 0x84D2
889 #define GL_TEXTURE19 0x84D3
890 #define GL_TEXTURE20 0x84D4
891 #define GL_TEXTURE21 0x84D5
892 #define GL_TEXTURE22 0x84D6
893 #define GL_TEXTURE23 0x84D7
894 #define GL_TEXTURE24 0x84D8
895 #define GL_TEXTURE25 0x84D9
896 #define GL_TEXTURE26 0x84DA
897 #define GL_TEXTURE27 0x84DB
898 #define GL_TEXTURE28 0x84DC
899 #define GL_TEXTURE29 0x84DD
900 #define GL_TEXTURE30 0x84DE
901 #define GL_TEXTURE31 0x84DF
902 #define GL_ACTIVE_TEXTURE 0x84E0
903 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
904 #define GL_MAX_TEXTURE_UNITS 0x84E2
905 /* texture_cube_map */
906 #define GL_NORMAL_MAP 0x8511
907 #define GL_REFLECTION_MAP 0x8512
908 #define GL_TEXTURE_CUBE_MAP 0x8513
909 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
910 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
911 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
912 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
913 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
914 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
915 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
916 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
917 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
918 /* texture_compression */
919 #define GL_COMPRESSED_ALPHA 0x84E9
920 #define GL_COMPRESSED_LUMINANCE 0x84EA
921 #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
922 #define GL_COMPRESSED_INTENSITY 0x84EC
923 #define GL_COMPRESSED_RGB 0x84ED
924 #define GL_COMPRESSED_RGBA 0x84EE
925 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
926 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
927 #define GL_TEXTURE_COMPRESSED 0x86A1
928 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
929 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
930 /* multisample */
931 #define GL_MULTISAMPLE 0x809D
932 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
933 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
934 #define GL_SAMPLE_COVERAGE 0x80A0
935 #define GL_SAMPLE_BUFFERS 0x80A8
936 #define GL_SAMPLES 0x80A9
937 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
938 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
939 #define GL_MULTISAMPLE_BIT 0x20000000
940 /* transpose_matrix */
941 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
942 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
943 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
944 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
945 /* texture_env_combine */
946 #define GL_COMBINE 0x8570
947 #define GL_COMBINE_RGB 0x8571
948 #define GL_COMBINE_ALPHA 0x8572
949 #define GL_SOURCE0_RGB 0x8580
950 #define GL_SOURCE1_RGB 0x8581
951 #define GL_SOURCE2_RGB 0x8582
952 #define GL_SOURCE0_ALPHA 0x8588
953 #define GL_SOURCE1_ALPHA 0x8589
954 #define GL_SOURCE2_ALPHA 0x858A
955 #define GL_OPERAND0_RGB 0x8590
956 #define GL_OPERAND1_RGB 0x8591
957 #define GL_OPERAND2_RGB 0x8592
958 #define GL_OPERAND0_ALPHA 0x8598
959 #define GL_OPERAND1_ALPHA 0x8599
960 #define GL_OPERAND2_ALPHA 0x859A
961 #define GL_RGB_SCALE 0x8573
962 #define GL_ADD_SIGNED 0x8574
963 #define GL_INTERPOLATE 0x8575
964 #define GL_SUBTRACT 0x84E7
965 #define GL_CONSTANT 0x8576
966 #define GL_PRIMARY_COLOR 0x8577
967 #define GL_PREVIOUS 0x8578
968 /* texture_env_dot3 */
969 #define GL_DOT3_RGB 0x86AE
970 #define GL_DOT3_RGBA 0x86AF
971 /* texture_border_clamp */
972 #define GL_CLAMP_TO_BORDER 0x812D
973
974 #endif /* __WIN32__ */
975
976
977
978 /************************************************************************
979 *
980 * Function prototypes
981 *
982 ************************************************************************/
983
984 /* Miscellaneous */
985 GLAPI void APIENTRY glClearIndex( GLfloat c );
986 GLAPI void APIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
987 GLAPI void APIENTRY glClear( GLbitfield mask );
988 GLAPI void APIENTRY glIndexMask( GLuint mask );
989 GLAPI void APIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
990 GLAPI void APIENTRY glAlphaFunc( GLenum func, GLclampf ref );
991 GLAPI void APIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
992 GLAPI void APIENTRY glLogicOp( GLenum opcode );
993 GLAPI void APIENTRY glCullFace( GLenum mode );
994 GLAPI void APIENTRY glFrontFace( GLenum mode );
995 GLAPI void APIENTRY glPointSize( GLfloat size );
996 GLAPI void APIENTRY glLineWidth( GLfloat width );
997 GLAPI void APIENTRY glLineStipple( GLint factor, GLushort pattern );
998 GLAPI void APIENTRY glPolygonMode( GLenum face, GLenum mode );
999 GLAPI void APIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
1000 GLAPI void APIENTRY glPolygonStipple( const GLubyte *mask );
1001 GLAPI void APIENTRY glGetPolygonStipple( GLubyte *mask );
1002 GLAPI void APIENTRY glEdgeFlag( GLboolean flag );
1003 GLAPI void APIENTRY glEdgeFlagv( const GLboolean *flag );
1004 GLAPI void APIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
1005 GLAPI void APIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
1006 GLAPI void APIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
1007 GLAPI void APIENTRY glDrawBuffer( GLenum mode );
1008 GLAPI void APIENTRY glReadBuffer( GLenum mode );
1009 GLAPI void APIENTRY glEnable( GLenum cap );
1010 GLAPI void APIENTRY glDisable( GLenum cap );
1011 GLAPI GLboolean APIENTRY glIsEnabled( GLenum cap );
1012 GLAPI void APIENTRY glEnableClientState( GLenum cap ); /* 1.1 */
1013 GLAPI void APIENTRY glDisableClientState( GLenum cap ); /* 1.1 */
1014 GLAPI void APIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
1015 GLAPI void APIENTRY glGetDoublev( GLenum pname, GLdouble *params );
1016 GLAPI void APIENTRY glGetFloatv( GLenum pname, GLfloat *params );
1017 GLAPI void APIENTRY glGetIntegerv( GLenum pname, GLint *params );
1018 GLAPI void APIENTRY glPushAttrib( GLbitfield mask );
1019 GLAPI void APIENTRY glPopAttrib( void );
1020 GLAPI void APIENTRY glPushClientAttrib( GLbitfield mask ); /* 1.1 */
1021 GLAPI void APIENTRY glPopClientAttrib( void ); /* 1.1 */
1022 GLAPI GLint APIENTRY glRenderMode( GLenum mode );
1023 GLAPI GLenum APIENTRY glGetError( void );
1024 GLAPI const GLubyte* APIENTRY glGetString( GLenum name );
1025 GLAPI void APIENTRY glFinish( void );
1026 GLAPI void APIENTRY glFlush( void );
1027 GLAPI void APIENTRY glHint( GLenum target, GLenum mode );
1028
1029 /* Depth Buffer */
1030 GLAPI void APIENTRY glClearDepth( GLclampd depth );
1031 GLAPI void APIENTRY glDepthFunc( GLenum func );
1032 GLAPI void APIENTRY glDepthMask( GLboolean flag );
1033 GLAPI void APIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
1034
1035 /* Accumulation Buffer */
1036 GLAPI void APIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
1037 GLAPI void APIENTRY glAccum( GLenum op, GLfloat value );
1038
1039 /* Transformation */
1040 GLAPI void APIENTRY glMatrixMode( GLenum mode );
1041 GLAPI void APIENTRY glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val );
1042 GLAPI void APIENTRY glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val );
1043 GLAPI void APIENTRY glViewport( GLint x, GLint y, GLsizei width, GLsizei height );
1044 GLAPI void APIENTRY glPushMatrix( void );
1045 GLAPI void APIENTRY glPopMatrix( void );
1046 GLAPI void APIENTRY glLoadIdentity( void );
1047 GLAPI void APIENTRY glLoadMatrixd( const GLdouble *m );
1048 GLAPI void APIENTRY glLoadMatrixf( const GLfloat *m );
1049 GLAPI void APIENTRY glMultMatrixd( const GLdouble *m );
1050 GLAPI void APIENTRY glMultMatrixf( const GLfloat *m );
1051 GLAPI void APIENTRY glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
1052 GLAPI void APIENTRY glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
1053 GLAPI void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
1054 GLAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
1055 GLAPI void APIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
1056 GLAPI void APIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
1057
1058 /* Display Lists */
1059 GLAPI GLboolean APIENTRY glIsList( GLuint list );
1060 GLAPI void APIENTRY glDeleteLists( GLuint list, GLsizei range );
1061 GLAPI GLuint APIENTRY glGenLists( GLsizei range );
1062 GLAPI void APIENTRY glNewList( GLuint list, GLenum mode );
1063 GLAPI void APIENTRY glEndList( void );
1064 GLAPI void APIENTRY glCallList( GLuint list );
1065 GLAPI void APIENTRY glCallLists( GLsizei n, GLenum type, const GLvoid *lists );
1066 GLAPI void APIENTRY glListBase( GLuint base );
1067
1068 /* Drawing Functions */
1069 GLAPI void APIENTRY glBegin( GLenum mode );
1070 GLAPI void APIENTRY glEnd( void );
1071 GLAPI void APIENTRY glVertex2d( GLdouble x, GLdouble y );
1072 GLAPI void APIENTRY glVertex2f( GLfloat x, GLfloat y );
1073 GLAPI void APIENTRY glVertex2i( GLint x, GLint y );
1074 GLAPI void APIENTRY glVertex2s( GLshort x, GLshort y );
1075 GLAPI void APIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
1076 GLAPI void APIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
1077 GLAPI void APIENTRY glVertex3i( GLint x, GLint y, GLint z );
1078 GLAPI void APIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
1079 GLAPI void APIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
1080 GLAPI void APIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
1081 GLAPI void APIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
1082 GLAPI void APIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
1083 GLAPI void APIENTRY glVertex2dv( const GLdouble *v );
1084 GLAPI void APIENTRY glVertex2fv( const GLfloat *v );
1085 GLAPI void APIENTRY glVertex2iv( const GLint *v );
1086 GLAPI void APIENTRY glVertex2sv( const GLshort *v );
1087 GLAPI void APIENTRY glVertex3dv( const GLdouble *v );
1088 GLAPI void APIENTRY glVertex3fv( const GLfloat *v );
1089 GLAPI void APIENTRY glVertex3iv( const GLint *v );
1090 GLAPI void APIENTRY glVertex3sv( const GLshort *v );
1091 GLAPI void APIENTRY glVertex4dv( const GLdouble *v );
1092 GLAPI void APIENTRY glVertex4fv( const GLfloat *v );
1093 GLAPI void APIENTRY glVertex4iv( const GLint *v );
1094 GLAPI void APIENTRY glVertex4sv( const GLshort *v );
1095 GLAPI void APIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
1096 GLAPI void APIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
1097 GLAPI void APIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
1098 GLAPI void APIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
1099 GLAPI void APIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
1100 GLAPI void APIENTRY glNormal3bv( const GLbyte *v );
1101 GLAPI void APIENTRY glNormal3dv( const GLdouble *v );
1102 GLAPI void APIENTRY glNormal3fv( const GLfloat *v );
1103 GLAPI void APIENTRY glNormal3iv( const GLint *v );
1104 GLAPI void APIENTRY glNormal3sv( const GLshort *v );
1105 GLAPI void APIENTRY glIndexd( GLdouble c );
1106 GLAPI void APIENTRY glIndexf( GLfloat c );
1107 GLAPI void APIENTRY glIndexi( GLint c );
1108 GLAPI void APIENTRY glIndexs( GLshort c );
1109 GLAPI void APIENTRY glIndexub( GLubyte c ); /* 1.1 */
1110 GLAPI void APIENTRY glIndexdv( const GLdouble *c );
1111 GLAPI void APIENTRY glIndexfv( const GLfloat *c );
1112 GLAPI void APIENTRY glIndexiv( const GLint *c );
1113 GLAPI void APIENTRY glIndexsv( const GLshort *c );
1114 GLAPI void APIENTRY glIndexubv( const GLubyte *c ); /* 1.1 */
1115 GLAPI void APIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
1116 GLAPI void APIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
1117 GLAPI void APIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
1118 GLAPI void APIENTRY glColor3i( GLint red, GLint green, GLint blue );
1119 GLAPI void APIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
1120 GLAPI void APIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
1121 GLAPI void APIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
1122 GLAPI void APIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
1123 GLAPI void APIENTRY glColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
1124 GLAPI void APIENTRY glColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
1125 GLAPI void APIENTRY glColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
1126 GLAPI void APIENTRY glColor4i( GLint red, GLint green, GLint blue, GLint alpha );
1127 GLAPI void APIENTRY glColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha );
1128 GLAPI void APIENTRY glColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
1129 GLAPI void APIENTRY glColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
1130 GLAPI void APIENTRY glColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha );
1131 GLAPI void APIENTRY glColor3bv( const GLbyte *v );
1132 GLAPI void APIENTRY glColor3dv( const GLdouble *v );
1133 GLAPI void APIENTRY glColor3fv( const GLfloat *v );
1134 GLAPI void APIENTRY glColor3iv( const GLint *v );
1135 GLAPI void APIENTRY glColor3sv( const GLshort *v );
1136 GLAPI void APIENTRY glColor3ubv( const GLubyte *v );
1137 GLAPI void APIENTRY glColor3uiv( const GLuint *v );
1138 GLAPI void APIENTRY glColor3usv( const GLushort *v );
1139 GLAPI void APIENTRY glColor4bv( const GLbyte *v );
1140 GLAPI void APIENTRY glColor4dv( const GLdouble *v );
1141 GLAPI void APIENTRY glColor4fv( const GLfloat *v );
1142 GLAPI void APIENTRY glColor4iv( const GLint *v );
1143 GLAPI void APIENTRY glColor4sv( const GLshort *v );
1144 GLAPI void APIENTRY glColor4ubv( const GLubyte *v );
1145 GLAPI void APIENTRY glColor4uiv( const GLuint *v );
1146 GLAPI void APIENTRY glColor4usv( const GLushort *v );
1147 GLAPI void APIENTRY glTexCoord1d( GLdouble s );
1148 GLAPI void APIENTRY glTexCoord1f( GLfloat s );
1149 GLAPI void APIENTRY glTexCoord1i( GLint s );
1150 GLAPI void APIENTRY glTexCoord1s( GLshort s );
1151 GLAPI void APIENTRY glTexCoord2d( GLdouble s, GLdouble t );
1152 GLAPI void APIENTRY glTexCoord2f( GLfloat s, GLfloat t );
1153 GLAPI void APIENTRY glTexCoord2i( GLint s, GLint t );
1154 GLAPI void APIENTRY glTexCoord2s( GLshort s, GLshort t );
1155 GLAPI void APIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
1156 GLAPI void APIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
1157 GLAPI void APIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
1158 GLAPI void APIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
1159 GLAPI void APIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
1160 GLAPI void APIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
1161 GLAPI void APIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
1162 GLAPI void APIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
1163 GLAPI void APIENTRY glTexCoord1dv( const GLdouble *v );
1164 GLAPI void APIENTRY glTexCoord1fv( const GLfloat *v );
1165 GLAPI void APIENTRY glTexCoord1iv( const GLint *v );
1166 GLAPI void APIENTRY glTexCoord1sv( const GLshort *v );
1167 GLAPI void APIENTRY glTexCoord2dv( const GLdouble *v );
1168 GLAPI void APIENTRY glTexCoord2fv( const GLfloat *v );
1169 GLAPI void APIENTRY glTexCoord2iv( const GLint *v );
1170 GLAPI void APIENTRY glTexCoord2sv( const GLshort *v );
1171 GLAPI void APIENTRY glTexCoord3dv( const GLdouble *v );
1172 GLAPI void APIENTRY glTexCoord3fv( const GLfloat *v );
1173 GLAPI void APIENTRY glTexCoord3iv( const GLint *v );
1174 GLAPI void APIENTRY glTexCoord3sv( const GLshort *v );
1175 GLAPI void APIENTRY glTexCoord4dv( const GLdouble *v );
1176 GLAPI void APIENTRY glTexCoord4fv( const GLfloat *v );
1177 GLAPI void APIENTRY glTexCoord4iv( const GLint *v );
1178 GLAPI void APIENTRY glTexCoord4sv( const GLshort *v );
1179 GLAPI void APIENTRY glRasterPos2d( GLdouble x, GLdouble y );
1180 GLAPI void APIENTRY glRasterPos2f( GLfloat x, GLfloat y );
1181 GLAPI void APIENTRY glRasterPos2i( GLint x, GLint y );
1182 GLAPI void APIENTRY glRasterPos2s( GLshort x, GLshort y );
1183 GLAPI void APIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
1184 GLAPI void APIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
1185 GLAPI void APIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
1186 GLAPI void APIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
1187 GLAPI void APIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
1188 GLAPI void APIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
1189 GLAPI void APIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
1190 GLAPI void APIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
1191 GLAPI void APIENTRY glRasterPos2dv( const GLdouble *v );
1192 GLAPI void APIENTRY glRasterPos2fv( const GLfloat *v );
1193 GLAPI void APIENTRY glRasterPos2iv( const GLint *v );
1194 GLAPI void APIENTRY glRasterPos2sv( const GLshort *v );
1195 GLAPI void APIENTRY glRasterPos3dv( const GLdouble *v );
1196 GLAPI void APIENTRY glRasterPos3fv( const GLfloat *v );
1197 GLAPI void APIENTRY glRasterPos3iv( const GLint *v );
1198 GLAPI void APIENTRY glRasterPos3sv( const GLshort *v );
1199 GLAPI void APIENTRY glRasterPos4dv( const GLdouble *v );
1200 GLAPI void APIENTRY glRasterPos4fv( const GLfloat *v );
1201 GLAPI void APIENTRY glRasterPos4iv( const GLint *v );
1202 GLAPI void APIENTRY glRasterPos4sv( const GLshort *v );
1203 GLAPI void APIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
1204 GLAPI void APIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
1205 GLAPI void APIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
1206 GLAPI void APIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
1207 GLAPI void APIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
1208 GLAPI void APIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
1209 GLAPI void APIENTRY glRectiv( const GLint *v1, const GLint *v2 );
1210 GLAPI void APIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
1211
1212 /* Lighting */
1213 GLAPI void APIENTRY glShadeModel( GLenum mode );
1214 GLAPI void APIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
1215 GLAPI void APIENTRY glLighti( GLenum light, GLenum pname, GLint param );
1216 GLAPI void APIENTRY glLightfv( GLenum light, GLenum pname, const GLfloat *params );
1217 GLAPI void APIENTRY glLightiv( GLenum light, GLenum pname, const GLint *params );
1218 GLAPI void APIENTRY glGetLightfv( GLenum light, GLenum pname, GLfloat *params );
1219 GLAPI void APIENTRY glGetLightiv( GLenum light, GLenum pname, GLint *params );
1220 GLAPI void APIENTRY glLightModelf( GLenum pname, GLfloat param );
1221 GLAPI void APIENTRY glLightModeli( GLenum pname, GLint param );
1222 GLAPI void APIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
1223 GLAPI void APIENTRY glLightModeliv( GLenum pname, const GLint *params );
1224 GLAPI void APIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
1225 GLAPI void APIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
1226 GLAPI void APIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
1227 GLAPI void APIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
1228 GLAPI void APIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
1229 GLAPI void APIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
1230 GLAPI void APIENTRY glColorMaterial( GLenum face, GLenum mode );
1231
1232 /* Raster functions */
1233 GLAPI void APIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
1234 GLAPI void APIENTRY glPixelStoref( GLenum pname, GLfloat param );
1235 GLAPI void APIENTRY glPixelStorei( GLenum pname, GLint param );
1236 GLAPI void APIENTRY glPixelTransferf( GLenum pname, GLfloat param );
1237 GLAPI void APIENTRY glPixelTransferi( GLenum pname, GLint param );
1238 GLAPI void APIENTRY glPixelMapfv( GLenum map, GLint mapsize, const GLfloat *values );
1239 GLAPI void APIENTRY glPixelMapuiv( GLenum map, GLint mapsize, const GLuint *values );
1240 GLAPI void APIENTRY glPixelMapusv( GLenum map, GLint mapsize, const GLushort *values );
1241 GLAPI void APIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
1242 GLAPI void APIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
1243 GLAPI void APIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
1244 GLAPI void APIENTRY glBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
1245 GLAPI void APIENTRY glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels );
1246 GLAPI void APIENTRY glDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
1247 GLAPI void APIENTRY glCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
1248
1249 /* Stenciling */
1250 GLAPI void APIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
1251 GLAPI void APIENTRY glStencilMask( GLuint mask );
1252 GLAPI void APIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
1253 GLAPI void APIENTRY glClearStencil( GLint s );
1254
1255 /* Texture mapping */
1256 GLAPI void APIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
1257 GLAPI void APIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
1258 GLAPI void APIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
1259 GLAPI void APIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
1260 GLAPI void APIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
1261 GLAPI void APIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
1262 GLAPI void APIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
1263 GLAPI void APIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
1264 GLAPI void APIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
1265 GLAPI void APIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
1266 GLAPI void APIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
1267 GLAPI void APIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
1268 GLAPI void APIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
1269 GLAPI void APIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
1270 GLAPI void APIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
1271 GLAPI void APIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
1272 GLAPI void APIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
1273 GLAPI void APIENTRY glTexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
1274 GLAPI void APIENTRY glTexParameteriv( GLenum target, GLenum pname, const GLint *params );
1275 GLAPI void APIENTRY glGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params);
1276 GLAPI void APIENTRY glGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
1277 GLAPI void APIENTRY glGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params );
1278 GLAPI void APIENTRY glGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params );
1279 GLAPI void APIENTRY glTexImage1D( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
1280 GLAPI void APIENTRY glTexImage2D( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
1281 GLAPI void APIENTRY glGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels );
1282
1283 /* Evaluators */
1284 GLAPI void APIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
1285 GLAPI void APIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
1286 GLAPI void APIENTRY glMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
1287 GLAPI void APIENTRY glMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
1288 GLAPI void APIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
1289 GLAPI void APIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
1290 GLAPI void APIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
1291 GLAPI void APIENTRY glEvalCoord1d( GLdouble u );
1292 GLAPI void APIENTRY glEvalCoord1f( GLfloat u );
1293 GLAPI void APIENTRY glEvalCoord1dv( const GLdouble *u );
1294 GLAPI void APIENTRY glEvalCoord1fv( const GLfloat *u );
1295 GLAPI void APIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
1296 GLAPI void APIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
1297 GLAPI void APIENTRY glEvalCoord2dv( const GLdouble *u );
1298 GLAPI void APIENTRY glEvalCoord2fv( const GLfloat *u );
1299 GLAPI void APIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
1300 GLAPI void APIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
1301 GLAPI void APIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
1302 GLAPI void APIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
1303 GLAPI void APIENTRY glEvalPoint1( GLint i );
1304 GLAPI void APIENTRY glEvalPoint2( GLint i, GLint j );
1305 GLAPI void APIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
1306 GLAPI void APIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
1307
1308 /* Fog */
1309 GLAPI void APIENTRY glFogf( GLenum pname, GLfloat param );
1310 GLAPI void APIENTRY glFogi( GLenum pname, GLint param );
1311 GLAPI void APIENTRY glFogfv( GLenum pname, const GLfloat *params );
1312 GLAPI void APIENTRY glFogiv( GLenum pname, const GLint *params );
1313
1314 /* Selection and Feedback */
1315 GLAPI void APIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
1316 GLAPI void APIENTRY glPassThrough( GLfloat token );
1317 GLAPI void APIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
1318 GLAPI void APIENTRY glInitNames( void );
1319 GLAPI void APIENTRY glLoadName( GLuint name );
1320 GLAPI void APIENTRY glPushName( GLuint name );
1321 GLAPI void APIENTRY glPopName( void );
1322
1323
1324 /* 1.1 functions */
1325 /* texture objects */
1326 GLAPI void APIENTRY glGenTextures( GLsizei n, GLuint *textures );
1327 GLAPI void APIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
1328 GLAPI void APIENTRY glBindTexture( GLenum target, GLuint texture );
1329 GLAPI void APIENTRY glPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities );
1330 GLAPI GLboolean APIENTRY glAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences );
1331 GLAPI GLboolean APIENTRY glIsTexture( GLuint texture );
1332 /* texture mapping */
1333 GLAPI void APIENTRY glTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels );
1334 GLAPI void APIENTRY glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
1335 GLAPI void APIENTRY glCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border );
1336 GLAPI void APIENTRY glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
1337 GLAPI void APIENTRY glCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
1338 GLAPI void APIENTRY glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
1339 /* vertex arrays */
1340 GLAPI void APIENTRY glVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
1341 GLAPI void APIENTRY glNormalPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
1342 GLAPI void APIENTRY glColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
1343 GLAPI void APIENTRY glIndexPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
1344 GLAPI void APIENTRY glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
1345 GLAPI void APIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
1346 GLAPI void APIENTRY glGetPointerv( GLenum pname, GLvoid **params );
1347 GLAPI void APIENTRY glArrayElement( GLint i );
1348 GLAPI void APIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
1349 GLAPI void APIENTRY glDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
1350 GLAPI void APIENTRY glInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer );
1351
1352
1353
1354 /* Under Windows, we do not define OpenGL 1.2 & 1.3 functionality, since
1355 it is treated as extensions (defined in glext.h) */
1356 #if !defined(__WIN32__)
1357
1358 /* 1.2 functions */
1359 GLAPI void APIENTRY glDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
1360 GLAPI void APIENTRY glTexImage3D( GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
1361 GLAPI void APIENTRY glTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
1362 GLAPI void APIENTRY glCopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
1363
1364 /* 1.2 imaging extension functions */
1365 GLAPI void APIENTRY glColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table );
1366 GLAPI void APIENTRY glColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data );
1367 GLAPI void APIENTRY glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);
1368 GLAPI void APIENTRY glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);
1369 GLAPI void APIENTRY glCopyColorSubTable( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width );
1370 GLAPI void APIENTRY glCopyColorTable( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
1371 GLAPI void APIENTRY glGetColorTable( GLenum target, GLenum format, GLenum type, GLvoid *table );
1372 GLAPI void APIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
1373 GLAPI void APIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
1374 GLAPI void APIENTRY glBlendEquation( GLenum mode );
1375 GLAPI void APIENTRY glBlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
1376 GLAPI void APIENTRY glHistogram( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink );
1377 GLAPI void APIENTRY glResetHistogram( GLenum target );
1378 GLAPI void APIENTRY glGetHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values );
1379 GLAPI void APIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname, GLfloat *params );
1380 GLAPI void APIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname, GLint *params );
1381 GLAPI void APIENTRY glMinmax( GLenum target, GLenum internalformat, GLboolean sink );
1382 GLAPI void APIENTRY glResetMinmax( GLenum target );
1383 GLAPI void APIENTRY glGetMinmax( GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values );
1384 GLAPI void APIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname, GLfloat *params );
1385 GLAPI void APIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname, GLint *params );
1386 GLAPI void APIENTRY glConvolutionFilter1D( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image );
1387 GLAPI void APIENTRY glConvolutionFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image );
1388 GLAPI void APIENTRY glConvolutionParameterf( GLenum target, GLenum pname, GLfloat params );
1389 GLAPI void APIENTRY glConvolutionParameterfv( GLenum target, GLenum pname, const GLfloat *params );
1390 GLAPI void APIENTRY glConvolutionParameteri( GLenum target, GLenum pname, GLint params );
1391 GLAPI void APIENTRY glConvolutionParameteriv( GLenum target, GLenum pname, const GLint *params );
1392 GLAPI void APIENTRY glCopyConvolutionFilter1D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
1393 GLAPI void APIENTRY glCopyConvolutionFilter2D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
1394 GLAPI void APIENTRY glGetConvolutionFilter( GLenum target, GLenum format, GLenum type, GLvoid *image );
1395 GLAPI void APIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname, GLfloat *params );
1396 GLAPI void APIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname, GLint *params );
1397 GLAPI void APIENTRY glSeparableFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column );
1398 GLAPI void APIENTRY glGetSeparableFilter( GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
1399
1400 /* 1.3 functions */
1401 GLAPI void APIENTRY glActiveTexture( GLenum texture );
1402 GLAPI void APIENTRY glClientActiveTexture( GLenum texture );
1403 GLAPI void APIENTRY glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
1404 GLAPI void APIENTRY glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
1405 GLAPI void APIENTRY glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
1406 GLAPI void APIENTRY glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
1407 GLAPI void APIENTRY glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
1408 GLAPI void APIENTRY glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
1409 GLAPI void APIENTRY glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
1410 GLAPI void APIENTRY glMultiTexCoord1d( GLenum target, GLdouble s );
1411 GLAPI void APIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v );
1412 GLAPI void APIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );
1413 GLAPI void APIENTRY glMultiTexCoord1fv( GLenum target, const GLfloat *v );
1414 GLAPI void APIENTRY glMultiTexCoord1i( GLenum target, GLint s );
1415 GLAPI void APIENTRY glMultiTexCoord1iv( GLenum target, const GLint *v );
1416 GLAPI void APIENTRY glMultiTexCoord1s( GLenum target, GLshort s );
1417 GLAPI void APIENTRY glMultiTexCoord1sv( GLenum target, const GLshort *v );
1418 GLAPI void APIENTRY glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
1419 GLAPI void APIENTRY glMultiTexCoord2dv( GLenum target, const GLdouble *v );
1420 GLAPI void APIENTRY glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
1421 GLAPI void APIENTRY glMultiTexCoord2fv( GLenum target, const GLfloat *v );
1422 GLAPI void APIENTRY glMultiTexCoord2i( GLenum target, GLint s, GLint t );
1423 GLAPI void APIENTRY glMultiTexCoord2iv( GLenum target, const GLint *v );
1424 GLAPI void APIENTRY glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
1425 GLAPI void APIENTRY glMultiTexCoord2sv( GLenum target, const GLshort *v );
1426 GLAPI void APIENTRY glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
1427 GLAPI void APIENTRY glMultiTexCoord3dv( GLenum target, const GLdouble *v );
1428 GLAPI void APIENTRY glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
1429 GLAPI void APIENTRY glMultiTexCoord3fv( GLenum target, const GLfloat *v );
1430 GLAPI void APIENTRY glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
1431 GLAPI void APIENTRY glMultiTexCoord3iv( GLenum target, const GLint *v );
1432 GLAPI void APIENTRY glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
1433 GLAPI void APIENTRY glMultiTexCoord3sv( GLenum target, const GLshort *v );
1434 GLAPI void APIENTRY glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
1435 GLAPI void APIENTRY glMultiTexCoord4dv( GLenum target, const GLdouble *v );
1436 GLAPI void APIENTRY glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
1437 GLAPI void APIENTRY glMultiTexCoord4fv( GLenum target, const GLfloat *v );
1438 GLAPI void APIENTRY glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
1439 GLAPI void APIENTRY glMultiTexCoord4iv( GLenum target, const GLint *v );
1440 GLAPI void APIENTRY glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
1441 GLAPI void APIENTRY glMultiTexCoord4sv( GLenum target, const GLshort *v );
1442 GLAPI void APIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );
1443 GLAPI void APIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );
1444 GLAPI void APIENTRY glMultTransposeMatrixd( const GLdouble m[16] );
1445 GLAPI void APIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
1446 GLAPI void APIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
1447 GLAPI void APIENTRY glSamplePass( GLenum pass );
1448
1449 #endif /* __WIN32__ */
1450
1451
1452 /* Include external definitions of OpenGL extensions */
1453 /* Removed, see this bug report for reference:
1454 * http://sourceforge.net/tracker/index.php?func=detail&aid=610178&group_id=2435&atid=102435
1455 *
1456 * #include <GL/glext.h>
1457 */
1458
1459
1460 /************************************************************************
1461 * Begin system-specific stuff
1462 */
1463 /*
1464 * End system-specific stuff
1465 ************************************************************************/
1466
1467
1468 #ifdef __cplusplus
1469 }
1470 #endif
1471
1472 #endif /* __gl_h_ */