version 2.8
gl.h
1 /*
2  * The following constants come from Mesa
3  */
4 #ifndef GL_H
5 #define GL_H
6 
7 #define GL_VERSION_1_1 1
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 enum {
14  /* Boolean values */
15  GL_FALSE = 0,
16  GL_TRUE = 1,
17 
18  /* Data types */
19  GL_BYTE = 0x1400,
20  GL_UNSIGNED_BYTE = 0x1401,
21  GL_SHORT = 0x1402,
22  GL_UNSIGNED_SHORT = 0x1403,
23  GL_INT = 0x1404,
24  GL_UNSIGNED_INT = 0x1405,
25  GL_FLOAT = 0x1406,
26  GL_DOUBLE = 0x140A,
27  GL_2_BYTES = 0x1407,
28  GL_3_BYTES = 0x1408,
29  GL_4_BYTES = 0x1409,
30 
31  /* Primitives */
32  GL_LINES = 0x0001,
33  GL_POINTS = 0x0000,
34  GL_LINE_STRIP = 0x0003,
35  GL_LINE_LOOP = 0x0002,
36  GL_TRIANGLES = 0x0004,
37  GL_TRIANGLE_STRIP = 0x0005,
38  GL_TRIANGLE_FAN = 0x0006,
39  GL_QUADS = 0x0007,
40  GL_QUAD_STRIP = 0x0008,
41  GL_POLYGON = 0x0009,
42  GL_EDGE_FLAG = 0x0B43,
43 
44  /* Vertex Arrays */
45  GL_VERTEX_ARRAY = 0x8074,
46  GL_NORMAL_ARRAY = 0x8075,
47  GL_COLOR_ARRAY = 0x8076,
48  GL_INDEX_ARRAY = 0x8077,
49  GL_TEXTURE_COORD_ARRAY = 0x8078,
50  GL_EDGE_FLAG_ARRAY = 0x8079,
51  GL_VERTEX_ARRAY_SIZE = 0x807A,
52  GL_VERTEX_ARRAY_TYPE = 0x807B,
53  GL_VERTEX_ARRAY_STRIDE = 0x807C,
54  GL_VERTEX_ARRAY_COUNT = 0x807D,
55  GL_NORMAL_ARRAY_TYPE = 0x807E,
56  GL_NORMAL_ARRAY_STRIDE = 0x807F,
57  GL_NORMAL_ARRAY_COUNT = 0x8080,
58  GL_COLOR_ARRAY_SIZE = 0x8081,
59  GL_COLOR_ARRAY_TYPE = 0x8082,
60  GL_COLOR_ARRAY_STRIDE = 0x8083,
61  GL_COLOR_ARRAY_COUNT = 0x8084,
62  GL_INDEX_ARRAY_TYPE = 0x8085,
63  GL_INDEX_ARRAY_STRIDE = 0x8086,
64  GL_INDEX_ARRAY_COUNT = 0x8087,
65  GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088,
66  GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089,
67  GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A,
68  GL_TEXTURE_COORD_ARRAY_COUNT = 0x808B,
69  GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C,
70  GL_EDGE_FLAG_ARRAY_COUNT = 0x808D,
71  GL_VERTEX_ARRAY_POINTER = 0x808E,
72  GL_NORMAL_ARRAY_POINTER = 0x808F,
73  GL_COLOR_ARRAY_POINTER = 0x8090,
74  GL_INDEX_ARRAY_POINTER = 0x8091,
75  GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092,
76  GL_EDGE_FLAG_ARRAY_POINTER = 0x8093,
77  GL_V2F = 0x2A20,
78  GL_V3F = 0x2A21,
79  GL_C4UB_V2F = 0x2A22,
80  GL_C4UB_V3F = 0x2A23,
81  GL_C3F_V3F = 0x2A24,
82  GL_N3F_V3F = 0x2A25,
83  GL_C4F_N3F_V3F = 0x2A26,
84  GL_T2F_V3F = 0x2A27,
85  GL_T4F_V4F = 0x2A28,
86  GL_T2F_C4UB_V3F = 0x2A29,
87  GL_T2F_C3F_V3F = 0x2A2A,
88  GL_T2F_N3F_V3F = 0x2A2B,
89  GL_T2F_C4F_N3F_V3F = 0x2A2C,
90  GL_T4F_C4F_N3F_V4F = 0x2A2D,
91 
92  /* Matrix Mode */
93  GL_MATRIX_MODE = 0x0BA0,
94  GL_MODELVIEW = 0x1700,
95  GL_PROJECTION = 0x1701,
96  GL_TEXTURE = 0x1702,
97 
98  /* Points */
99  GL_POINT_SMOOTH = 0x0B10,
100  GL_POINT_SIZE = 0x0B11,
101  GL_POINT_SIZE_GRANULARITY = 0x0B13,
102  GL_POINT_SIZE_RANGE = 0x0B12,
103 
104  /* Lines */
105  GL_LINE_SMOOTH = 0x0B20,
106  GL_LINE_STIPPLE = 0x0B24,
107  GL_LINE_STIPPLE_PATTERN = 0x0B25,
108  GL_LINE_STIPPLE_REPEAT = 0x0B26,
109  GL_LINE_WIDTH = 0x0B21,
110  GL_LINE_WIDTH_GRANULARITY = 0x0B23,
111  GL_LINE_WIDTH_RANGE = 0x0B22,
112 
113  /* Polygons */
114  GL_POINT = 0x1B00,
115  GL_LINE = 0x1B01,
116  GL_FILL = 0x1B02,
117  GL_CCW = 0x0901,
118  GL_CW = 0x0900,
119  GL_FRONT = 0x0404,
120  GL_BACK = 0x0405,
121  GL_CULL_FACE = 0x0B44,
122  GL_CULL_FACE_MODE = 0x0B45,
123  GL_POLYGON_SMOOTH = 0x0B41,
124  GL_POLYGON_STIPPLE = 0x0B42,
125  GL_FRONT_FACE = 0x0B46,
126  GL_POLYGON_MODE = 0x0B40,
127  GL_POLYGON_OFFSET_FACTOR = 0x3038,
128  GL_POLYGON_OFFSET_UNITS = 0x2A00,
129  GL_POLYGON_OFFSET_POINT = 0x2A01,
130  GL_POLYGON_OFFSET_LINE = 0x2A02,
131  GL_POLYGON_OFFSET_FILL = 0x8037,
132 
133  /* Display Lists */
134  GL_COMPILE = 0x1300,
135  GL_COMPILE_AND_EXECUTE = 0x1301,
136  GL_LIST_BASE = 0x0B32,
137  GL_LIST_INDEX = 0x0B33,
138  GL_LIST_MODE = 0x0B30,
139 
140  /* Depth buffer */
141  GL_NEVER = 0x0200,
142  GL_LESS = 0x0201,
143  GL_GEQUAL = 0x0206,
144  GL_LEQUAL = 0x0203,
145  GL_GREATER = 0x0204,
146  GL_NOTEQUAL = 0x0205,
147  GL_EQUAL = 0x0202,
148  GL_ALWAYS = 0x0207,
149  GL_DEPTH_TEST = 0x0B71,
150  GL_DEPTH_BITS = 0x0D56,
151  GL_DEPTH_CLEAR_VALUE = 0x0B73,
152  GL_DEPTH_FUNC = 0x0B74,
153  GL_DEPTH_RANGE = 0x0B70,
154  GL_DEPTH_WRITEMASK = 0x0B72,
155  GL_DEPTH_COMPONENT = 0x1902,
156 
157  /* Lighting */
158  GL_LIGHTING = 0x0B50,
159  GL_LIGHT0 = 0x4000,
160  GL_LIGHT1 = 0x4001,
161  GL_LIGHT2 = 0x4002,
162  GL_LIGHT3 = 0x4003,
163  GL_LIGHT4 = 0x4004,
164  GL_LIGHT5 = 0x4005,
165  GL_LIGHT6 = 0x4006,
166  GL_LIGHT7 = 0x4007,
167  GL_SPOT_EXPONENT = 0x1205,
168  GL_SPOT_CUTOFF = 0x1206,
169  GL_CONSTANT_ATTENUATION = 0x1207,
170  GL_LINEAR_ATTENUATION = 0x1208,
171  GL_QUADRATIC_ATTENUATION = 0x1209,
172  GL_AMBIENT = 0x1200,
173  GL_DIFFUSE = 0x1201,
174  GL_SPECULAR = 0x1202,
175  GL_SHININESS = 0x1601,
176  GL_EMISSION = 0x1600,
177  GL_POSITION = 0x1203,
178  GL_SPOT_DIRECTION = 0x1204,
179  GL_AMBIENT_AND_DIFFUSE = 0x1602,
180  GL_COLOR_INDEXES = 0x1603,
181  GL_LIGHT_MODEL_TWO_SIDE = 0x0B52,
182  GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51,
183  GL_LIGHT_MODEL_AMBIENT = 0x0B53,
184  GL_FRONT_AND_BACK = 0x0408,
185  GL_SHADE_MODEL = 0x0B54,
186  GL_FLAT = 0x1D00,
187  GL_SMOOTH = 0x1D01,
188  GL_COLOR_MATERIAL = 0x0B57,
189  GL_COLOR_MATERIAL_FACE = 0x0B55,
190  GL_COLOR_MATERIAL_PARAMETER = 0x0B56,
191  GL_NORMALIZE = 0x0BA1,
192 
193  /* User clipping planes */
194  GL_CLIP_PLANE0 = 0x3000,
195  GL_CLIP_PLANE1 = 0x3001,
196  GL_CLIP_PLANE2 = 0x3002,
197  GL_CLIP_PLANE3 = 0x3003,
198  GL_CLIP_PLANE4 = 0x3004,
199  GL_CLIP_PLANE5 = 0x3005,
200 
201  /* Accumulation buffer */
202  GL_ACCUM_RED_BITS = 0x0D58,
203  GL_ACCUM_GREEN_BITS = 0x0D59,
204  GL_ACCUM_BLUE_BITS = 0x0D5A,
205  GL_ACCUM_ALPHA_BITS = 0x0D5B,
206  GL_ACCUM_CLEAR_VALUE = 0x0B80,
207  GL_ACCUM = 0x0100,
208  GL_ADD = 0x0104,
209  GL_LOAD = 0x0101,
210  GL_MULT = 0x0103,
211  GL_RETURN = 0x0102,
212 
213  /* Alpha testing */
214  GL_ALPHA_TEST = 0x0BC0,
215  GL_ALPHA_TEST_REF = 0x0BC2,
216  GL_ALPHA_TEST_FUNC = 0x0BC1,
217 
218  /* Blending */
219  GL_BLEND = 0x0BE2,
220  GL_BLEND_SRC = 0x0BE1,
221  GL_BLEND_DST = 0x0BE0,
222  GL_ZERO = 0,
223  GL_ONE = 1,
224  GL_SRC_COLOR = 0x0300,
225  GL_ONE_MINUS_SRC_COLOR = 0x0301,
226  GL_DST_COLOR = 0x0306,
227  GL_ONE_MINUS_DST_COLOR = 0x0307,
228  GL_SRC_ALPHA = 0x0302,
229  GL_ONE_MINUS_SRC_ALPHA = 0x0303,
230  GL_DST_ALPHA = 0x0304,
231  GL_ONE_MINUS_DST_ALPHA = 0x0305,
232  GL_SRC_ALPHA_SATURATE = 0x0308,
233  GL_CONSTANT_COLOR = 0x8001,
234  GL_ONE_MINUS_CONSTANT_COLOR = 0x8002,
235  GL_CONSTANT_ALPHA = 0x8003,
236  GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
237 
238  /* Render Mode */
239  GL_FEEDBACK = 0x1C01,
240  GL_RENDER = 0x1C00,
241  GL_SELECT = 0x1C02,
242 
243  /* Feedback */
244  GL_2D = 0x0600,
245  GL_3D = 0x0601,
246  GL_3D_COLOR = 0x0602,
247  GL_3D_COLOR_TEXTURE = 0x0603,
248  GL_4D_COLOR_TEXTURE = 0x0604,
249  GL_POINT_TOKEN = 0x0701,
250  GL_LINE_TOKEN = 0x0702,
251  GL_LINE_RESET_TOKEN = 0x0707,
252  GL_POLYGON_TOKEN = 0x0703,
253  GL_BITMAP_TOKEN = 0x0704,
254  GL_DRAW_PIXEL_TOKEN = 0x0705,
255  GL_COPY_PIXEL_TOKEN = 0x0706,
256  GL_PASS_THROUGH_TOKEN = 0x0700,
257 
258  /* Fog */
259  GL_FOG = 0x0B60,
260  GL_FOG_MODE = 0x0B65,
261  GL_FOG_DENSITY = 0x0B62,
262  GL_FOG_COLOR = 0x0B66,
263  GL_FOG_INDEX = 0x0B61,
264  GL_FOG_START = 0x0B63,
265  GL_FOG_END = 0x0B64,
266  GL_LINEAR = 0x2601,
267  GL_EXP = 0x0800,
268  GL_EXP2 = 0x0801,
269 
270  /* Logic Ops */
271  GL_LOGIC_OP = 0x0BF1,
272  GL_LOGIC_OP_MODE = 0x0BF0,
273  GL_CLEAR = 0x1500,
274  GL_SET = 0x150F,
275  GL_COPY = 0x1503,
276  GL_COPY_INVERTED = 0x150C,
277  GL_NOOP = 0x1505,
278  GL_INVERT = 0x150A,
279  GL_AND = 0x1501,
280  GL_NAND = 0x150E,
281  GL_OR = 0x1507,
282  GL_NOR = 0x1508,
283  GL_XOR = 0x1506,
284  GL_EQUIV = 0x1509,
285  GL_AND_REVERSE = 0x1502,
286  GL_AND_INVERTED = 0x1504,
287  GL_OR_REVERSE = 0x150B,
288  GL_OR_INVERTED = 0x150D,
289 
290  /* Stencil */
291  GL_STENCIL_TEST = 0x0B90,
292  GL_STENCIL_WRITEMASK = 0x0B98,
293  GL_STENCIL_BITS = 0x0D57,
294  GL_STENCIL_FUNC = 0x0B92,
295  GL_STENCIL_VALUE_MASK = 0x0B93,
296  GL_STENCIL_REF = 0x0B97,
297  GL_STENCIL_FAIL = 0x0B94,
298  GL_STENCIL_PASS_DEPTH_PASS = 0x0B96,
299  GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95,
300  GL_STENCIL_CLEAR_VALUE = 0x0B91,
301  GL_STENCIL_INDEX = 0x1901,
302  GL_KEEP = 0x1E00,
303  GL_REPLACE = 0x1E01,
304  GL_INCR = 0x1E02,
305  GL_DECR = 0x1E03,
306 
307  /* Buffers, Pixel Drawing/Reading */
308  GL_NONE = 0,
309  GL_LEFT = 0x0406,
310  GL_RIGHT = 0x0407,
311  /*GL_FRONT = 0x0404, */
312  /*GL_BACK = 0x0405, */
313  /*GL_FRONT_AND_BACK = 0x0408, */
314  GL_FRONT_LEFT = 0x0400,
315  GL_FRONT_RIGHT = 0x0401,
316  GL_BACK_LEFT = 0x0402,
317  GL_BACK_RIGHT = 0x0403,
318  GL_AUX0 = 0x0409,
319  GL_AUX1 = 0x040A,
320  GL_AUX2 = 0x040B,
321  GL_AUX3 = 0x040C,
322  GL_COLOR_INDEX = 0x1900,
323  GL_RED = 0x1903,
324  GL_GREEN = 0x1904,
325  GL_BLUE = 0x1905,
326  GL_ALPHA = 0x1906,
327  GL_LUMINANCE = 0x1909,
328  GL_LUMINANCE_ALPHA = 0x190A,
329  GL_ALPHA_BITS = 0x0D55,
330  GL_RED_BITS = 0x0D52,
331  GL_GREEN_BITS = 0x0D53,
332  GL_BLUE_BITS = 0x0D54,
333  GL_INDEX_BITS = 0x0D51,
334  GL_SUBPIXEL_BITS = 0x0D50,
335  GL_AUX_BUFFERS = 0x0C00,
336  GL_READ_BUFFER = 0x0C02,
337  GL_DRAW_BUFFER = 0x0C01,
338  GL_DOUBLEBUFFER = 0x0C32,
339  GL_STEREO = 0x0C33,
340  GL_BITMAP = 0x1A00,
341  GL_COLOR = 0x1800,
342  GL_DEPTH = 0x1801,
343  GL_STENCIL = 0x1802,
344  GL_DITHER = 0x0BD0,
345  GL_RGB = 0x1907,
346  GL_RGBA = 0x1908,
347 
348  /* Implementation limits */
349  GL_MAX_LIST_NESTING = 0x0B31,
350  GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35,
351  GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36,
352  GL_MAX_NAME_STACK_DEPTH = 0x0D37,
353  GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38,
354  GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39,
355  GL_MAX_EVAL_ORDER = 0x0D30,
356  GL_MAX_LIGHTS = 0x0D31,
357  GL_MAX_CLIP_PLANES = 0x0D32,
358  GL_MAX_TEXTURE_SIZE = 0x0D33,
359  GL_MAX_PIXEL_MAP_TABLE = 0x0D34,
360  GL_MAX_VIEWPORT_DIMS = 0x0D3A,
361  GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
362 
363  /* Gets */
364  GL_ATTRIB_STACK_DEPTH = 0x0BB0,
365  GL_COLOR_CLEAR_VALUE = 0x0C22,
366  GL_COLOR_WRITEMASK = 0x0C23,
367  GL_CURRENT_INDEX = 0x0B01,
368  GL_CURRENT_COLOR = 0x0B00,
369  GL_CURRENT_NORMAL = 0x0B02,
370  GL_CURRENT_RASTER_COLOR = 0x0B04,
371  GL_CURRENT_RASTER_DISTANCE = 0x0B09,
372  GL_CURRENT_RASTER_INDEX = 0x0B05,
373  GL_CURRENT_RASTER_POSITION = 0x0B07,
374  GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
375  GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
376  GL_CURRENT_TEXTURE_COORDS = 0x0B03,
377  GL_INDEX_CLEAR_VALUE = 0x0C20,
378  GL_INDEX_MODE = 0x0C30,
379  GL_INDEX_WRITEMASK = 0x0C21,
380  GL_MODELVIEW_MATRIX = 0x0BA6,
381  GL_MODELVIEW_STACK_DEPTH = 0x0BA3,
382  GL_NAME_STACK_DEPTH = 0x0D70,
383  GL_PROJECTION_MATRIX = 0x0BA7,
384  GL_PROJECTION_STACK_DEPTH = 0x0BA4,
385  GL_RENDER_MODE = 0x0C40,
386  GL_RGBA_MODE = 0x0C31,
387  GL_TEXTURE_MATRIX = 0x0BA8,
388  GL_TEXTURE_STACK_DEPTH = 0x0BA5,
389  GL_VIEWPORT = 0x0BA2,
390 
391 
392  /* Evaluators */
393  GL_AUTO_NORMAL = 0x0D80,
394  GL_MAP1_COLOR_4 = 0x0D90,
395  GL_MAP1_GRID_DOMAIN = 0x0DD0,
396  GL_MAP1_GRID_SEGMENTS = 0x0DD1,
397  GL_MAP1_INDEX = 0x0D91,
398  GL_MAP1_NORMAL = 0x0D92,
399  GL_MAP1_TEXTURE_COORD_1 = 0x0D93,
400  GL_MAP1_TEXTURE_COORD_2 = 0x0D94,
401  GL_MAP1_TEXTURE_COORD_3 = 0x0D95,
402  GL_MAP1_TEXTURE_COORD_4 = 0x0D96,
403  GL_MAP1_VERTEX_3 = 0x0D97,
404  GL_MAP1_VERTEX_4 = 0x0D98,
405  GL_MAP2_COLOR_4 = 0x0DB0,
406  GL_MAP2_GRID_DOMAIN = 0x0DD2,
407  GL_MAP2_GRID_SEGMENTS = 0x0DD3,
408  GL_MAP2_INDEX = 0x0DB1,
409  GL_MAP2_NORMAL = 0x0DB2,
410  GL_MAP2_TEXTURE_COORD_1 = 0x0DB3,
411  GL_MAP2_TEXTURE_COORD_2 = 0x0DB4,
412  GL_MAP2_TEXTURE_COORD_3 = 0x0DB5,
413  GL_MAP2_TEXTURE_COORD_4 = 0x0DB6,
414  GL_MAP2_VERTEX_3 = 0x0DB7,
415  GL_MAP2_VERTEX_4 = 0x0DB8,
416  GL_COEFF = 0x0A00,
417  GL_DOMAIN = 0x0A02,
418  GL_ORDER = 0x0A01,
419 
420  /* Hints */
421  GL_FOG_HINT = 0x0C54,
422  GL_LINE_SMOOTH_HINT = 0x0C52,
423  GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50,
424  GL_POINT_SMOOTH_HINT = 0x0C51,
425  GL_POLYGON_SMOOTH_HINT = 0x0C53,
426  GL_DONT_CARE = 0x1100,
427  GL_FASTEST = 0x1101,
428  GL_NICEST = 0x1102,
429 
430  /* Scissor box */
431  GL_SCISSOR_TEST = 0x0C11,
432  GL_SCISSOR_BOX = 0x0C10,
433 
434  /* Pixel Mode / Transfer */
435  GL_MAP_COLOR = 0x0D10,
436  GL_MAP_STENCIL = 0x0D11,
437  GL_INDEX_SHIFT = 0x0D12,
438  GL_INDEX_OFFSET = 0x0D13,
439  GL_RED_SCALE = 0x0D14,
440  GL_RED_BIAS = 0x0D15,
441  GL_GREEN_SCALE = 0x0D18,
442  GL_GREEN_BIAS = 0x0D19,
443  GL_BLUE_SCALE = 0x0D1A,
444  GL_BLUE_BIAS = 0x0D1B,
445  GL_ALPHA_SCALE = 0x0D1C,
446  GL_ALPHA_BIAS = 0x0D1D,
447  GL_DEPTH_SCALE = 0x0D1E,
448  GL_DEPTH_BIAS = 0x0D1F,
449  GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1,
450  GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0,
451  GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2,
452  GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3,
453  GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4,
454  GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5,
455  GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6,
456  GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7,
457  GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8,
458  GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9,
459  GL_PIXEL_MAP_S_TO_S = 0x0C71,
460  GL_PIXEL_MAP_I_TO_I = 0x0C70,
461  GL_PIXEL_MAP_I_TO_R = 0x0C72,
462  GL_PIXEL_MAP_I_TO_G = 0x0C73,
463  GL_PIXEL_MAP_I_TO_B = 0x0C74,
464  GL_PIXEL_MAP_I_TO_A = 0x0C75,
465  GL_PIXEL_MAP_R_TO_R = 0x0C76,
466  GL_PIXEL_MAP_G_TO_G = 0x0C77,
467  GL_PIXEL_MAP_B_TO_B = 0x0C78,
468  GL_PIXEL_MAP_A_TO_A = 0x0C79,
469  GL_PACK_ALIGNMENT = 0x0D05,
470  GL_PACK_LSB_FIRST = 0x0D01,
471  GL_PACK_ROW_LENGTH = 0x0D02,
472  GL_PACK_SKIP_PIXELS = 0x0D04,
473  GL_PACK_SKIP_ROWS = 0x0D03,
474  GL_PACK_SWAP_BYTES = 0x0D00,
475  GL_UNPACK_ALIGNMENT = 0x0CF5,
476  GL_UNPACK_LSB_FIRST = 0x0CF1,
477  GL_UNPACK_ROW_LENGTH = 0x0CF2,
478  GL_UNPACK_SKIP_PIXELS = 0x0CF4,
479  GL_UNPACK_SKIP_ROWS = 0x0CF3,
480  GL_UNPACK_SWAP_BYTES = 0x0CF0,
481  GL_ZOOM_X = 0x0D16,
482  GL_ZOOM_Y = 0x0D17,
483 
484  /* Texture mapping */
485  GL_TEXTURE_ENV = 0x2300,
486  GL_TEXTURE_ENV_MODE = 0x2200,
487  GL_TEXTURE_1D = 0x0DE0,
488  GL_TEXTURE_2D = 0x0DE1,
489  GL_TEXTURE_WRAP_S = 0x2802,
490  GL_TEXTURE_WRAP_T = 0x2803,
491  GL_TEXTURE_MAG_FILTER = 0x2800,
492  GL_TEXTURE_MIN_FILTER = 0x2801,
493  GL_TEXTURE_ENV_COLOR = 0x2201,
494  GL_TEXTURE_GEN_S = 0x0C60,
495  GL_TEXTURE_GEN_T = 0x0C61,
496  GL_TEXTURE_GEN_MODE = 0x2500,
497  GL_TEXTURE_BORDER_COLOR = 0x1004,
498  GL_TEXTURE_WIDTH = 0x1000,
499  GL_TEXTURE_HEIGHT = 0x1001,
500  GL_TEXTURE_BORDER = 0x1005,
501  GL_TEXTURE_COMPONENTS = 0x1003,
502  GL_NEAREST_MIPMAP_NEAREST = 0x2700,
503  GL_NEAREST_MIPMAP_LINEAR = 0x2702,
504  GL_LINEAR_MIPMAP_NEAREST = 0x2701,
505  GL_LINEAR_MIPMAP_LINEAR = 0x2703,
506  GL_OBJECT_LINEAR = 0x2401,
507  GL_OBJECT_PLANE = 0x2501,
508  GL_EYE_LINEAR = 0x2400,
509  GL_EYE_PLANE = 0x2502,
510  GL_SPHERE_MAP = 0x2402,
511  GL_DECAL = 0x2101,
512  GL_MODULATE = 0x2100,
513  GL_NEAREST = 0x2600,
514  GL_REPEAT = 0x2901,
515  GL_CLAMP = 0x2900,
516  GL_S = 0x2000,
517  GL_T = 0x2001,
518  GL_R = 0x2002,
519  GL_Q = 0x2003,
520  GL_TEXTURE_GEN_R = 0x0C62,
521  GL_TEXTURE_GEN_Q = 0x0C63,
522 
523  GL_PROXY_TEXTURE_1D = 0x8063,
524  GL_PROXY_TEXTURE_2D = 0x8064,
525  GL_TEXTURE_PRIORITY = 0x8066,
526  GL_TEXTURE_RESIDENT = 0x8067,
527  GL_TEXTURE_1D_BINDING = 0x8068,
528  GL_TEXTURE_2D_BINDING = 0x8069,
529 
530  /* Internal texture formats */
531  GL_ALPHA4 = 0x803B,
532  GL_ALPHA8 = 0x803C,
533  GL_ALPHA12 = 0x803D,
534  GL_ALPHA16 = 0x803E,
535  GL_LUMINANCE4 = 0x803F,
536  GL_LUMINANCE8 = 0x8040,
537  GL_LUMINANCE12 = 0x8041,
538  GL_LUMINANCE16 = 0x8042,
539  GL_LUMINANCE4_ALPHA4 = 0x8043,
540  GL_LUMINANCE6_ALPHA2 = 0x8044,
541  GL_LUMINANCE8_ALPHA8 = 0x8045,
542  GL_LUMINANCE12_ALPHA4 = 0x8046,
543  GL_LUMINANCE12_ALPHA12 = 0x8047,
544  GL_LUMINANCE16_ALPHA16 = 0x8048,
545  GL_INTENSITY = 0x8049,
546  GL_INTENSITY4 = 0x804A,
547  GL_INTENSITY8 = 0x804B,
548  GL_INTENSITY12 = 0x804C,
549  GL_INTENSITY16 = 0x804D,
550  GL_R3_G3_B2 = 0x2A10,
551  GL_RGB4 = 0x804F,
552  GL_RGB5 = 0x8050,
553  GL_RGB8 = 0x8051,
554  GL_RGB10 = 0x8052,
555  GL_RGB12 = 0x8053,
556  GL_RGB16 = 0x8054,
557  GL_RGBA2 = 0x8055,
558  GL_RGBA4 = 0x8056,
559  GL_RGB5_A1 = 0x8057,
560  GL_RGBA8 = 0x8058,
561  GL_RGB10_A2 = 0x8059,
562  GL_RGBA12 = 0x805A,
563  GL_RGBA16 = 0x805B,
564 
565  /* Utility */
566  GL_VENDOR = 0x1F00,
567  GL_RENDERER = 0x1F01,
568  GL_VERSION = 0x1F02,
569  GL_EXTENSIONS = 0x1F03,
570 
571  /* Errors */
572  GL_INVALID_VALUE = 0x0501,
573  GL_INVALID_ENUM = 0x0500,
574  GL_INVALID_OPERATION = 0x0502,
575  GL_STACK_OVERFLOW = 0x0503,
576  GL_STACK_UNDERFLOW = 0x0504,
577  GL_OUT_OF_MEMORY = 0x0505,
578 
579  /*
580  * 1.0 Extensions
581  */
582  /* GL_EXT_blend_minmax and GL_EXT_blend_color */
583  GL_CONSTANT_COLOR_EXT = 0x8001,
584  GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002,
585  GL_CONSTANT_ALPHA_EXT = 0x8003,
586  GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004,
587  GL_BLEND_EQUATION_EXT = 0x8009,
588  GL_MIN_EXT = 0x8007,
589  GL_MAX_EXT = 0x8008,
590  GL_FUNC_ADD_EXT = 0x8006,
591  GL_FUNC_SUBTRACT_EXT = 0x800A,
592  GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B,
593  GL_BLEND_COLOR_EXT = 0x8005,
594 
595  /* GL_EXT_polygon_offset */
596  GL_POLYGON_OFFSET_EXT = 0x8037,
597  GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038,
598  GL_POLYGON_OFFSET_BIAS_EXT = 0x8039,
599 
600  /* GL_EXT_vertex_array */
601  GL_VERTEX_ARRAY_EXT = 0x8074,
602  GL_NORMAL_ARRAY_EXT = 0x8075,
603  GL_COLOR_ARRAY_EXT = 0x8076,
604  GL_INDEX_ARRAY_EXT = 0x8077,
605  GL_TEXTURE_COORD_ARRAY_EXT = 0x8078,
606  GL_EDGE_FLAG_ARRAY_EXT = 0x8079,
607  GL_VERTEX_ARRAY_SIZE_EXT = 0x807A,
608  GL_VERTEX_ARRAY_TYPE_EXT = 0x807B,
609  GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C,
610  GL_VERTEX_ARRAY_COUNT_EXT = 0x807D,
611  GL_NORMAL_ARRAY_TYPE_EXT = 0x807E,
612  GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F,
613  GL_NORMAL_ARRAY_COUNT_EXT = 0x8080,
614  GL_COLOR_ARRAY_SIZE_EXT = 0x8081,
615  GL_COLOR_ARRAY_TYPE_EXT = 0x8082,
616  GL_COLOR_ARRAY_STRIDE_EXT = 0x8083,
617  GL_COLOR_ARRAY_COUNT_EXT = 0x8084,
618  GL_INDEX_ARRAY_TYPE_EXT = 0x8085,
619  GL_INDEX_ARRAY_STRIDE_EXT = 0x8086,
620  GL_INDEX_ARRAY_COUNT_EXT = 0x8087,
621  GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088,
622  GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089,
623  GL_TEXTURE_COORD_ARRAY_STRIDE_EXT= 0x808A,
624  GL_TEXTURE_COORD_ARRAY_COUNT_EXT= 0x808B,
625  GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C,
626  GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D,
627  GL_VERTEX_ARRAY_POINTER_EXT = 0x808E,
628  GL_NORMAL_ARRAY_POINTER_EXT = 0x808F,
629  GL_COLOR_ARRAY_POINTER_EXT = 0x8090,
630  GL_INDEX_ARRAY_POINTER_EXT = 0x8091,
631  GL_TEXTURE_COORD_ARRAY_POINTER_EXT= 0x8092,
632  GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093
633 
634 };
635 
636 enum {
637  GL_CURRENT_BIT = 0x00000001,
638  GL_POINT_BIT = 0x00000002,
639  GL_LINE_BIT = 0x00000004,
640  GL_POLYGON_BIT = 0x00000008,
641  GL_POLYGON_STIPPLE_BIT = 0x00000010,
642  GL_PIXEL_MODE_BIT = 0x00000020,
643  GL_LIGHTING_BIT = 0x00000040,
644  GL_FOG_BIT = 0x00000080,
645  GL_DEPTH_BUFFER_BIT = 0x00000100,
646  GL_ACCUM_BUFFER_BIT = 0x00000200,
647  GL_STENCIL_BUFFER_BIT = 0x00000400,
648  GL_VIEWPORT_BIT = 0x00000800,
649  GL_TRANSFORM_BIT = 0x00001000,
650  GL_ENABLE_BIT = 0x00002000,
651  GL_COLOR_BUFFER_BIT = 0x00004000,
652  GL_HINT_BIT = 0x00008000,
653  GL_EVAL_BIT = 0x00010000,
654  GL_LIST_BIT = 0x00020000,
655  GL_TEXTURE_BIT = 0x00040000,
656  GL_SCISSOR_BIT = 0x00080000,
657  GL_ALL_ATTRIB_BITS = 0x000fffff
658 };
659 
660 /* some types */
661 
662 typedef int GLenum;
663 typedef void GLvoid;
664 typedef unsigned char GLboolean;
665 typedef signed char GLbyte; /* 1-byte signed */
666 typedef short GLshort; /* 2-byte signed */
667 typedef int GLint; /* 4-byte signed */
668 typedef unsigned char GLubyte; /* 1-byte unsigned */
669 typedef unsigned short GLushort; /* 2-byte unsigned */
670 typedef unsigned int GLuint; /* 4-byte unsigned */
671 typedef float GLfloat; /* single precision float */
672 typedef double GLdouble; /* double precision float */
673 typedef int GLsizei;
674 
675 /* functions */
676 
677 void glEnable(int code);
678 void glDisable(int code);
679 
680 void glShadeModel(int mode);
681 void glCullFace(int mode);
682 void glPolygonMode(int face,int mode);
683 
684 void glBegin(int type);
685 void glEnd(void);
686 
687 #define PROTO_GL1(name) \
688 void gl ## name ## 1f(float); \
689 void gl ## name ## 1d(double); \
690 void gl ## name ## 1fv(float *); \
691 void gl ## name ## 1dv(double *);
692 
693 #define PROTO_GL2(name) \
694 void gl ## name ## 2f(float ,float); \
695 void gl ## name ## 2d(double ,double); \
696 void gl ## name ## 2fv(float *); \
697 void gl ## name ## 2dv(double *);
698 
699 #define PROTO_GL3(name) \
700 void gl ## name ## 3f(float ,float ,float); \
701 void gl ## name ## 3d(double ,double ,double); \
702 void gl ## name ## 3fv(float *); \
703 void gl ## name ## 3dv(double *);
704 
705 #define PROTO_GL4(name) \
706 void gl ## name ## 4f(float ,float ,float, float ); \
707 void gl ## name ## 4d(double ,double ,double, double ); \
708 void gl ## name ## 4fv(float *); \
709 void gl ## name ## 4dv(double *);
710 
711 PROTO_GL2(Vertex)
712 PROTO_GL3(Vertex)
713 PROTO_GL4(Vertex)
714 
715 PROTO_GL3(Color)
716 PROTO_GL4(Color)
717 
718 PROTO_GL3(Normal)
719 
720 PROTO_GL1(TexCoord)
721 PROTO_GL2(TexCoord)
722 PROTO_GL3(TexCoord)
723 PROTO_GL4(TexCoord)
724 
725 void glEdgeFlag(int flag);
726 
727 /* matrix */
728 void glMatrixMode(int mode);
729 void glLoadMatrixf(const float *m);
730 void glLoadIdentity(void);
731 void glMultMatrixf(const float *m);
732 void glPushMatrix(void);
733 void glPopMatrix(void);
734 void glRotatef(float angle,float x,float y,float z);
735 void glTranslatef(float x,float y,float z);
736 void glScalef(float x,float y,float z);
737 
738 void glViewport(int x,int y,int width,int height);
739 void glFrustum(double left,double right,double bottom,double top,
740  double near,double far);
741 
742 /* lists */
743 unsigned int glGenLists(int range);
744 int glIsList(unsigned int list);
745 void glNewList(unsigned int list,int mode);
746 void glEndList(void);
747 void glCallList(unsigned int list);
748 
749 /* clear */
750 void glClear(int mask);
751 void glClearColor(float r,float g,float b,float a);
752 void glClearDepth(double depth);
753 
754 /* selection */
755 int glRenderMode(int mode);
756 void glSelectBuffer(int size,unsigned int *buf);
757 
758 void glInitNames(void);
759 void glPushName(unsigned int name);
760 void glPopName(void);
761 void glLoadName(unsigned int name);
762 
763 /* textures */
764 void glGenTextures(int n, unsigned int *textures);
765 void glDeleteTextures(int n, const unsigned int *textures);
766 void glBindTexture(int target,int texture);
767 void glTexImage2D( int target, int level, int components,
768  int width, int height, int border,
769  int format, int type, void *pixels);
770 void glTexEnvi(int target,int pname,int param);
771 void glTexParameteri(int target,int pname,int param);
772 void glPixelStorei(int pname,int param);
773 
774 /* lighting */
775 
776 void glMaterialfv(int mode,int type,float *v);
777 void glMaterialf(int mode,int type,float v);
778 void glColorMaterial(int mode,int type);
779 
780 void glLightfv(int light,int type,float *v);
781 void glLightf(int light,int type,float v);
782 void glLightModeli(int pname,int param);
783 void glLightModelfv(int pname,float *param);
784 
785 /* misc */
786 
787 void glFlush(void);
788 void glHint(int target,int mode);
789 void glGetIntegerv(int pname,int *params);
790 void glGetFloatv(int pname, float *v);
791 void glFrontFace(int mode);
792 
793 /* opengl 1.2 arrays */
794 void glEnableClientState(GLenum array);
795 void glDisableClientState(GLenum array);
796 void glArrayElement(GLint i);
797 void glVertexPointer(GLint size, GLenum type, GLsizei stride,
798  const GLvoid *pointer);
799 void glColorPointer(GLint size, GLenum type, GLsizei stride,
800  const GLvoid *pointer);
801 void glNormalPointer(GLenum type, GLsizei stride,
802  const GLvoid *pointer);
803 void glTexCoordPointer(GLint size, GLenum type, GLsizei stride,
804  const GLvoid *pointer);
805 
806 /* opengl 1.2 polygon offset */
807 void glPolygonOffset(GLfloat factor, GLfloat units);
808 
809 /* not implemented, just added to compile */
810  /*
811 inline void glPointSize(float) {}
812 inline void glLineWidth(float) {}
813 inline void glDeleteLists(int, int) {}
814 inline void glDepthFunc(int) {}
815 inline void glBlendFunc(int, int) {}
816 inline void glTexEnvf(int, int, int) {}
817 inline void glOrtho(float,float,float,float,float,float){}
818 inline void glVertex2i(int,int) {}
819 inline void glDepthMask(int) {}
820 inline void glFogi(int, int) {}
821 inline void glFogfv(int, const float*) {}
822 inline void glFogf(int, float) {}
823 inline void glRasterPos2f(float, float) {}
824 inline void glPolygonStipple(void*) {}
825 inline void glTexParameterf(int, int, int) {};
826  */
827 /* non compatible functions */
828 
829 void glDebug(int mode);
830 
831 void glInit(void *zbuffer);
832 void glClose(void);
833 
834 #ifdef __cplusplus
835 }
836 #endif
837 
838 #endif