comparison demos/gltypes.d @ 42:0b9b286b67b6 trunk

[svn r46] fix for shift operations added a simple opengl binding in demos
author lindquist
date Fri, 19 Oct 2007 15:16:11 +0200
parents
children
comparison
equal deleted inserted replaced
41:835320b88ad6 42:0b9b286b67b6
1 /*
2 * Copyright (c) 2004-2006 Derelict Developers
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the names 'Derelict', 'DerelictGL', nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 * Converted to a static binding by Tomas Lindquist Olsen <tomas@famolsen.dk>
33 */
34 module gltypes;
35
36 version(build) pragma(link,"GL");
37
38 alias uint GLenum;
39 alias ubyte GLboolean;
40 alias uint GLbitfield;
41 alias void GLvoid;
42 alias byte GLbyte;
43 alias short GLshort;
44 alias int GLint;
45 alias ubyte GLubyte;
46 alias ushort GLushort;
47 alias uint GLuint;
48 alias int GLsizei;
49 alias float GLfloat;
50 alias float GLclampf;
51 alias double GLdouble;
52 alias double GLclampd;
53 alias char GLchar;
54 alias ptrdiff_t GLintptr;
55 alias ptrdiff_t GLsizeiptr;
56
57 // Boolean values
58 enum : GLboolean {
59 GL_FALSE = 0x0,
60 GL_TRUE = 0x1,
61 }
62
63 enum : GLenum {
64 // Data types
65 GL_BYTE = 0x1400,
66 GL_UNSIGNED_BYTE = 0x1401,
67 GL_SHORT = 0x1402,
68 GL_UNSIGNED_SHORT = 0x1403,
69 GL_INT = 0x1404,
70 GL_UNSIGNED_INT = 0x1405,
71 GL_FLOAT = 0x1406,
72 GL_DOUBLE = 0x140A,
73 GL_2_BYTES = 0x1407,
74 GL_3_BYTES = 0x1408,
75 GL_4_BYTES = 0x1409,
76
77 // Primitives
78 GL_POINTS = 0x0000,
79 GL_LINES = 0x0001,
80 GL_LINE_LOOP = 0x0002,
81 GL_LINE_STRIP = 0x0003,
82 GL_TRIANGLES = 0x0004,
83 GL_TRIANGLE_STRIP = 0x0005,
84 GL_TRIANGLE_FAN = 0x0006,
85 GL_QUADS = 0x0007,
86 GL_QUAD_STRIP = 0x0008,
87 GL_POLYGON = 0x0009,
88
89 // Vertex Arrays
90 GL_VERTEX_ARRAY = 0x8074,
91 GL_NORMAL_ARRAY = 0x8075,
92 GL_COLOR_ARRAY = 0x8076,
93 GL_INDEX_ARRAY = 0x8077,
94 GL_TEXTURE_COORD_ARRAY = 0x8078,
95 GL_EDGE_FLAG_ARRAY = 0x8079,
96 GL_VERTEX_ARRAY_SIZE = 0x807A,
97 GL_VERTEX_ARRAY_TYPE = 0x807B,
98 GL_VERTEX_ARRAY_STRIDE = 0x807C,
99 GL_NORMAL_ARRAY_TYPE = 0x807E,
100 GL_NORMAL_ARRAY_STRIDE = 0x807F,
101 GL_COLOR_ARRAY_SIZE = 0x8081,
102 GL_COLOR_ARRAY_TYPE = 0x8082,
103 GL_COLOR_ARRAY_STRIDE = 0x8083,
104 GL_INDEX_ARRAY_TYPE = 0x8085,
105 GL_INDEX_ARRAY_STRIDE = 0x8086,
106 GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088,
107 GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089,
108 GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A,
109 GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C,
110 GL_VERTEX_ARRAY_POINTER = 0x808E,
111 GL_NORMAL_ARRAY_POINTER = 0x808F,
112 GL_COLOR_ARRAY_POINTER = 0x8090,
113 GL_INDEX_ARRAY_POINTER = 0x8091,
114 GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092,
115 GL_EDGE_FLAG_ARRAY_POINTER = 0x8093,
116 GL_V2F = 0x2A20,
117 GL_V3F = 0x2A21,
118 GL_C4UB_V2F = 0x2A22,
119 GL_C4UB_V3F = 0x2A23,
120 GL_C3F_V3F = 0x2A24,
121 GL_N3F_V3F = 0x2A25,
122 GL_C4F_N3F_V3F = 0x2A26,
123 GL_T2F_V3F = 0x2A27,
124 GL_T4F_V4F = 0x2A28,
125 GL_T2F_C4UB_V3F = 0x2A29,
126 GL_T2F_C3F_V3F = 0x2A2A,
127 GL_T2F_N3F_V3F = 0x2A2B,
128 GL_T2F_C4F_N3F_V3F = 0x2A2C,
129 GL_T4F_C4F_N3F_V4F = 0x2A2D,
130
131 // Matrix Mode
132 GL_MATRIX_MODE = 0x0BA0,
133 GL_MODELVIEW = 0x1700,
134 GL_PROJECTION = 0x1701,
135 GL_TEXTURE = 0x1702,
136
137 // Points
138 GL_POINT_SMOOTH = 0x0B10,
139 GL_POINT_SIZE = 0x0B11,
140 GL_POINT_SIZE_GRANULARITY = 0x0B13,
141 GL_POINT_SIZE_RANGE = 0x0B12,
142
143 // Lines
144 GL_LINE_SMOOTH = 0x0B20,
145 GL_LINE_STIPPLE = 0x0B24,
146 GL_LINE_STIPPLE_PATTERN = 0x0B25,
147 GL_LINE_STIPPLE_REPEAT = 0x0B26,
148 GL_LINE_WIDTH = 0x0B21,
149 GL_LINE_WIDTH_GRANULARITY = 0x0B23,
150 GL_LINE_WIDTH_RANGE = 0x0B22,
151
152 // Polygons
153 GL_POINT = 0x1B00,
154 GL_LINE = 0x1B01,
155 GL_FILL = 0x1B02,
156 GL_CW = 0x0900,
157 GL_CCW = 0x0901,
158 GL_FRONT = 0x0404,
159 GL_BACK = 0x0405,
160 GL_POLYGON_MODE = 0x0B40,
161 GL_POLYGON_SMOOTH = 0x0B41,
162 GL_POLYGON_STIPPLE = 0x0B42,
163 GL_EDGE_FLAG = 0x0B43,
164 GL_CULL_FACE = 0x0B44,
165 GL_CULL_FACE_MODE = 0x0B45,
166 GL_FRONT_FACE = 0x0B46,
167 GL_POLYGON_OFFSET_FACTOR = 0x8038,
168 GL_POLYGON_OFFSET_UNITS = 0x2A00,
169 GL_POLYGON_OFFSET_POINT = 0x2A01,
170 GL_POLYGON_OFFSET_LINE = 0x2A02,
171 GL_POLYGON_OFFSET_FILL = 0x8037,
172
173 // Display Lists
174 GL_COMPILE = 0x1300,
175 GL_COMPILE_AND_EXECUTE = 0x1301,
176 GL_LIST_BASE = 0x0B32,
177 GL_LIST_INDEX = 0x0B33,
178 GL_LIST_MODE = 0x0B30,
179
180 // Depth buffer
181 GL_NEVER = 0x0200,
182 GL_LESS = 0x0201,
183 GL_EQUAL = 0x0202,
184 GL_LEQUAL = 0x0203,
185 GL_GREATER = 0x0204,
186 GL_NOTEQUAL = 0x0205,
187 GL_GEQUAL = 0x0206,
188 GL_ALWAYS = 0x0207,
189 GL_DEPTH_TEST = 0x0B71,
190 GL_DEPTH_BITS = 0x0D56,
191 GL_DEPTH_CLEAR_VALUE = 0x0B73,
192 GL_DEPTH_FUNC = 0x0B74,
193 GL_DEPTH_RANGE = 0x0B70,
194 GL_DEPTH_WRITEMASK = 0x0B72,
195 GL_DEPTH_COMPONENT = 0x1902,
196
197 // Lighting
198 GL_LIGHTING = 0x0B50,
199 GL_LIGHT0 = 0x4000,
200 GL_LIGHT1 = 0x4001,
201 GL_LIGHT2 = 0x4002,
202 GL_LIGHT3 = 0x4003,
203 GL_LIGHT4 = 0x4004,
204 GL_LIGHT5 = 0x4005,
205 GL_LIGHT6 = 0x4006,
206 GL_LIGHT7 = 0x4007,
207 GL_SPOT_EXPONENT = 0x1205,
208 GL_SPOT_CUTOFF = 0x1206,
209 GL_CONSTANT_ATTENUATION = 0x1207,
210 GL_LINEAR_ATTENUATION = 0x1208,
211 GL_QUADRATIC_ATTENUATION = 0x1209,
212 GL_AMBIENT = 0x1200,
213 GL_DIFFUSE = 0x1201,
214 GL_SPECULAR = 0x1202,
215 GL_SHININESS = 0x1601,
216 GL_EMISSION = 0x1600,
217 GL_POSITION = 0x1203,
218 GL_SPOT_DIRECTION = 0x1204,
219 GL_AMBIENT_AND_DIFFUSE = 0x1602,
220 GL_COLOR_INDEXES = 0x1603,
221 GL_LIGHT_MODEL_TWO_SIDE = 0x0B52,
222 GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51,
223 GL_LIGHT_MODEL_AMBIENT = 0x0B53,
224 GL_FRONT_AND_BACK = 0x0408,
225 GL_SHADE_MODEL = 0x0B54,
226 GL_FLAT = 0x1D00,
227 GL_SMOOTH = 0x1D01,
228 GL_COLOR_MATERIAL = 0x0B57,
229 GL_COLOR_MATERIAL_FACE = 0x0B55,
230 GL_COLOR_MATERIAL_PARAMETER = 0x0B56,
231 GL_NORMALIZE = 0x0BA1,
232
233 // User clipping planes
234 GL_CLIP_PLANE0 = 0x3000,
235 GL_CLIP_PLANE1 = 0x3001,
236 GL_CLIP_PLANE2 = 0x3002,
237 GL_CLIP_PLANE3 = 0x3003,
238 GL_CLIP_PLANE4 = 0x3004,
239 GL_CLIP_PLANE5 = 0x3005,
240
241 // Accumulation buffer
242 GL_ACCUM_RED_BITS = 0x0D58,
243 GL_ACCUM_GREEN_BITS = 0x0D59,
244 GL_ACCUM_BLUE_BITS = 0x0D5A,
245 GL_ACCUM_ALPHA_BITS = 0x0D5B,
246 GL_ACCUM_CLEAR_VALUE = 0x0B80,
247 GL_ACCUM = 0x0100,
248 GL_ADD = 0x0104,
249 GL_LOAD = 0x0101,
250 GL_MULT = 0x0103,
251 GL_RETURN = 0x0102,
252
253 // Alpha testing
254 GL_ALPHA_TEST = 0x0BC0,
255 GL_ALPHA_TEST_REF = 0x0BC2,
256 GL_ALPHA_TEST_FUNC = 0x0BC1,
257
258 // Blending
259 GL_BLEND = 0x0BE2,
260 GL_BLEND_SRC = 0x0BE1,
261 GL_BLEND_DST = 0x0BE0,
262 GL_ZERO = 0x0,
263 GL_ONE = 0x1,
264 GL_SRC_COLOR = 0x0300,
265 GL_ONE_MINUS_SRC_COLOR = 0x0301,
266 GL_SRC_ALPHA = 0x0302,
267 GL_ONE_MINUS_SRC_ALPHA = 0x0303,
268 GL_DST_ALPHA = 0x0304,
269 GL_ONE_MINUS_DST_ALPHA = 0x0305,
270 GL_DST_COLOR = 0x0306,
271 GL_ONE_MINUS_DST_COLOR = 0x0307,
272 GL_SRC_ALPHA_SATURATE = 0x0308,
273 GL_CONSTANT_COLOR = 0x8001,
274 GL_ONE_MINUS_CONSTANT_COLOR = 0x8002,
275 GL_CONSTANT_ALPHA = 0x8003,
276 GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
277
278 // Render Mode
279 GL_FEEDBACK = 0x1C01,
280 GL_RENDER = 0x1C00,
281 GL_SELECT = 0x1C02,
282
283 // Feedback
284 GL_2D = 0x0600,
285 GL_3D = 0x0601,
286 GL_3D_COLOR = 0x0602,
287 GL_3D_COLOR_TEXTURE = 0x0603,
288 GL_4D_COLOR_TEXTURE = 0x0604,
289 GL_POINT_TOKEN = 0x0701,
290 GL_LINE_TOKEN = 0x0702,
291 GL_LINE_RESET_TOKEN = 0x0707,
292 GL_POLYGON_TOKEN = 0x0703,
293 GL_BITMAP_TOKEN = 0x0704,
294 GL_DRAW_PIXEL_TOKEN = 0x0705,
295 GL_COPY_PIXEL_TOKEN = 0x0706,
296 GL_PASS_THROUGH_TOKEN = 0x0700,
297 GL_FEEDBACK_BUFFER_POINTER = 0x0DF0,
298 GL_FEEDBACK_BUFFER_SIZE = 0x0DF1,
299 GL_FEEDBACK_BUFFER_TYPE = 0x0DF2,
300
301 // Selection
302 GL_SELECTION_BUFFER_POINTER = 0x0DF3,
303 GL_SELECTION_BUFFER_SIZE = 0x0DF4,
304
305 // Fog
306 GL_FOG = 0x0B60,
307 GL_FOG_MODE = 0x0B65,
308 GL_FOG_DENSITY = 0x0B62,
309 GL_FOG_COLOR = 0x0B66,
310 GL_FOG_INDEX = 0x0B61,
311 GL_FOG_START = 0x0B63,
312 GL_FOG_END = 0x0B64,
313 GL_LINEAR = 0x2601,
314 GL_EXP = 0x0800,
315 GL_EXP2 = 0x0801,
316
317 // Logic Ops
318 GL_LOGIC_OP = 0x0BF1,
319 GL_INDEX_LOGIC_OP = 0x0BF1,
320 GL_COLOR_LOGIC_OP = 0x0BF2,
321 GL_LOGIC_OP_MODE = 0x0BF0,
322 GL_CLEAR = 0x1500,
323 GL_SET = 0x150F,
324 GL_COPY = 0x1503,
325 GL_COPY_INVERTED = 0x150C,
326 GL_NOOP = 0x1505,
327 GL_INVERT = 0x150A,
328 GL_AND = 0x1501,
329 GL_NAND = 0x150E,
330 GL_OR = 0x1507,
331 GL_NOR = 0x1508,
332 GL_XOR = 0x1506,
333 GL_EQUIV = 0x1509,
334 GL_AND_REVERSE = 0x1502,
335 GL_AND_INVERTED = 0x1504,
336 GL_OR_REVERSE = 0x150B,
337 GL_OR_INVERTED = 0x150D,
338
339 // Stencil
340 GL_STENCIL_TEST = 0x0B90,
341 GL_STENCIL_WRITEMASK = 0x0B98,
342 GL_STENCIL_BITS = 0x0D57,
343 GL_STENCIL_FUNC = 0x0B92,
344 GL_STENCIL_VALUE_MASK = 0x0B93,
345 GL_STENCIL_REF = 0x0B97,
346 GL_STENCIL_FAIL = 0x0B94,
347 GL_STENCIL_PASS_DEPTH_PASS = 0x0B96,
348 GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95,
349 GL_STENCIL_CLEAR_VALUE = 0x0B91,
350 GL_STENCIL_INDEX = 0x1901,
351 GL_KEEP = 0x1E00,
352 GL_REPLACE = 0x1E01,
353 GL_INCR = 0x1E02,
354 GL_DECR = 0x1E03,
355
356 // Buffers, Pixel Drawing/Reading
357 GL_NONE = 0x0,
358 GL_LEFT = 0x0406,
359 GL_RIGHT = 0x0407,
360 GL_FRONT_LEFT = 0x0400,
361 GL_FRONT_RIGHT = 0x0401,
362 GL_BACK_LEFT = 0x0402,
363 GL_BACK_RIGHT = 0x0403,
364 GL_AUX0 = 0x0409,
365 GL_AUX1 = 0x040A,
366 GL_AUX2 = 0x040B,
367 GL_AUX3 = 0x040C,
368 GL_COLOR_INDEX = 0x1900,
369 GL_RED = 0x1903,
370 GL_GREEN = 0x1904,
371 GL_BLUE = 0x1905,
372 GL_ALPHA = 0x1906,
373 GL_LUMINANCE = 0x1909,
374 GL_LUMINANCE_ALPHA = 0x190A,
375 GL_ALPHA_BITS = 0x0D55,
376 GL_RED_BITS = 0x0D52,
377 GL_GREEN_BITS = 0x0D53,
378 GL_BLUE_BITS = 0x0D54,
379 GL_INDEX_BITS = 0x0D51,
380 GL_SUBPIXEL_BITS = 0x0D50,
381 GL_AUX_BUFFERS = 0x0C00,
382 GL_READ_BUFFER = 0x0C02,
383 GL_DRAW_BUFFER = 0x0C01,
384 GL_DOUBLEBUFFER = 0x0C32,
385 GL_STEREO = 0x0C33,
386 GL_BITMAP = 0x1A00,
387 GL_COLOR = 0x1800,
388 GL_DEPTH = 0x1801,
389 GL_STENCIL = 0x1802,
390 GL_DITHER = 0x0BD0,
391 GL_RGB = 0x1907,
392 GL_RGBA = 0x1908,
393
394 // Implementation limits
395 GL_MAX_LIST_NESTING = 0x0B31,
396 GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35,
397 GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36,
398 GL_MAX_NAME_STACK_DEPTH = 0x0D37,
399 GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38,
400 GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39,
401 GL_MAX_EVAL_ORDER = 0x0D30,
402 GL_MAX_LIGHTS = 0x0D31,
403 GL_MAX_CLIP_PLANES = 0x0D32,
404 GL_MAX_TEXTURE_SIZE = 0x0D33,
405 GL_MAX_PIXEL_MAP_TABLE = 0x0D34,
406 GL_MAX_VIEWPORT_DIMS = 0x0D3A,
407 GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B,
408
409 // Gets
410 GL_ATTRIB_STACK_DEPTH = 0x0BB0,
411 GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1,
412 GL_COLOR_CLEAR_VALUE = 0x0C22,
413 GL_COLOR_WRITEMASK = 0x0C23,
414 GL_CURRENT_INDEX = 0x0B01,
415 GL_CURRENT_COLOR = 0x0B00,
416 GL_CURRENT_NORMAL = 0x0B02,
417 GL_CURRENT_RASTER_COLOR = 0x0B04,
418 GL_CURRENT_RASTER_DISTANCE = 0x0B09,
419 GL_CURRENT_RASTER_INDEX = 0x0B05,
420 GL_CURRENT_RASTER_POSITION = 0x0B07,
421 GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
422 GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
423 GL_CURRENT_TEXTURE_COORDS = 0x0B03,
424 GL_INDEX_CLEAR_VALUE = 0x0C20,
425 GL_INDEX_MODE = 0x0C30,
426 GL_INDEX_WRITEMASK = 0x0C21,
427 GL_MODELVIEW_MATRIX = 0x0BA6,
428 GL_MODELVIEW_STACK_DEPTH = 0x0BA3,
429 GL_NAME_STACK_DEPTH = 0x0D70,
430 GL_PROJECTION_MATRIX = 0x0BA7,
431 GL_PROJECTION_STACK_DEPTH = 0x0BA4,
432 GL_RENDER_MODE = 0x0C40,
433 GL_RGBA_MODE = 0x0C31,
434 GL_TEXTURE_MATRIX = 0x0BA8,
435 GL_TEXTURE_STACK_DEPTH = 0x0BA5,
436 GL_VIEWPORT = 0x0BA2,
437
438 // Evaluators
439 GL_AUTO_NORMAL = 0x0D80,
440 GL_MAP1_COLOR_4 = 0x0D90,
441 GL_MAP1_GRID_DOMAIN = 0x0DD0,
442 GL_MAP1_GRID_SEGMENTS = 0x0DD1,
443 GL_MAP1_INDEX = 0x0D91,
444 GL_MAP1_NORMAL = 0x0D92,
445 GL_MAP1_TEXTURE_COORD_1 = 0x0D93,
446 GL_MAP1_TEXTURE_COORD_2 = 0x0D94,
447 GL_MAP1_TEXTURE_COORD_3 = 0x0D95,
448 GL_MAP1_TEXTURE_COORD_4 = 0x0D96,
449 GL_MAP1_VERTEX_3 = 0x0D97,
450 GL_MAP1_VERTEX_4 = 0x0D98,
451 GL_MAP2_COLOR_4 = 0x0DB0,
452 GL_MAP2_GRID_DOMAIN = 0x0DD2,
453 GL_MAP2_GRID_SEGMENTS = 0x0DD3,
454 GL_MAP2_INDEX = 0x0DB1,
455 GL_MAP2_NORMAL = 0x0DB2,
456 GL_MAP2_TEXTURE_COORD_1 = 0x0DB3,
457 GL_MAP2_TEXTURE_COORD_2 = 0x0DB4,
458 GL_MAP2_TEXTURE_COORD_3 = 0x0DB5,
459 GL_MAP2_TEXTURE_COORD_4 = 0x0DB6,
460 GL_MAP2_VERTEX_3 = 0x0DB7,
461 GL_MAP2_VERTEX_4 = 0x0DB8,
462 GL_COEFF = 0x0A00,
463 GL_DOMAIN = 0x0A02,
464 GL_ORDER = 0x0A01,
465
466 // Hints
467 GL_FOG_HINT = 0x0C54,
468 GL_LINE_SMOOTH_HINT = 0x0C52,
469 GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50,
470 GL_POINT_SMOOTH_HINT = 0x0C51,
471 GL_POLYGON_SMOOTH_HINT = 0x0C53,
472 GL_DONT_CARE = 0x1100,
473 GL_FASTEST = 0x1101,
474 GL_NICEST = 0x1102,
475
476 // Scissor box
477 GL_SCISSOR_TEST = 0x0C11,
478 GL_SCISSOR_BOX = 0x0C10,
479
480 // Pixel Mode / Transfer
481 GL_MAP_COLOR = 0x0D10,
482 GL_MAP_STENCIL = 0x0D11,
483 GL_INDEX_SHIFT = 0x0D12,
484 GL_INDEX_OFFSET = 0x0D13,
485 GL_RED_SCALE = 0x0D14,
486 GL_RED_BIAS = 0x0D15,
487 GL_GREEN_SCALE = 0x0D18,
488 GL_GREEN_BIAS = 0x0D19,
489 GL_BLUE_SCALE = 0x0D1A,
490 GL_BLUE_BIAS = 0x0D1B,
491 GL_ALPHA_SCALE = 0x0D1C,
492 GL_ALPHA_BIAS = 0x0D1D,
493 GL_DEPTH_SCALE = 0x0D1E,
494 GL_DEPTH_BIAS = 0x0D1F,
495 GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1,
496 GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0,
497 GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2,
498 GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3,
499 GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4,
500 GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5,
501 GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6,
502 GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7,
503 GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8,
504 GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9,
505 GL_PIXEL_MAP_S_TO_S = 0x0C71,
506 GL_PIXEL_MAP_I_TO_I = 0x0C70,
507 GL_PIXEL_MAP_I_TO_R = 0x0C72,
508 GL_PIXEL_MAP_I_TO_G = 0x0C73,
509 GL_PIXEL_MAP_I_TO_B = 0x0C74,
510 GL_PIXEL_MAP_I_TO_A = 0x0C75,
511 GL_PIXEL_MAP_R_TO_R = 0x0C76,
512 GL_PIXEL_MAP_G_TO_G = 0x0C77,
513 GL_PIXEL_MAP_B_TO_B = 0x0C78,
514 GL_PIXEL_MAP_A_TO_A = 0x0C79,
515 GL_PACK_ALIGNMENT = 0x0D05,
516 GL_PACK_LSB_FIRST = 0x0D01,
517 GL_PACK_ROW_LENGTH = 0x0D02,
518 GL_PACK_SKIP_PIXELS = 0x0D04,
519 GL_PACK_SKIP_ROWS = 0x0D03,
520 GL_PACK_SWAP_BYTES = 0x0D00,
521 GL_UNPACK_ALIGNMENT = 0x0CF5,
522 GL_UNPACK_LSB_FIRST = 0x0CF1,
523 GL_UNPACK_ROW_LENGTH = 0x0CF2,
524 GL_UNPACK_SKIP_PIXELS = 0x0CF4,
525 GL_UNPACK_SKIP_ROWS = 0x0CF3,
526 GL_UNPACK_SWAP_BYTES = 0x0CF0,
527 GL_ZOOM_X = 0x0D16,
528 GL_ZOOM_Y = 0x0D17,
529
530 // Texture mapping
531 GL_TEXTURE_ENV = 0x2300,
532 GL_TEXTURE_ENV_MODE = 0x2200,
533 GL_TEXTURE_1D = 0x0DE0,
534 GL_TEXTURE_2D = 0x0DE1,
535 GL_TEXTURE_WRAP_S = 0x2802,
536 GL_TEXTURE_WRAP_T = 0x2803,
537 GL_TEXTURE_MAG_FILTER = 0x2800,
538 GL_TEXTURE_MIN_FILTER = 0x2801,
539 GL_TEXTURE_ENV_COLOR = 0x2201,
540 GL_TEXTURE_GEN_S = 0x0C60,
541 GL_TEXTURE_GEN_T = 0x0C61,
542 GL_TEXTURE_GEN_MODE = 0x2500,
543 GL_TEXTURE_BORDER_COLOR = 0x1004,
544 GL_TEXTURE_WIDTH = 0x1000,
545 GL_TEXTURE_HEIGHT = 0x1001,
546 GL_TEXTURE_BORDER = 0x1005,
547 GL_TEXTURE_COMPONENTS = 0x1003,
548 GL_TEXTURE_RED_SIZE = 0x805C,
549 GL_TEXTURE_GREEN_SIZE = 0x805D,
550 GL_TEXTURE_BLUE_SIZE = 0x805E,
551 GL_TEXTURE_ALPHA_SIZE = 0x805F,
552 GL_TEXTURE_LUMINANCE_SIZE = 0x8060,
553 GL_TEXTURE_INTENSITY_SIZE = 0x8061,
554 GL_NEAREST_MIPMAP_NEAREST = 0x2700,
555 GL_NEAREST_MIPMAP_LINEAR = 0x2702,
556 GL_LINEAR_MIPMAP_NEAREST = 0x2701,
557 GL_LINEAR_MIPMAP_LINEAR = 0x2703,
558 GL_OBJECT_LINEAR = 0x2401,
559 GL_OBJECT_PLANE = 0x2501,
560 GL_EYE_LINEAR = 0x2400,
561 GL_EYE_PLANE = 0x2502,
562 GL_SPHERE_MAP = 0x2402,
563 GL_DECAL = 0x2101,
564 GL_MODULATE = 0x2100,
565 GL_NEAREST = 0x2600,
566 GL_REPEAT = 0x2901,
567 GL_CLAMP = 0x2900,
568 GL_S = 0x2000,
569 GL_T = 0x2001,
570 GL_R = 0x2002,
571 GL_Q = 0x2003,
572 GL_TEXTURE_GEN_R = 0x0C62,
573 GL_TEXTURE_GEN_Q = 0x0C63,
574
575 // Utility
576 GL_VENDOR = 0x1F00,
577 GL_RENDERER = 0x1F01,
578 GL_VERSION = 0x1F02,
579 GL_EXTENSIONS = 0x1F03,
580
581 // Errors
582 GL_NO_ERROR = 0x0,
583 GL_INVALID_VALUE = 0x0501,
584 GL_INVALID_ENUM = 0x0500,
585 GL_INVALID_OPERATION = 0x0502,
586 GL_STACK_OVERFLOW = 0x0503,
587 GL_STACK_UNDERFLOW = 0x0504,
588 GL_OUT_OF_MEMORY = 0x0505,
589 }
590
591 // glPush/PopAttrib bits
592 enum : GLuint {
593 GL_CURRENT_BIT = 0x00000001,
594 GL_POINT_BIT = 0x00000002,
595 GL_LINE_BIT = 0x00000004,
596 GL_POLYGON_BIT = 0x00000008,
597 GL_POLYGON_STIPPLE_BIT = 0x00000010,
598 GL_PIXEL_MODE_BIT = 0x00000020,
599 GL_LIGHTING_BIT = 0x00000040,
600 GL_FOG_BIT = 0x00000080,
601 GL_DEPTH_BUFFER_BIT = 0x00000100,
602 GL_ACCUM_BUFFER_BIT = 0x00000200,
603 GL_STENCIL_BUFFER_BIT = 0x00000400,
604 GL_VIEWPORT_BIT = 0x00000800,
605 GL_TRANSFORM_BIT = 0x00001000,
606 GL_ENABLE_BIT = 0x00002000,
607 GL_COLOR_BUFFER_BIT = 0x00004000,
608 GL_HINT_BIT = 0x00008000,
609 GL_EVAL_BIT = 0x00010000,
610 GL_LIST_BIT = 0x00020000,
611 GL_TEXTURE_BIT = 0x00040000,
612 GL_SCISSOR_BIT = 0x00080000,
613 GL_ALL_ATTRIB_BITS = 0x000FFFFF,
614 }
615
616 // gl 1.1
617 enum : GLenum {
618 GL_PROXY_TEXTURE_1D = 0x8063,
619 GL_PROXY_TEXTURE_2D = 0x8064,
620 GL_TEXTURE_PRIORITY = 0x8066,
621 GL_TEXTURE_RESIDENT = 0x8067,
622 GL_TEXTURE_BINDING_1D = 0x8068,
623 GL_TEXTURE_BINDING_2D = 0x8069,
624 GL_TEXTURE_INTERNAL_FORMAT = 0x1003,
625 GL_ALPHA4 = 0x803B,
626 GL_ALPHA8 = 0x803C,
627 GL_ALPHA12 = 0x803D,
628 GL_ALPHA16 = 0x803E,
629 GL_LUMINANCE4 = 0x803F,
630 GL_LUMINANCE8 = 0x8040,
631 GL_LUMINANCE12 = 0x8041,
632 GL_LUMINANCE16 = 0x8042,
633 GL_LUMINANCE4_ALPHA4 = 0x8043,
634 GL_LUMINANCE6_ALPHA2 = 0x8044,
635 GL_LUMINANCE8_ALPHA8 = 0x8045,
636 GL_LUMINANCE12_ALPHA4 = 0x8046,
637 GL_LUMINANCE12_ALPHA12 = 0x8047,
638 GL_LUMINANCE16_ALPHA16 = 0x8048,
639 GL_INTENSITY = 0x8049,
640 GL_INTENSITY4 = 0x804A,
641 GL_INTENSITY8 = 0x804B,
642 GL_INTENSITY12 = 0x804C,
643 GL_INTENSITY16 = 0x804D,
644 GL_R3_G3_B2 = 0x2A10,
645 GL_RGB4 = 0x804F,
646 GL_RGB5 = 0x8050,
647 GL_RGB8 = 0x8051,
648 GL_RGB10 = 0x8052,
649 GL_RGB12 = 0x8053,
650 GL_RGB16 = 0x8054,
651 GL_RGBA2 = 0x8055,
652 GL_RGBA4 = 0x8056,
653 GL_RGB5_A1 = 0x8057,
654 GL_RGBA8 = 0x8058,
655 GL_RGB10_A2 = 0x8059,
656 GL_RGBA12 = 0x805A,
657 GL_RGBA16 = 0x805B,
658 }
659
660 enum : GLuint {
661 GL_CLIENT_PIXEL_STORE_BIT = 0x00000001,
662 GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002,
663 GL_ALL_CLIENT_ATTRIB_BITS = 0xFFFFFFFF,
664 GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF,
665 }