Blender V2.61 - r43446
|
00001 /* 00002 * ***** BEGIN GPL LICENSE BLOCK ***** 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software Foundation, 00016 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 * 00018 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. 00019 * All rights reserved. 00020 * 00021 * This is a new part of Blender. 00022 * 00023 * Contributor(s): Willian P. Germano, Campbell Barton 00024 * 00025 * ***** END GPL LICENSE BLOCK ***** 00026 */ 00027 00038 #include <Python.h> 00039 00040 #include "bgl.h" /*This must come first */ 00041 #include <GL/glew.h> 00042 #include "MEM_guardedalloc.h" 00043 00044 #include "BLI_utildefines.h" 00045 00046 static PyObject *Buffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds); 00047 00048 /* Buffer sequence methods */ 00049 00050 static int Buffer_len(Buffer *self); 00051 static PyObject *Buffer_item(Buffer *self, int i); 00052 static PyObject *Buffer_slice(Buffer *self, int begin, int end); 00053 static int Buffer_ass_item(Buffer *self, int i, PyObject *v); 00054 static int Buffer_ass_slice(Buffer *self, int begin, int end, PyObject *seq); 00055 static PyObject *Buffer_subscript(Buffer *self, PyObject *item); 00056 static int Buffer_ass_subscript(Buffer *self, PyObject *item, PyObject *value); 00057 00058 static PySequenceMethods Buffer_SeqMethods = { 00059 (lenfunc) Buffer_len, /*sq_length */ 00060 (binaryfunc) NULL, /*sq_concat */ 00061 (ssizeargfunc) NULL, /*sq_repeat */ 00062 (ssizeargfunc) Buffer_item, /*sq_item */ 00063 (ssizessizeargfunc) NULL, /*sq_slice, deprecated, handled in Buffer_item */ 00064 (ssizeobjargproc) Buffer_ass_item, /*sq_ass_item */ 00065 (ssizessizeobjargproc) NULL, /*sq_ass_slice, deprecated handled in Buffer_ass_item */ 00066 (objobjproc) NULL, /* sq_contains */ 00067 (binaryfunc) NULL, /* sq_inplace_concat */ 00068 (ssizeargfunc) NULL, /* sq_inplace_repeat */ 00069 }; 00070 00071 00072 static PyMappingMethods Buffer_AsMapping = { 00073 (lenfunc)Buffer_len, 00074 (binaryfunc)Buffer_subscript, 00075 (objobjargproc)Buffer_ass_subscript 00076 }; 00077 00078 static void Buffer_dealloc(Buffer *self); 00079 static PyObject *Buffer_repr(Buffer *self); 00080 00081 static PyObject *Buffer_to_list(Buffer *self) 00082 { 00083 int i, len= self->dimensions[0]; 00084 PyObject *list= PyList_New(len); 00085 00086 for (i=0; i<len; i++) { 00087 PyList_SET_ITEM(list, i, Buffer_item(self, i)); 00088 } 00089 00090 return list; 00091 } 00092 00093 static PyObject *Buffer_to_list_recursive(Buffer *self) 00094 { 00095 PyObject *list; 00096 00097 if (self->ndimensions > 1) { 00098 int i, len= self->dimensions[0]; 00099 list= PyList_New(len); 00100 00101 for (i=0; i<len; i++) { 00102 Buffer *sub= (Buffer *)Buffer_item(self, i); 00103 PyList_SET_ITEM(list, i, Buffer_to_list_recursive(sub)); 00104 Py_DECREF(sub); 00105 } 00106 } 00107 else { 00108 list= Buffer_to_list(self); 00109 } 00110 00111 return list; 00112 } 00113 00114 static PyObject *Buffer_dimensions(Buffer *self, void *UNUSED(arg)) 00115 { 00116 PyObject *list= PyList_New(self->ndimensions); 00117 int i; 00118 00119 for (i= 0; i<self->ndimensions; i++) { 00120 PyList_SET_ITEM(list, i, PyLong_FromLong(self->dimensions[i])); 00121 } 00122 00123 return list; 00124 } 00125 00126 static PyMethodDef Buffer_methods[] = { 00127 {"to_list", (PyCFunction)Buffer_to_list_recursive, METH_NOARGS, 00128 "return the buffer as a list"}, 00129 {NULL, NULL, 0, NULL} 00130 }; 00131 00132 static PyGetSetDef Buffer_getseters[] = { 00133 {(char *)"dimensions", (getter)Buffer_dimensions, NULL, NULL, NULL}, 00134 {NULL, NULL, NULL, NULL, NULL} 00135 }; 00136 00137 00138 PyTypeObject BGL_bufferType = { 00139 PyVarObject_HEAD_INIT(NULL, 0) 00140 "bgl.Buffer", /*tp_name */ 00141 sizeof(Buffer), /*tp_basicsize */ 00142 0, /*tp_itemsize */ 00143 (destructor)Buffer_dealloc, /*tp_dealloc */ 00144 (printfunc)NULL, /*tp_print */ 00145 NULL, /*tp_getattr */ 00146 NULL, /*tp_setattr */ 00147 NULL, /*tp_compare */ 00148 (reprfunc) Buffer_repr, /*tp_repr */ 00149 NULL, /*tp_as_number */ 00150 &Buffer_SeqMethods, /*tp_as_sequence */ 00151 &Buffer_AsMapping, /* PyMappingMethods *tp_as_mapping; */ 00152 00153 /* More standard operations (here for binary compatibility) */ 00154 00155 NULL, /* hashfunc tp_hash; */ 00156 NULL, /* ternaryfunc tp_call; */ 00157 NULL, /* reprfunc tp_str; */ 00158 NULL, /* getattrofunc tp_getattro; */ 00159 NULL, /* setattrofunc tp_setattro; */ 00160 00161 /* Functions to access object as input/output buffer */ 00162 NULL, /* PyBufferProcs *tp_as_buffer; */ 00163 00164 /*** Flags to define presence of optional/expanded features ***/ 00165 Py_TPFLAGS_DEFAULT, /* long tp_flags; */ 00166 00167 NULL, /* char *tp_doc; Documentation string */ 00168 /*** Assigned meaning in release 2.0 ***/ 00169 /* call function for all accessible objects */ 00170 NULL, /* traverseproc tp_traverse; */ 00171 00172 /* delete references to contained objects */ 00173 NULL, /* inquiry tp_clear; */ 00174 00175 /*** Assigned meaning in release 2.1 ***/ 00176 /*** rich comparisons ***/ 00177 NULL, /* richcmpfunc tp_richcompare; */ 00178 00179 /*** weak reference enabler ***/ 00180 0, /* long tp_weaklistoffset; */ 00181 00182 /*** Added in release 2.2 ***/ 00183 /* Iterators */ 00184 NULL, /* getiterfunc tp_iter; */ 00185 NULL, /* iternextfunc tp_iternext; */ 00186 /*** Attribute descriptor and subclassing stuff ***/ 00187 Buffer_methods, /* struct PyMethodDef *tp_methods; */ 00188 NULL, /* struct PyMemberDef *tp_members; */ 00189 Buffer_getseters, /* struct PyGetSetDef *tp_getset; */ 00190 NULL, /*tp_base*/ 00191 NULL, /*tp_dict*/ 00192 NULL, /*tp_descr_get*/ 00193 NULL, /*tp_descr_set*/ 00194 0, /*tp_dictoffset*/ 00195 NULL, /*tp_init*/ 00196 NULL, /*tp_alloc*/ 00197 Buffer_new, /*tp_new*/ 00198 NULL, /*tp_free*/ 00199 NULL, /*tp_is_gc*/ 00200 NULL, /*tp_bases*/ 00201 NULL, /*tp_mro*/ 00202 NULL, /*tp_cache*/ 00203 NULL, /*tp_subclasses*/ 00204 NULL, /*tp_weaklist*/ 00205 NULL /*tp_del*/ 00206 }; 00207 00208 #define BGL_Wrap(nargs, funcname, ret, arg_list) \ 00209 static PyObject *Method_##funcname (PyObject *UNUSED(self), PyObject *args) \ 00210 { \ 00211 arg_def##nargs arg_list; \ 00212 ret_def_##ret; \ 00213 if (!PyArg_ParseTuple(args, \ 00214 arg_str##nargs arg_list, \ 00215 arg_ref##nargs arg_list)) \ 00216 { \ 00217 return NULL; \ 00218 } \ 00219 ret_set_##ret gl##funcname (arg_var##nargs arg_list); \ 00220 ret_ret_##ret; \ 00221 } 00222 00223 #define BGLU_Wrap(nargs, funcname, ret, arg_list) \ 00224 static PyObject *Method_##funcname (PyObject *UNUSED(self), PyObject *args) \ 00225 { \ 00226 arg_def##nargs arg_list; \ 00227 ret_def_##ret; \ 00228 if (!PyArg_ParseTuple(args, \ 00229 arg_str##nargs arg_list, \ 00230 arg_ref##nargs arg_list)) \ 00231 { \ 00232 return NULL; \ 00233 } \ 00234 ret_set_##ret glu##funcname (arg_var##nargs arg_list); \ 00235 ret_ret_##ret; \ 00236 } 00237 00238 /********/ 00239 int BGL_typeSize(int type) 00240 { 00241 switch (type) { 00242 case GL_BYTE: 00243 return sizeof(char); 00244 case GL_SHORT: 00245 return sizeof(short); 00246 case GL_INT: 00247 return sizeof(int); 00248 case GL_FLOAT: 00249 return sizeof(float); 00250 case GL_DOUBLE: 00251 return sizeof(double); 00252 } 00253 return -1; 00254 } 00255 00256 Buffer *BGL_MakeBuffer(int type, int ndimensions, int *dimensions, void *initbuffer) 00257 { 00258 Buffer *buffer; 00259 void *buf= NULL; 00260 int i, size, length; 00261 00262 length= 1; 00263 for (i=0; i<ndimensions; i++) 00264 length*= dimensions[i]; 00265 00266 size= BGL_typeSize(type); 00267 00268 buf= MEM_mallocN(length*size, "Buffer buffer"); 00269 00270 buffer= (Buffer *) PyObject_NEW(Buffer, &BGL_bufferType); 00271 buffer->parent= NULL; 00272 buffer->ndimensions= ndimensions; 00273 buffer->dimensions= MEM_mallocN(ndimensions*sizeof(int), "Buffer dimensions"); 00274 memcpy(buffer->dimensions, dimensions, ndimensions*sizeof(int)); 00275 buffer->type= type; 00276 buffer->buf.asvoid= buf; 00277 00278 if (initbuffer) { 00279 memcpy(buffer->buf.asvoid, initbuffer, length*size); 00280 } 00281 else { 00282 memset(buffer->buf.asvoid, 0, length*size); 00283 } 00284 return buffer; 00285 } 00286 00287 00288 #define MAX_DIMENSIONS 256 00289 static PyObject *Buffer_new(PyTypeObject *UNUSED(type), PyObject *args, PyObject *kwds) 00290 { 00291 PyObject *length_ob= NULL, *init= NULL; 00292 Buffer *buffer; 00293 int dimensions[MAX_DIMENSIONS]; 00294 00295 int type; 00296 Py_ssize_t i, ndimensions = 0; 00297 00298 if (kwds && PyDict_Size(kwds)) { 00299 PyErr_SetString(PyExc_TypeError, 00300 "bgl.Buffer(): takes no keyword args"); 00301 return NULL; 00302 } 00303 00304 if (!PyArg_ParseTuple(args, "iO|O: bgl.Buffer", &type, &length_ob, &init)) { 00305 return NULL; 00306 } 00307 if (!ELEM5(type, GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE)) { 00308 PyErr_SetString(PyExc_AttributeError, 00309 "invalid first argument type, should be one of " 00310 "GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT or GL_DOUBLE"); 00311 return NULL; 00312 } 00313 00314 if (PyLong_Check(length_ob)) { 00315 ndimensions= 1; 00316 if (((dimensions[0]= PyLong_AsLong(length_ob)) < 1)) { 00317 PyErr_SetString(PyExc_AttributeError, 00318 "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS)); 00319 return NULL; 00320 } 00321 } 00322 else if (PySequence_Check(length_ob)) { 00323 ndimensions= PySequence_Size(length_ob); 00324 if (ndimensions > MAX_DIMENSIONS) { 00325 PyErr_SetString(PyExc_AttributeError, 00326 "too many dimensions, max is "STRINGIFY(MAX_DIMENSIONS)); 00327 return NULL; 00328 } 00329 else if (ndimensions < 1) { 00330 PyErr_SetString(PyExc_AttributeError, 00331 "sequence must have at least one dimension"); 00332 return NULL; 00333 } 00334 for (i=0; i<ndimensions; i++) { 00335 PyObject *ob= PySequence_GetItem(length_ob, i); 00336 00337 if (!PyLong_Check(ob)) dimensions[i]= 1; 00338 else dimensions[i]= PyLong_AsLong(ob); 00339 Py_DECREF(ob); 00340 00341 if (dimensions[i] < 1) { 00342 PyErr_SetString(PyExc_AttributeError, 00343 "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS)); 00344 return NULL; 00345 } 00346 } 00347 } 00348 else { 00349 PyErr_Format(PyExc_TypeError, 00350 "invalid second argument argument expected a sequence " 00351 "or an int, not a %.200s", Py_TYPE(length_ob)->tp_name); 00352 return NULL; 00353 } 00354 00355 buffer= BGL_MakeBuffer(type, ndimensions, dimensions, NULL); 00356 if (init && ndimensions) { 00357 if (Buffer_ass_slice(buffer, 0, dimensions[0], init)) { 00358 Py_DECREF(buffer); 00359 return NULL; 00360 } 00361 } 00362 00363 return (PyObject *) buffer; 00364 } 00365 00366 /*@ Buffer sequence methods */ 00367 00368 static int Buffer_len(Buffer *self) 00369 { 00370 return self->dimensions[0]; 00371 } 00372 00373 static PyObject *Buffer_item(Buffer *self, int i) 00374 { 00375 if (i >= self->dimensions[0] || i < 0) { 00376 PyErr_SetString(PyExc_IndexError, "array index out of range"); 00377 return NULL; 00378 } 00379 00380 if (self->ndimensions==1) { 00381 switch (self->type) { 00382 case GL_BYTE: return Py_BuildValue("b", self->buf.asbyte[i]); 00383 case GL_SHORT: return Py_BuildValue("h", self->buf.asshort[i]); 00384 case GL_INT: return Py_BuildValue("i", self->buf.asint[i]); 00385 case GL_FLOAT: return PyFloat_FromDouble(self->buf.asfloat[i]); 00386 case GL_DOUBLE: return Py_BuildValue("d", self->buf.asdouble[i]); 00387 } 00388 } 00389 else { 00390 Buffer *newbuf; 00391 int j, length, size; 00392 00393 length= 1; 00394 for (j=1; j < self->ndimensions; j++) { 00395 length *= self->dimensions[j]; 00396 } 00397 size= BGL_typeSize(self->type); 00398 00399 newbuf= (Buffer *) PyObject_NEW(Buffer, &BGL_bufferType); 00400 00401 Py_INCREF(self); 00402 newbuf->parent= (PyObject *)self; 00403 00404 newbuf->ndimensions= self->ndimensions - 1; 00405 newbuf->type= self->type; 00406 newbuf->buf.asvoid= self->buf.asbyte + i*length*size; 00407 newbuf->dimensions= MEM_mallocN(newbuf->ndimensions*sizeof(int), 00408 "Buffer dimensions"); 00409 memcpy(newbuf->dimensions, self->dimensions+1, 00410 newbuf->ndimensions*sizeof(int)); 00411 00412 return (PyObject *) newbuf; 00413 } 00414 00415 return NULL; 00416 } 00417 00418 static PyObject *Buffer_slice(Buffer *self, int begin, int end) 00419 { 00420 PyObject *list; 00421 int count; 00422 00423 if (begin < 0) begin= 0; 00424 if (end > self->dimensions[0]) end= self->dimensions[0]; 00425 if (begin > end) begin= end; 00426 00427 list= PyList_New(end-begin); 00428 00429 for (count= begin; count<end; count++) { 00430 PyList_SET_ITEM(list, count-begin, Buffer_item(self, count)); 00431 } 00432 return list; 00433 } 00434 00435 static int Buffer_ass_item(Buffer *self, int i, PyObject *v) 00436 { 00437 if (i >= self->dimensions[0] || i < 0) { 00438 PyErr_SetString(PyExc_IndexError, 00439 "array assignment index out of range"); 00440 return -1; 00441 } 00442 00443 if (self->ndimensions!=1) { 00444 Buffer *row= (Buffer *)Buffer_item(self, i); 00445 00446 if (row) { 00447 int ret= Buffer_ass_slice(row, 0, self->dimensions[1], v); 00448 Py_DECREF(row); 00449 return ret; 00450 } 00451 else { 00452 return -1; 00453 } 00454 } 00455 00456 switch (self->type) { 00457 case GL_BYTE: 00458 return PyArg_Parse(v, "b:Expected ints", &self->buf.asbyte[i]) ? 0:-1; 00459 case GL_SHORT: 00460 return PyArg_Parse(v, "h:Expected ints", &self->buf.asshort[i]) ? 0:-1; 00461 case GL_INT: 00462 return PyArg_Parse(v, "i:Expected ints", &self->buf.asint[i]) ? 0:-1; 00463 case GL_FLOAT: 00464 return PyArg_Parse(v, "f:Expected floats", &self->buf.asfloat[i]) ? 0:-1; 00465 case GL_DOUBLE: 00466 return PyArg_Parse(v, "d:Expected floats", &self->buf.asdouble[i]) ? 0:-1; 00467 default: 00468 return 0; /* should never happen */ 00469 } 00470 } 00471 00472 static int Buffer_ass_slice(Buffer *self, int begin, int end, PyObject *seq) 00473 { 00474 PyObject *item; 00475 int count, err=0; 00476 00477 if (begin < 0) begin= 0; 00478 if (end > self->dimensions[0]) end= self->dimensions[0]; 00479 if (begin > end) begin= end; 00480 00481 if (!PySequence_Check(seq)) { 00482 PyErr_Format(PyExc_TypeError, 00483 "buffer[:] = value, invalid assignment. " 00484 "Expected a sequence, not an %.200s type", 00485 Py_TYPE(seq)->tp_name); 00486 return -1; 00487 } 00488 00489 /* re-use count var */ 00490 if ((count= PySequence_Size(seq)) != (end - begin)) { 00491 PyErr_Format(PyExc_TypeError, 00492 "buffer[:] = value, size mismatch in assignment. " 00493 "Expected: %d (given: %d)", count, end - begin); 00494 return -1; 00495 } 00496 00497 for (count= begin; count < end; count++) { 00498 item= PySequence_GetItem(seq, count - begin); 00499 if (item) { 00500 err= Buffer_ass_item(self, count, item); 00501 Py_DECREF(item); 00502 } 00503 else { 00504 err= -1; 00505 } 00506 if (err) break; 00507 } 00508 return err; 00509 } 00510 00511 static PyObject *Buffer_subscript(Buffer *self, PyObject *item) 00512 { 00513 if (PyIndex_Check(item)) { 00514 Py_ssize_t i; 00515 i = PyNumber_AsSsize_t(item, PyExc_IndexError); 00516 if (i == -1 && PyErr_Occurred()) 00517 return NULL; 00518 if (i < 0) 00519 i += self->dimensions[0]; 00520 return Buffer_item(self, i); 00521 } 00522 else if (PySlice_Check(item)) { 00523 Py_ssize_t start, stop, step, slicelength; 00524 00525 if (PySlice_GetIndicesEx((void *)item, self->dimensions[0], &start, &stop, &step, &slicelength) < 0) 00526 return NULL; 00527 00528 if (slicelength <= 0) { 00529 return PyTuple_New(0); 00530 } 00531 else if (step == 1) { 00532 return Buffer_slice(self, start, stop); 00533 } 00534 else { 00535 PyErr_SetString(PyExc_IndexError, 00536 "slice steps not supported with vectors"); 00537 return NULL; 00538 } 00539 } 00540 else { 00541 PyErr_Format(PyExc_TypeError, 00542 "buffer indices must be integers, not %.200s", 00543 Py_TYPE(item)->tp_name); 00544 return NULL; 00545 } 00546 } 00547 00548 static int Buffer_ass_subscript(Buffer *self, PyObject *item, PyObject *value) 00549 { 00550 if (PyIndex_Check(item)) { 00551 Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError); 00552 if (i == -1 && PyErr_Occurred()) 00553 return -1; 00554 if (i < 0) 00555 i += self->dimensions[0]; 00556 return Buffer_ass_item(self, i, value); 00557 } 00558 else if (PySlice_Check(item)) { 00559 Py_ssize_t start, stop, step, slicelength; 00560 00561 if (PySlice_GetIndicesEx((void *)item, self->dimensions[0], &start, &stop, &step, &slicelength) < 0) 00562 return -1; 00563 00564 if (step == 1) 00565 return Buffer_ass_slice(self, start, stop, value); 00566 else { 00567 PyErr_SetString(PyExc_IndexError, 00568 "slice steps not supported with vectors"); 00569 return -1; 00570 } 00571 } 00572 else { 00573 PyErr_Format(PyExc_TypeError, 00574 "buffer indices must be integers, not %.200s", 00575 Py_TYPE(item)->tp_name); 00576 return -1; 00577 } 00578 } 00579 00580 00581 static void Buffer_dealloc(Buffer *self) 00582 { 00583 if (self->parent) Py_DECREF(self->parent); 00584 else MEM_freeN (self->buf.asvoid); 00585 00586 MEM_freeN(self->dimensions); 00587 00588 PyObject_DEL(self); 00589 } 00590 00591 00592 static PyObject *Buffer_repr(Buffer *self) 00593 { 00594 PyObject *list= Buffer_to_list_recursive(self); 00595 PyObject *repr; 00596 const char *typestr= "UNKNOWN"; 00597 00598 switch (self->type) { 00599 case GL_BYTE: typestr= "GL_BYTE"; break; 00600 case GL_SHORT: typestr= "GL_SHORT"; break; 00601 case GL_INT: typestr= "GL_BYTE"; break; 00602 case GL_FLOAT: typestr= "GL_FLOAT"; break; 00603 case GL_DOUBLE: typestr= "GL_DOUBLE"; break; 00604 } 00605 00606 repr= PyUnicode_FromFormat("Buffer(%s, %R)", typestr, list); 00607 Py_DECREF(list); 00608 00609 return repr; 00610 } 00611 00612 00613 BGL_Wrap(2, Accum, void, (GLenum, GLfloat)) 00614 BGL_Wrap(2, AlphaFunc, void, (GLenum, GLclampf)) 00615 BGL_Wrap(3, AreTexturesResident, GLboolean, (GLsizei, GLuintP, GLbooleanP)) 00616 BGL_Wrap(1, Begin, void, (GLenum)) 00617 BGL_Wrap(2, BindTexture, void, (GLenum, GLuint)) 00618 BGL_Wrap(7, Bitmap, void, (GLsizei, GLsizei, GLfloat, 00619 GLfloat, GLfloat, GLfloat, GLubyteP)) 00620 BGL_Wrap(2, BlendFunc, void, (GLenum, GLenum)) 00621 BGL_Wrap(1, CallList, void, (GLuint)) 00622 BGL_Wrap(3, CallLists, void, (GLsizei, GLenum, GLvoidP)) 00623 BGL_Wrap(1, Clear, void, (GLbitfield)) 00624 BGL_Wrap(4, ClearAccum, void, (GLfloat, GLfloat, GLfloat, GLfloat)) 00625 BGL_Wrap(4, ClearColor, void, (GLclampf, GLclampf, GLclampf, GLclampf)) 00626 BGL_Wrap(1, ClearDepth, void, (GLclampd)) 00627 BGL_Wrap(1, ClearIndex, void, (GLfloat)) 00628 BGL_Wrap(1, ClearStencil, void, (GLint)) 00629 BGL_Wrap(2, ClipPlane, void, (GLenum, GLdoubleP)) 00630 BGL_Wrap(3, Color3b, void, (GLbyte, GLbyte, GLbyte)) 00631 BGL_Wrap(1, Color3bv, void, (GLbyteP)) 00632 BGL_Wrap(3, Color3d, void, (GLdouble, GLdouble, GLdouble)) 00633 BGL_Wrap(1, Color3dv, void, (GLdoubleP)) 00634 BGL_Wrap(3, Color3f, void, (GLfloat, GLfloat, GLfloat)) 00635 BGL_Wrap(1, Color3fv, void, (GLfloatP)) 00636 BGL_Wrap(3, Color3i, void, (GLint, GLint, GLint)) 00637 BGL_Wrap(1, Color3iv, void, (GLintP)) 00638 BGL_Wrap(3, Color3s, void, (GLshort, GLshort, GLshort)) 00639 BGL_Wrap(1, Color3sv, void, (GLshortP)) 00640 BGL_Wrap(3, Color3ub, void, (GLubyte, GLubyte, GLubyte)) 00641 BGL_Wrap(1, Color3ubv, void, (GLubyteP)) 00642 BGL_Wrap(3, Color3ui, void, (GLuint, GLuint, GLuint)) 00643 BGL_Wrap(1, Color3uiv, void, (GLuintP)) 00644 BGL_Wrap(3, Color3us, void, (GLushort, GLushort, GLushort)) 00645 BGL_Wrap(1, Color3usv, void, (GLushortP)) 00646 BGL_Wrap(4, Color4b, void, (GLbyte, GLbyte, GLbyte, GLbyte)) 00647 BGL_Wrap(1, Color4bv, void, (GLbyteP)) 00648 BGL_Wrap(4, Color4d, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00649 BGL_Wrap(1, Color4dv, void, (GLdoubleP)) 00650 BGL_Wrap(4, Color4f, void, (GLfloat, GLfloat, GLfloat, GLfloat)) 00651 BGL_Wrap(1, Color4fv, void, (GLfloatP)) 00652 BGL_Wrap(4, Color4i, void, (GLint, GLint, GLint, GLint)) 00653 BGL_Wrap(1, Color4iv, void, (GLintP)) 00654 BGL_Wrap(4, Color4s, void, (GLshort, GLshort, GLshort, GLshort)) 00655 BGL_Wrap(1, Color4sv, void, (GLshortP)) 00656 BGL_Wrap(4, Color4ub, void, (GLubyte, GLubyte, GLubyte, GLubyte)) 00657 BGL_Wrap(1, Color4ubv, void, (GLubyteP)) 00658 BGL_Wrap(4, Color4ui, void, (GLuint, GLuint, GLuint, GLuint)) 00659 BGL_Wrap(1, Color4uiv, void, (GLuintP)) 00660 BGL_Wrap(4, Color4us, void, (GLushort, GLushort, GLushort, GLushort)) 00661 BGL_Wrap(1, Color4usv, void, (GLushortP)) 00662 BGL_Wrap(4, ColorMask, void, (GLboolean, GLboolean, GLboolean, GLboolean)) 00663 BGL_Wrap(2, ColorMaterial, void, (GLenum, GLenum)) 00664 BGL_Wrap(5, CopyPixels, void, (GLint, GLint, GLsizei, GLsizei, GLenum)) 00665 BGL_Wrap(8, CopyTexImage2D, void, (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)) 00666 BGL_Wrap(1, CullFace, void, (GLenum)) 00667 BGL_Wrap(2, DeleteLists, void, (GLuint, GLsizei)) 00668 BGL_Wrap(2, DeleteTextures, void, (GLsizei, GLuintP)) 00669 BGL_Wrap(1, DepthFunc, void, (GLenum)) 00670 BGL_Wrap(1, DepthMask, void, (GLboolean)) 00671 BGL_Wrap(2, DepthRange, void, (GLclampd, GLclampd)) 00672 BGL_Wrap(1, Disable, void, (GLenum)) 00673 BGL_Wrap(1, DrawBuffer, void, (GLenum)) 00674 BGL_Wrap(5, DrawPixels, void, (GLsizei, GLsizei, GLenum, GLenum, GLvoidP)) 00675 BGL_Wrap(1, EdgeFlag, void, (GLboolean)) 00676 BGL_Wrap(1, EdgeFlagv, void, (GLbooleanP)) 00677 BGL_Wrap(1, Enable, void, (GLenum)) 00678 BGL_Wrap(1, End, void, (void)) 00679 BGL_Wrap(1, EndList, void, (void)) 00680 BGL_Wrap(1, EvalCoord1d, void, (GLdouble)) 00681 BGL_Wrap(1, EvalCoord1dv, void, (GLdoubleP)) 00682 BGL_Wrap(1, EvalCoord1f, void, (GLfloat)) 00683 BGL_Wrap(1, EvalCoord1fv, void, (GLfloatP)) 00684 BGL_Wrap(2, EvalCoord2d, void, (GLdouble, GLdouble)) 00685 BGL_Wrap(1, EvalCoord2dv, void, (GLdoubleP)) 00686 BGL_Wrap(2, EvalCoord2f, void, (GLfloat, GLfloat)) 00687 BGL_Wrap(1, EvalCoord2fv, void, (GLfloatP)) 00688 BGL_Wrap(3, EvalMesh1, void, (GLenum, GLint, GLint)) 00689 BGL_Wrap(5, EvalMesh2, void, (GLenum, GLint, GLint, GLint, GLint)) 00690 BGL_Wrap(1, EvalPoint1, void, (GLint)) 00691 BGL_Wrap(2, EvalPoint2, void, (GLint, GLint)) 00692 BGL_Wrap(3, FeedbackBuffer, void, (GLsizei, GLenum, GLfloatP)) 00693 BGL_Wrap(1, Finish, void, (void)) 00694 BGL_Wrap(1, Flush, void, (void)) 00695 BGL_Wrap(2, Fogf, void, (GLenum, GLfloat)) 00696 BGL_Wrap(2, Fogfv, void, (GLenum, GLfloatP)) 00697 BGL_Wrap(2, Fogi, void, (GLenum, GLint)) 00698 BGL_Wrap(2, Fogiv, void, (GLenum, GLintP)) 00699 BGL_Wrap(1, FrontFace, void, (GLenum)) 00700 BGL_Wrap(6, Frustum, void, (GLdouble, GLdouble, 00701 GLdouble, GLdouble, GLdouble, GLdouble)) 00702 BGL_Wrap(1, GenLists, GLuint, (GLsizei)) 00703 BGL_Wrap(2, GenTextures, void, (GLsizei, GLuintP)) 00704 BGL_Wrap(2, GetBooleanv, void, (GLenum, GLbooleanP)) 00705 BGL_Wrap(2, GetClipPlane, void, (GLenum, GLdoubleP)) 00706 BGL_Wrap(2, GetDoublev, void, (GLenum, GLdoubleP)) 00707 BGL_Wrap(1, GetError, GLenum, (void)) 00708 BGL_Wrap(2, GetFloatv, void, (GLenum, GLfloatP)) 00709 BGL_Wrap(2, GetIntegerv, void, (GLenum, GLintP)) 00710 BGL_Wrap(3, GetLightfv, void, (GLenum, GLenum, GLfloatP)) 00711 BGL_Wrap(3, GetLightiv, void, (GLenum, GLenum, GLintP)) 00712 BGL_Wrap(3, GetMapdv, void, (GLenum, GLenum, GLdoubleP)) 00713 BGL_Wrap(3, GetMapfv, void, (GLenum, GLenum, GLfloatP)) 00714 BGL_Wrap(3, GetMapiv, void, (GLenum, GLenum, GLintP)) 00715 BGL_Wrap(3, GetMaterialfv, void, (GLenum, GLenum, GLfloatP)) 00716 BGL_Wrap(3, GetMaterialiv, void, (GLenum, GLenum, GLintP)) 00717 BGL_Wrap(2, GetPixelMapfv, void, (GLenum, GLfloatP)) 00718 BGL_Wrap(2, GetPixelMapuiv, void, (GLenum, GLuintP)) 00719 BGL_Wrap(2, GetPixelMapusv, void, (GLenum, GLushortP)) 00720 BGL_Wrap(1, GetPolygonStipple,void, (GLubyteP)) 00721 BGL_Wrap(1, GetString, GLstring, (GLenum)) 00722 BGL_Wrap(3, GetTexEnvfv, void, (GLenum, GLenum, GLfloatP)) 00723 BGL_Wrap(3, GetTexEnviv, void, (GLenum, GLenum, GLintP)) 00724 BGL_Wrap(3, GetTexGendv, void, (GLenum, GLenum, GLdoubleP)) 00725 BGL_Wrap(3, GetTexGenfv, void, (GLenum, GLenum, GLfloatP)) 00726 BGL_Wrap(3, GetTexGeniv, void, (GLenum, GLenum, GLintP)) 00727 BGL_Wrap(5, GetTexImage, void, (GLenum, GLint, GLenum, GLenum, GLvoidP)) 00728 BGL_Wrap(4, GetTexLevelParameterfv, void, (GLenum, GLint, GLenum, GLfloatP)) 00729 BGL_Wrap(4, GetTexLevelParameteriv, void, (GLenum, GLint, GLenum, GLintP)) 00730 BGL_Wrap(3, GetTexParameterfv, void, (GLenum, GLenum, GLfloatP)) 00731 BGL_Wrap(3, GetTexParameteriv, void, (GLenum, GLenum, GLintP)) 00732 BGL_Wrap(2, Hint, void, (GLenum, GLenum)) 00733 BGL_Wrap(1, IndexMask, void, (GLuint)) 00734 BGL_Wrap(1, Indexd, void, (GLdouble)) 00735 BGL_Wrap(1, Indexdv, void, (GLdoubleP)) 00736 BGL_Wrap(1, Indexf, void, (GLfloat)) 00737 BGL_Wrap(1, Indexfv, void, (GLfloatP)) 00738 BGL_Wrap(1, Indexi, void, (GLint)) 00739 BGL_Wrap(1, Indexiv, void, (GLintP)) 00740 BGL_Wrap(1, Indexs, void, (GLshort)) 00741 BGL_Wrap(1, Indexsv, void, (GLshortP)) 00742 BGL_Wrap(1, InitNames, void, (void)) 00743 BGL_Wrap(1, IsEnabled, GLboolean, (GLenum)) 00744 BGL_Wrap(1, IsList, GLboolean, (GLuint)) 00745 BGL_Wrap(1, IsTexture, GLboolean, (GLuint)) 00746 BGL_Wrap(2, LightModelf, void, (GLenum, GLfloat)) 00747 BGL_Wrap(2, LightModelfv, void, (GLenum, GLfloatP)) 00748 BGL_Wrap(2, LightModeli, void, (GLenum, GLint)) 00749 BGL_Wrap(2, LightModeliv, void, (GLenum, GLintP)) 00750 BGL_Wrap(3, Lightf, void, (GLenum, GLenum, GLfloat)) 00751 BGL_Wrap(3, Lightfv, void, (GLenum, GLenum, GLfloatP)) 00752 BGL_Wrap(3, Lighti, void, (GLenum, GLenum, GLint)) 00753 BGL_Wrap(3, Lightiv, void, (GLenum, GLenum, GLintP)) 00754 BGL_Wrap(2, LineStipple, void, (GLint, GLushort)) 00755 BGL_Wrap(1, LineWidth, void, (GLfloat)) 00756 BGL_Wrap(1, ListBase, void, (GLuint)) 00757 BGL_Wrap(1, LoadIdentity, void, (void)) 00758 BGL_Wrap(1, LoadMatrixd, void, (GLdoubleP)) 00759 BGL_Wrap(1, LoadMatrixf, void, (GLfloatP)) 00760 BGL_Wrap(1, LoadName, void, (GLuint)) 00761 BGL_Wrap(1, LogicOp, void, (GLenum)) 00762 BGL_Wrap(6, Map1d, void, (GLenum, GLdouble, GLdouble, 00763 GLint, GLint, GLdoubleP)) 00764 BGL_Wrap(6, Map1f, void, (GLenum, GLfloat, GLfloat, 00765 GLint, GLint, GLfloatP)) 00766 BGL_Wrap(10, Map2d, void, (GLenum, GLdouble, GLdouble, 00767 GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdoubleP)) 00768 BGL_Wrap(10, Map2f, void, (GLenum, GLfloat, GLfloat, 00769 GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloatP)) 00770 BGL_Wrap(3, MapGrid1d, void, (GLint, GLdouble, GLdouble)) 00771 BGL_Wrap(3, MapGrid1f, void, (GLint, GLfloat, GLfloat)) 00772 BGL_Wrap(6, MapGrid2d, void, (GLint, GLdouble, GLdouble, 00773 GLint, GLdouble, GLdouble)) 00774 BGL_Wrap(6, MapGrid2f, void, (GLint, GLfloat, GLfloat, 00775 GLint, GLfloat, GLfloat)) 00776 BGL_Wrap(3, Materialf, void, (GLenum, GLenum, GLfloat)) 00777 BGL_Wrap(3, Materialfv, void, (GLenum, GLenum, GLfloatP)) 00778 BGL_Wrap(3, Materiali, void, (GLenum, GLenum, GLint)) 00779 BGL_Wrap(3, Materialiv, void, (GLenum, GLenum, GLintP)) 00780 BGL_Wrap(1, MatrixMode, void, (GLenum)) 00781 BGL_Wrap(1, MultMatrixd, void, (GLdoubleP)) 00782 BGL_Wrap(1, MultMatrixf, void, (GLfloatP)) 00783 BGL_Wrap(2, NewList, void, (GLuint, GLenum)) 00784 BGL_Wrap(3, Normal3b, void, (GLbyte, GLbyte, GLbyte)) 00785 BGL_Wrap(1, Normal3bv, void, (GLbyteP)) 00786 BGL_Wrap(3, Normal3d, void, (GLdouble, GLdouble, GLdouble)) 00787 BGL_Wrap(1, Normal3dv, void, (GLdoubleP)) 00788 BGL_Wrap(3, Normal3f, void, (GLfloat, GLfloat, GLfloat)) 00789 BGL_Wrap(1, Normal3fv, void, (GLfloatP)) 00790 BGL_Wrap(3, Normal3i, void, (GLint, GLint, GLint)) 00791 BGL_Wrap(1, Normal3iv, void, (GLintP)) 00792 BGL_Wrap(3, Normal3s, void, (GLshort, GLshort, GLshort)) 00793 BGL_Wrap(1, Normal3sv, void, (GLshortP)) 00794 BGL_Wrap(6, Ortho, void, (GLdouble, GLdouble, 00795 GLdouble, GLdouble, GLdouble, GLdouble)) 00796 BGL_Wrap(1, PassThrough, void, (GLfloat)) 00797 BGL_Wrap(3, PixelMapfv, void, (GLenum, GLint, GLfloatP)) 00798 BGL_Wrap(3, PixelMapuiv, void, (GLenum, GLint, GLuintP)) 00799 BGL_Wrap(3, PixelMapusv, void, (GLenum, GLint, GLushortP)) 00800 BGL_Wrap(2, PixelStoref, void, (GLenum, GLfloat)) 00801 BGL_Wrap(2, PixelStorei, void, (GLenum, GLint)) 00802 BGL_Wrap(2, PixelTransferf, void, (GLenum, GLfloat)) 00803 BGL_Wrap(2, PixelTransferi, void, (GLenum, GLint)) 00804 BGL_Wrap(2, PixelZoom, void, (GLfloat, GLfloat)) 00805 BGL_Wrap(1, PointSize, void, (GLfloat)) 00806 BGL_Wrap(2, PolygonMode, void, (GLenum, GLenum)) 00807 BGL_Wrap(2, PolygonOffset, void, (GLfloat, GLfloat)) 00808 BGL_Wrap(1, PolygonStipple, void, (GLubyteP)) 00809 BGL_Wrap(1, PopAttrib, void, (void)) 00810 BGL_Wrap(1, PopClientAttrib, void, (void)) 00811 BGL_Wrap(1, PopMatrix, void, (void)) 00812 BGL_Wrap(1, PopName, void, (void)) 00813 BGL_Wrap(3, PrioritizeTextures, void, (GLsizei, GLuintP, GLclampfP)) 00814 BGL_Wrap(1, PushAttrib, void, (GLbitfield)) 00815 BGL_Wrap(1, PushClientAttrib, void, (GLbitfield)) 00816 BGL_Wrap(1, PushMatrix, void, (void)) 00817 BGL_Wrap(1, PushName, void, (GLuint)) 00818 BGL_Wrap(2, RasterPos2d, void, (GLdouble, GLdouble)) 00819 BGL_Wrap(1, RasterPos2dv, void, (GLdoubleP)) 00820 BGL_Wrap(2, RasterPos2f, void, (GLfloat, GLfloat)) 00821 BGL_Wrap(1, RasterPos2fv, void, (GLfloatP)) 00822 BGL_Wrap(2, RasterPos2i, void, (GLint, GLint)) 00823 BGL_Wrap(1, RasterPos2iv, void, (GLintP)) 00824 BGL_Wrap(2, RasterPos2s, void, (GLshort, GLshort)) 00825 BGL_Wrap(1, RasterPos2sv, void, (GLshortP)) 00826 BGL_Wrap(3, RasterPos3d, void, (GLdouble, GLdouble, GLdouble)) 00827 BGL_Wrap(1, RasterPos3dv, void, (GLdoubleP)) 00828 BGL_Wrap(3, RasterPos3f, void, (GLfloat, GLfloat, GLfloat)) 00829 BGL_Wrap(1, RasterPos3fv, void, (GLfloatP)) 00830 BGL_Wrap(3, RasterPos3i, void, (GLint, GLint, GLint)) 00831 BGL_Wrap(1, RasterPos3iv, void, (GLintP)) 00832 BGL_Wrap(3, RasterPos3s, void, (GLshort, GLshort, GLshort)) 00833 BGL_Wrap(1, RasterPos3sv, void, (GLshortP)) 00834 BGL_Wrap(4, RasterPos4d, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00835 BGL_Wrap(1, RasterPos4dv, void, (GLdoubleP)) 00836 BGL_Wrap(4, RasterPos4f, void, (GLfloat, GLfloat, GLfloat, GLfloat)) 00837 BGL_Wrap(1, RasterPos4fv, void, (GLfloatP)) 00838 BGL_Wrap(4, RasterPos4i, void, (GLint, GLint, GLint, GLint)) 00839 BGL_Wrap(1, RasterPos4iv, void, (GLintP)) 00840 BGL_Wrap(4, RasterPos4s, void, (GLshort, GLshort, GLshort, GLshort)) 00841 BGL_Wrap(1, RasterPos4sv, void, (GLshortP)) 00842 BGL_Wrap(1, ReadBuffer, void, (GLenum)) 00843 BGL_Wrap(7, ReadPixels, void, (GLint, GLint, GLsizei, 00844 GLsizei, GLenum, GLenum, GLvoidP)) 00845 BGL_Wrap(4, Rectd, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00846 BGL_Wrap(2, Rectdv, void, (GLdoubleP, GLdoubleP)) 00847 BGL_Wrap(4, Rectf, void, (GLfloat, GLfloat, GLfloat, GLfloat)) 00848 BGL_Wrap(2, Rectfv, void, (GLfloatP, GLfloatP)) 00849 BGL_Wrap(4, Recti, void, (GLint, GLint, GLint, GLint)) 00850 BGL_Wrap(2, Rectiv, void, (GLintP, GLintP)) 00851 BGL_Wrap(4, Rects, void, (GLshort, GLshort, GLshort, GLshort)) 00852 BGL_Wrap(2, Rectsv, void, (GLshortP, GLshortP)) 00853 BGL_Wrap(1, RenderMode, GLint, (GLenum)) 00854 BGL_Wrap(4, Rotated, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00855 BGL_Wrap(4, Rotatef, void, (GLfloat, GLfloat, GLfloat, GLfloat)) 00856 BGL_Wrap(3, Scaled, void, (GLdouble, GLdouble, GLdouble)) 00857 BGL_Wrap(3, Scalef, void, (GLfloat, GLfloat, GLfloat)) 00858 BGL_Wrap(4, Scissor, void, (GLint, GLint, GLsizei, GLsizei)) 00859 BGL_Wrap(2, SelectBuffer, void, (GLsizei, GLuintP)) 00860 BGL_Wrap(1, ShadeModel, void, (GLenum)) 00861 BGL_Wrap(3, StencilFunc, void, (GLenum, GLint, GLuint)) 00862 BGL_Wrap(1, StencilMask, void, (GLuint)) 00863 BGL_Wrap(3, StencilOp, void, (GLenum, GLenum, GLenum)) 00864 BGL_Wrap(1, TexCoord1d, void, (GLdouble)) 00865 BGL_Wrap(1, TexCoord1dv, void, (GLdoubleP)) 00866 BGL_Wrap(1, TexCoord1f, void, (GLfloat)) 00867 BGL_Wrap(1, TexCoord1fv, void, (GLfloatP)) 00868 BGL_Wrap(1, TexCoord1i, void, (GLint)) 00869 BGL_Wrap(1, TexCoord1iv, void, (GLintP)) 00870 BGL_Wrap(1, TexCoord1s, void, (GLshort)) 00871 BGL_Wrap(1, TexCoord1sv, void, (GLshortP)) 00872 BGL_Wrap(2, TexCoord2d, void, (GLdouble, GLdouble)) 00873 BGL_Wrap(1, TexCoord2dv, void, (GLdoubleP)) 00874 BGL_Wrap(2, TexCoord2f, void, (GLfloat, GLfloat)) 00875 BGL_Wrap(1, TexCoord2fv, void, (GLfloatP)) 00876 BGL_Wrap(2, TexCoord2i, void, (GLint, GLint)) 00877 BGL_Wrap(1, TexCoord2iv, void, (GLintP)) 00878 BGL_Wrap(2, TexCoord2s, void, (GLshort, GLshort)) 00879 BGL_Wrap(1, TexCoord2sv, void, (GLshortP)) 00880 BGL_Wrap(3, TexCoord3d, void, (GLdouble, GLdouble, GLdouble)) 00881 BGL_Wrap(1, TexCoord3dv, void, (GLdoubleP)) 00882 BGL_Wrap(3, TexCoord3f, void, (GLfloat, GLfloat, GLfloat)) 00883 BGL_Wrap(1, TexCoord3fv, void, (GLfloatP)) 00884 BGL_Wrap(3, TexCoord3i, void, (GLint, GLint, GLint)) 00885 BGL_Wrap(1, TexCoord3iv, void, (GLintP)) 00886 BGL_Wrap(3, TexCoord3s, void, (GLshort, GLshort, GLshort)) 00887 BGL_Wrap(1, TexCoord3sv, void, (GLshortP)) 00888 BGL_Wrap(4, TexCoord4d, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00889 BGL_Wrap(1, TexCoord4dv, void, (GLdoubleP)) 00890 BGL_Wrap(4, TexCoord4f, void, (GLfloat, GLfloat, GLfloat, GLfloat)) 00891 BGL_Wrap(1, TexCoord4fv, void, (GLfloatP)) 00892 BGL_Wrap(4, TexCoord4i, void, (GLint, GLint, GLint, GLint)) 00893 BGL_Wrap(1, TexCoord4iv, void, (GLintP)) 00894 BGL_Wrap(4, TexCoord4s, void, (GLshort, GLshort, GLshort, GLshort)) 00895 BGL_Wrap(1, TexCoord4sv, void, (GLshortP)) 00896 BGL_Wrap(3, TexEnvf, void, (GLenum, GLenum, GLfloat)) 00897 BGL_Wrap(3, TexEnvfv, void, (GLenum, GLenum, GLfloatP)) 00898 BGL_Wrap(3, TexEnvi, void, (GLenum, GLenum, GLint)) 00899 BGL_Wrap(3, TexEnviv, void, (GLenum, GLenum, GLintP)) 00900 BGL_Wrap(3, TexGend, void, (GLenum, GLenum, GLdouble)) 00901 BGL_Wrap(3, TexGendv, void, (GLenum, GLenum, GLdoubleP)) 00902 BGL_Wrap(3, TexGenf, void, (GLenum, GLenum, GLfloat)) 00903 BGL_Wrap(3, TexGenfv, void, (GLenum, GLenum, GLfloatP)) 00904 BGL_Wrap(3, TexGeni, void, (GLenum, GLenum, GLint)) 00905 BGL_Wrap(3, TexGeniv, void, (GLenum, GLenum, GLintP)) 00906 BGL_Wrap(8, TexImage1D, void, (GLenum, GLint, GLint, 00907 GLsizei, GLint, GLenum, GLenum, GLvoidP)) 00908 BGL_Wrap(9, TexImage2D, void, (GLenum, GLint, GLint, 00909 GLsizei, GLsizei, GLint, GLenum, GLenum, GLvoidP)) 00910 BGL_Wrap(3, TexParameterf, void, (GLenum, GLenum, GLfloat)) 00911 BGL_Wrap(3, TexParameterfv, void, (GLenum, GLenum, GLfloatP)) 00912 BGL_Wrap(3, TexParameteri, void, (GLenum, GLenum, GLint)) 00913 BGL_Wrap(3, TexParameteriv, void, (GLenum, GLenum, GLintP)) 00914 BGL_Wrap(3, Translated, void, (GLdouble, GLdouble, GLdouble)) 00915 BGL_Wrap(3, Translatef, void, (GLfloat, GLfloat, GLfloat)) 00916 BGL_Wrap(2, Vertex2d, void, (GLdouble, GLdouble)) 00917 BGL_Wrap(1, Vertex2dv, void, (GLdoubleP)) 00918 BGL_Wrap(2, Vertex2f, void, (GLfloat, GLfloat)) 00919 BGL_Wrap(1, Vertex2fv, void, (GLfloatP)) 00920 BGL_Wrap(2, Vertex2i, void, (GLint, GLint)) 00921 BGL_Wrap(1, Vertex2iv, void, (GLintP)) 00922 BGL_Wrap(2, Vertex2s, void, (GLshort, GLshort)) 00923 BGL_Wrap(1, Vertex2sv, void, (GLshortP)) 00924 BGL_Wrap(3, Vertex3d, void, (GLdouble, GLdouble, GLdouble)) 00925 BGL_Wrap(1, Vertex3dv, void, (GLdoubleP)) 00926 BGL_Wrap(3, Vertex3f, void, (GLfloat, GLfloat, GLfloat)) 00927 BGL_Wrap(1, Vertex3fv, void, (GLfloatP)) 00928 BGL_Wrap(3, Vertex3i, void, (GLint, GLint, GLint)) 00929 BGL_Wrap(1, Vertex3iv, void, (GLintP)) 00930 BGL_Wrap(3, Vertex3s, void, (GLshort, GLshort, GLshort)) 00931 BGL_Wrap(1, Vertex3sv, void, (GLshortP)) 00932 BGL_Wrap(4, Vertex4d, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00933 BGL_Wrap(1, Vertex4dv, void, (GLdoubleP)) 00934 BGL_Wrap(4, Vertex4f, void, (GLfloat, GLfloat, GLfloat, GLfloat)) 00935 BGL_Wrap(1, Vertex4fv, void, (GLfloatP)) 00936 BGL_Wrap(4, Vertex4i, void, (GLint, GLint, GLint, GLint)) 00937 BGL_Wrap(1, Vertex4iv, void, (GLintP)) 00938 BGL_Wrap(4, Vertex4s, void, (GLshort, GLshort, GLshort, GLshort)) 00939 BGL_Wrap(1, Vertex4sv, void, (GLshortP)) 00940 BGL_Wrap(4, Viewport, void, (GLint, GLint, GLsizei, GLsizei)) 00941 BGLU_Wrap(4, Perspective, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00942 BGLU_Wrap(9, LookAt, void, (GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)) 00943 BGLU_Wrap(4, Ortho2D, void, (GLdouble, GLdouble, GLdouble, GLdouble)) 00944 BGLU_Wrap(5, PickMatrix, void, (GLdouble, GLdouble, GLdouble, GLdouble, GLintP)) 00945 BGLU_Wrap(9, Project, GLint, (GLdouble, GLdouble, GLdouble, GLdoubleP, GLdoubleP, GLintP, GLdoubleP, GLdoubleP, GLdoubleP)) 00946 BGLU_Wrap(9, UnProject, GLint, (GLdouble, GLdouble, GLdouble, GLdoubleP, GLdoubleP, GLintP, GLdoubleP, GLdoubleP, GLdoubleP)) 00947 00948 #undef MethodDef 00949 #define MethodDef(func) {"gl"#func, Method_##func, METH_VARARGS, "no string"} 00950 #define MethodDefu(func) {"glu"#func, Method_##func, METH_VARARGS, "no string"} 00951 /* So that MethodDef(Accum) becomes: 00952 * {"glAccum", Method_Accumfunc, METH_VARARGS} */ 00953 00954 static struct PyMethodDef BGL_methods[] = { 00955 00956 /* #ifndef __APPLE__ */ 00957 MethodDef(Accum), 00958 MethodDef(AlphaFunc), 00959 MethodDef(AreTexturesResident), 00960 MethodDef(Begin), 00961 MethodDef(BindTexture), 00962 MethodDef(Bitmap), 00963 MethodDef(BlendFunc), 00964 MethodDef(CallList), 00965 MethodDef(CallLists), 00966 MethodDef(Clear), 00967 MethodDef(ClearAccum), 00968 MethodDef(ClearColor), 00969 MethodDef(ClearDepth), 00970 MethodDef(ClearIndex), 00971 MethodDef(ClearStencil), 00972 MethodDef(ClipPlane), 00973 MethodDef(Color3b), 00974 MethodDef(Color3bv), 00975 MethodDef(Color3d), 00976 MethodDef(Color3dv), 00977 MethodDef(Color3f), 00978 MethodDef(Color3fv), 00979 MethodDef(Color3i), 00980 MethodDef(Color3iv), 00981 MethodDef(Color3s), 00982 MethodDef(Color3sv), 00983 MethodDef(Color3ub), 00984 MethodDef(Color3ubv), 00985 MethodDef(Color3ui), 00986 MethodDef(Color3uiv), 00987 MethodDef(Color3us), 00988 MethodDef(Color3usv), 00989 MethodDef(Color4b), 00990 MethodDef(Color4bv), 00991 MethodDef(Color4d), 00992 MethodDef(Color4dv), 00993 MethodDef(Color4f), 00994 MethodDef(Color4fv), 00995 MethodDef(Color4i), 00996 MethodDef(Color4iv), 00997 MethodDef(Color4s), 00998 MethodDef(Color4sv), 00999 MethodDef(Color4ub), 01000 MethodDef(Color4ubv), 01001 MethodDef(Color4ui), 01002 MethodDef(Color4uiv), 01003 MethodDef(Color4us), 01004 MethodDef(Color4usv), 01005 MethodDef(ColorMask), 01006 MethodDef(ColorMaterial), 01007 MethodDef(CopyPixels), 01008 MethodDef(CopyTexImage2D), 01009 MethodDef(CullFace), 01010 MethodDef(DeleteLists), 01011 MethodDef(DeleteTextures), 01012 MethodDef(DepthFunc), 01013 MethodDef(DepthMask), 01014 MethodDef(DepthRange), 01015 MethodDef(Disable), 01016 MethodDef(DrawBuffer), 01017 MethodDef(DrawPixels), 01018 MethodDef(EdgeFlag), 01019 MethodDef(EdgeFlagv), 01020 MethodDef(Enable), 01021 MethodDef(End), 01022 MethodDef(EndList), 01023 MethodDef(EvalCoord1d), 01024 MethodDef(EvalCoord1dv), 01025 MethodDef(EvalCoord1f), 01026 MethodDef(EvalCoord1fv), 01027 MethodDef(EvalCoord2d), 01028 MethodDef(EvalCoord2dv), 01029 MethodDef(EvalCoord2f), 01030 MethodDef(EvalCoord2fv), 01031 MethodDef(EvalMesh1), 01032 MethodDef(EvalMesh2), 01033 MethodDef(EvalPoint1), 01034 MethodDef(EvalPoint2), 01035 MethodDef(FeedbackBuffer), 01036 MethodDef(Finish), 01037 MethodDef(Flush), 01038 MethodDef(Fogf), 01039 MethodDef(Fogfv), 01040 MethodDef(Fogi), 01041 MethodDef(Fogiv), 01042 MethodDef(FrontFace), 01043 MethodDef(Frustum), 01044 MethodDef(GenLists), 01045 MethodDef(GenTextures), 01046 MethodDef(GetBooleanv), 01047 MethodDef(GetClipPlane), 01048 MethodDef(GetDoublev), 01049 MethodDef(GetError), 01050 MethodDef(GetFloatv), 01051 MethodDef(GetIntegerv), 01052 MethodDef(GetLightfv), 01053 MethodDef(GetLightiv), 01054 MethodDef(GetMapdv), 01055 MethodDef(GetMapfv), 01056 MethodDef(GetMapiv), 01057 MethodDef(GetMaterialfv), 01058 MethodDef(GetMaterialiv), 01059 MethodDef(GetPixelMapfv), 01060 MethodDef(GetPixelMapuiv), 01061 MethodDef(GetPixelMapusv), 01062 MethodDef(GetPolygonStipple), 01063 MethodDef(GetString), 01064 MethodDef(GetTexEnvfv), 01065 MethodDef(GetTexEnviv), 01066 MethodDef(GetTexGendv), 01067 MethodDef(GetTexGenfv), 01068 MethodDef(GetTexGeniv), 01069 MethodDef(GetTexImage), 01070 MethodDef(GetTexLevelParameterfv), 01071 MethodDef(GetTexLevelParameteriv), 01072 MethodDef(GetTexParameterfv), 01073 MethodDef(GetTexParameteriv), 01074 MethodDef(Hint), 01075 MethodDef(IndexMask), 01076 MethodDef(Indexd), 01077 MethodDef(Indexdv), 01078 MethodDef(Indexf), 01079 MethodDef(Indexfv), 01080 MethodDef(Indexi), 01081 MethodDef(Indexiv), 01082 MethodDef(Indexs), 01083 MethodDef(Indexsv), 01084 MethodDef(InitNames), 01085 MethodDef(IsEnabled), 01086 MethodDef(IsList), 01087 MethodDef(IsTexture), 01088 MethodDef(LightModelf), 01089 MethodDef(LightModelfv), 01090 MethodDef(LightModeli), 01091 MethodDef(LightModeliv), 01092 MethodDef(Lightf), 01093 MethodDef(Lightfv), 01094 MethodDef(Lighti), 01095 MethodDef(Lightiv), 01096 MethodDef(LineStipple), 01097 MethodDef(LineWidth), 01098 MethodDef(ListBase), 01099 MethodDef(LoadIdentity), 01100 MethodDef(LoadMatrixd), 01101 MethodDef(LoadMatrixf), 01102 MethodDef(LoadName), 01103 MethodDef(LogicOp), 01104 MethodDef(Map1d), 01105 MethodDef(Map1f), 01106 MethodDef(Map2d), 01107 MethodDef(Map2f), 01108 MethodDef(MapGrid1d), 01109 MethodDef(MapGrid1f), 01110 MethodDef(MapGrid2d), 01111 MethodDef(MapGrid2f), 01112 MethodDef(Materialf), 01113 MethodDef(Materialfv), 01114 MethodDef(Materiali), 01115 MethodDef(Materialiv), 01116 MethodDef(MatrixMode), 01117 MethodDef(MultMatrixd), 01118 MethodDef(MultMatrixf), 01119 MethodDef(NewList), 01120 MethodDef(Normal3b), 01121 MethodDef(Normal3bv), 01122 MethodDef(Normal3d), 01123 MethodDef(Normal3dv), 01124 MethodDef(Normal3f), 01125 MethodDef(Normal3fv), 01126 MethodDef(Normal3i), 01127 MethodDef(Normal3iv), 01128 MethodDef(Normal3s), 01129 MethodDef(Normal3sv), 01130 MethodDef(Ortho), 01131 MethodDef(PassThrough), 01132 MethodDef(PixelMapfv), 01133 MethodDef(PixelMapuiv), 01134 MethodDef(PixelMapusv), 01135 MethodDef(PixelStoref), 01136 MethodDef(PixelStorei), 01137 MethodDef(PixelTransferf), 01138 MethodDef(PixelTransferi), 01139 MethodDef(PixelZoom), 01140 MethodDef(PointSize), 01141 MethodDef(PolygonMode), 01142 MethodDef(PolygonOffset), 01143 MethodDef(PolygonStipple), 01144 MethodDef(PopAttrib), 01145 MethodDef(PopClientAttrib), 01146 MethodDef(PopMatrix), 01147 MethodDef(PopName), 01148 MethodDef(PrioritizeTextures), 01149 MethodDef(PushAttrib), 01150 MethodDef(PushClientAttrib), 01151 MethodDef(PushMatrix), 01152 MethodDef(PushName), 01153 MethodDef(RasterPos2d), 01154 MethodDef(RasterPos2dv), 01155 MethodDef(RasterPos2f), 01156 MethodDef(RasterPos2fv), 01157 MethodDef(RasterPos2i), 01158 MethodDef(RasterPos2iv), 01159 MethodDef(RasterPos2s), 01160 MethodDef(RasterPos2sv), 01161 MethodDef(RasterPos3d), 01162 MethodDef(RasterPos3dv), 01163 MethodDef(RasterPos3f), 01164 MethodDef(RasterPos3fv), 01165 MethodDef(RasterPos3i), 01166 MethodDef(RasterPos3iv), 01167 MethodDef(RasterPos3s), 01168 MethodDef(RasterPos3sv), 01169 MethodDef(RasterPos4d), 01170 MethodDef(RasterPos4dv), 01171 MethodDef(RasterPos4f), 01172 MethodDef(RasterPos4fv), 01173 MethodDef(RasterPos4i), 01174 MethodDef(RasterPos4iv), 01175 MethodDef(RasterPos4s), 01176 MethodDef(RasterPos4sv), 01177 MethodDef(ReadBuffer), 01178 MethodDef(ReadPixels), 01179 MethodDef(Rectd), 01180 MethodDef(Rectdv), 01181 MethodDef(Rectf), 01182 MethodDef(Rectfv), 01183 MethodDef(Recti), 01184 MethodDef(Rectiv), 01185 MethodDef(Rects), 01186 MethodDef(Rectsv), 01187 MethodDef(RenderMode), 01188 MethodDef(Rotated), 01189 MethodDef(Rotatef), 01190 MethodDef(Scaled), 01191 MethodDef(Scalef), 01192 MethodDef(Scissor), 01193 MethodDef(SelectBuffer), 01194 MethodDef(ShadeModel), 01195 MethodDef(StencilFunc), 01196 MethodDef(StencilMask), 01197 MethodDef(StencilOp), 01198 MethodDef(TexCoord1d), 01199 MethodDef(TexCoord1dv), 01200 MethodDef(TexCoord1f), 01201 MethodDef(TexCoord1fv), 01202 MethodDef(TexCoord1i), 01203 MethodDef(TexCoord1iv), 01204 MethodDef(TexCoord1s), 01205 MethodDef(TexCoord1sv), 01206 MethodDef(TexCoord2d), 01207 MethodDef(TexCoord2dv), 01208 MethodDef(TexCoord2f), 01209 MethodDef(TexCoord2fv), 01210 MethodDef(TexCoord2i), 01211 MethodDef(TexCoord2iv), 01212 MethodDef(TexCoord2s), 01213 MethodDef(TexCoord2sv), 01214 MethodDef(TexCoord3d), 01215 MethodDef(TexCoord3dv), 01216 MethodDef(TexCoord3f), 01217 MethodDef(TexCoord3fv), 01218 MethodDef(TexCoord3i), 01219 MethodDef(TexCoord3iv), 01220 MethodDef(TexCoord3s), 01221 MethodDef(TexCoord3sv), 01222 MethodDef(TexCoord4d), 01223 MethodDef(TexCoord4dv), 01224 MethodDef(TexCoord4f), 01225 MethodDef(TexCoord4fv), 01226 MethodDef(TexCoord4i), 01227 MethodDef(TexCoord4iv), 01228 MethodDef(TexCoord4s), 01229 MethodDef(TexCoord4sv), 01230 MethodDef(TexEnvf), 01231 MethodDef(TexEnvfv), 01232 MethodDef(TexEnvi), 01233 MethodDef(TexEnviv), 01234 MethodDef(TexGend), 01235 MethodDef(TexGendv), 01236 MethodDef(TexGenf), 01237 MethodDef(TexGenfv), 01238 MethodDef(TexGeni), 01239 MethodDef(TexGeniv), 01240 MethodDef(TexImage1D), 01241 MethodDef(TexImage2D), 01242 MethodDef(TexParameterf), 01243 MethodDef(TexParameterfv), 01244 MethodDef(TexParameteri), 01245 MethodDef(TexParameteriv), 01246 MethodDef(Translated), 01247 MethodDef(Translatef), 01248 MethodDef(Vertex2d), 01249 MethodDef(Vertex2dv), 01250 MethodDef(Vertex2f), 01251 MethodDef(Vertex2fv), 01252 MethodDef(Vertex2i), 01253 MethodDef(Vertex2iv), 01254 MethodDef(Vertex2s), 01255 MethodDef(Vertex2sv), 01256 MethodDef(Vertex3d), 01257 MethodDef(Vertex3dv), 01258 MethodDef(Vertex3f), 01259 MethodDef(Vertex3fv), 01260 MethodDef(Vertex3i), 01261 MethodDef(Vertex3iv), 01262 MethodDef(Vertex3s), 01263 MethodDef(Vertex3sv), 01264 MethodDef(Vertex4d), 01265 MethodDef(Vertex4dv), 01266 MethodDef(Vertex4f), 01267 MethodDef(Vertex4fv), 01268 MethodDef(Vertex4i), 01269 MethodDef(Vertex4iv), 01270 MethodDef(Vertex4s), 01271 MethodDef(Vertex4sv), 01272 MethodDef(Viewport), 01273 MethodDefu(Perspective), 01274 MethodDefu(LookAt), 01275 MethodDefu(Ortho2D), 01276 MethodDefu(PickMatrix), 01277 MethodDefu(Project), 01278 MethodDefu(UnProject), 01279 /* #endif */ 01280 {NULL, NULL, 0, NULL} 01281 }; 01282 01283 static struct PyModuleDef BGL_module_def = { 01284 PyModuleDef_HEAD_INIT, 01285 "bgl", /* m_name */ 01286 NULL, /* m_doc */ 01287 0, /* m_size */ 01288 BGL_methods, /* m_methods */ 01289 NULL, /* m_reload */ 01290 NULL, /* m_traverse */ 01291 NULL, /* m_clear */ 01292 NULL, /* m_free */ 01293 }; 01294 01295 01296 PyObject *BPyInit_bgl(void) 01297 { 01298 PyObject *submodule, *dict, *item; 01299 submodule= PyModule_Create(&BGL_module_def); 01300 dict= PyModule_GetDict(submodule); 01301 01302 if (PyType_Ready(&BGL_bufferType) < 0) 01303 return NULL; /* should never happen */ 01304 01305 01306 PyModule_AddObject(submodule, "Buffer", (PyObject *)&BGL_bufferType); 01307 Py_INCREF((PyObject *)&BGL_bufferType); 01308 01309 #define EXPP_ADDCONST(x) PyDict_SetItemString(dict, #x, item=PyLong_FromLong((int)x)); Py_DECREF(item) 01310 01311 /* So, for example: 01312 * EXPP_ADDCONST(GL_CURRENT_BIT) becomes 01313 * PyDict_SetItemString(dict, "GL_CURRENT_BIT", item=PyLong_FromLong(GL_CURRENT_BIT)); Py_DECREF(item) */ 01314 01315 EXPP_ADDCONST(GL_CURRENT_BIT); 01316 EXPP_ADDCONST(GL_POINT_BIT); 01317 EXPP_ADDCONST(GL_LINE_BIT); 01318 EXPP_ADDCONST(GL_POLYGON_BIT); 01319 EXPP_ADDCONST(GL_POLYGON_STIPPLE_BIT); 01320 EXPP_ADDCONST(GL_PIXEL_MODE_BIT); 01321 EXPP_ADDCONST(GL_LIGHTING_BIT); 01322 EXPP_ADDCONST(GL_FOG_BIT); 01323 EXPP_ADDCONST(GL_DEPTH_BUFFER_BIT); 01324 EXPP_ADDCONST(GL_ACCUM_BUFFER_BIT); 01325 EXPP_ADDCONST(GL_STENCIL_BUFFER_BIT); 01326 EXPP_ADDCONST(GL_VIEWPORT_BIT); 01327 EXPP_ADDCONST(GL_TRANSFORM_BIT); 01328 EXPP_ADDCONST(GL_ENABLE_BIT); 01329 EXPP_ADDCONST(GL_COLOR_BUFFER_BIT); 01330 EXPP_ADDCONST(GL_HINT_BIT); 01331 EXPP_ADDCONST(GL_EVAL_BIT); 01332 EXPP_ADDCONST(GL_LIST_BIT); 01333 EXPP_ADDCONST(GL_TEXTURE_BIT); 01334 EXPP_ADDCONST(GL_SCISSOR_BIT); 01335 EXPP_ADDCONST(GL_ALL_ATTRIB_BITS); 01336 EXPP_ADDCONST(GL_CLIENT_ALL_ATTRIB_BITS); 01337 01338 EXPP_ADDCONST(GL_FALSE); 01339 EXPP_ADDCONST(GL_TRUE); 01340 01341 EXPP_ADDCONST(GL_POINTS); 01342 EXPP_ADDCONST(GL_LINES); 01343 EXPP_ADDCONST(GL_LINE_LOOP); 01344 EXPP_ADDCONST(GL_LINE_STRIP); 01345 EXPP_ADDCONST(GL_TRIANGLES); 01346 EXPP_ADDCONST(GL_TRIANGLE_STRIP); 01347 EXPP_ADDCONST(GL_TRIANGLE_FAN); 01348 EXPP_ADDCONST(GL_QUADS); 01349 EXPP_ADDCONST(GL_QUAD_STRIP); 01350 EXPP_ADDCONST(GL_POLYGON); 01351 01352 EXPP_ADDCONST(GL_ACCUM); 01353 EXPP_ADDCONST(GL_LOAD); 01354 EXPP_ADDCONST(GL_RETURN); 01355 EXPP_ADDCONST(GL_MULT); 01356 EXPP_ADDCONST(GL_ADD); 01357 01358 EXPP_ADDCONST(GL_NEVER); 01359 EXPP_ADDCONST(GL_LESS); 01360 EXPP_ADDCONST(GL_EQUAL); 01361 EXPP_ADDCONST(GL_LEQUAL); 01362 EXPP_ADDCONST(GL_GREATER); 01363 EXPP_ADDCONST(GL_NOTEQUAL); 01364 EXPP_ADDCONST(GL_GEQUAL); 01365 EXPP_ADDCONST(GL_ALWAYS); 01366 01367 EXPP_ADDCONST(GL_ZERO); 01368 EXPP_ADDCONST(GL_ONE); 01369 EXPP_ADDCONST(GL_SRC_COLOR); 01370 EXPP_ADDCONST(GL_ONE_MINUS_SRC_COLOR); 01371 EXPP_ADDCONST(GL_SRC_ALPHA); 01372 EXPP_ADDCONST(GL_ONE_MINUS_SRC_ALPHA); 01373 EXPP_ADDCONST(GL_DST_ALPHA); 01374 EXPP_ADDCONST(GL_ONE_MINUS_DST_ALPHA); 01375 01376 EXPP_ADDCONST(GL_DST_COLOR); 01377 EXPP_ADDCONST(GL_ONE_MINUS_DST_COLOR); 01378 EXPP_ADDCONST(GL_SRC_ALPHA_SATURATE); 01379 01380 EXPP_ADDCONST(GL_NONE); 01381 EXPP_ADDCONST(GL_FRONT_LEFT); 01382 EXPP_ADDCONST(GL_FRONT_RIGHT); 01383 EXPP_ADDCONST(GL_BACK_LEFT); 01384 EXPP_ADDCONST(GL_BACK_RIGHT); 01385 EXPP_ADDCONST(GL_FRONT); 01386 EXPP_ADDCONST(GL_BACK); 01387 EXPP_ADDCONST(GL_LEFT); 01388 EXPP_ADDCONST(GL_RIGHT); 01389 EXPP_ADDCONST(GL_FRONT_AND_BACK); 01390 EXPP_ADDCONST(GL_AUX0); 01391 EXPP_ADDCONST(GL_AUX1); 01392 EXPP_ADDCONST(GL_AUX2); 01393 EXPP_ADDCONST(GL_AUX3); 01394 01395 EXPP_ADDCONST(GL_NO_ERROR); 01396 EXPP_ADDCONST(GL_INVALID_ENUM); 01397 EXPP_ADDCONST(GL_INVALID_VALUE); 01398 EXPP_ADDCONST(GL_INVALID_OPERATION); 01399 EXPP_ADDCONST(GL_STACK_OVERFLOW); 01400 EXPP_ADDCONST(GL_STACK_UNDERFLOW); 01401 EXPP_ADDCONST(GL_OUT_OF_MEMORY); 01402 01403 EXPP_ADDCONST(GL_2D); 01404 EXPP_ADDCONST(GL_3D); 01405 EXPP_ADDCONST(GL_3D_COLOR); 01406 EXPP_ADDCONST(GL_3D_COLOR_TEXTURE); 01407 EXPP_ADDCONST(GL_4D_COLOR_TEXTURE); 01408 01409 EXPP_ADDCONST(GL_PASS_THROUGH_TOKEN); 01410 EXPP_ADDCONST(GL_POINT_TOKEN); 01411 EXPP_ADDCONST(GL_LINE_TOKEN); 01412 EXPP_ADDCONST(GL_POLYGON_TOKEN); 01413 EXPP_ADDCONST(GL_BITMAP_TOKEN); 01414 EXPP_ADDCONST(GL_DRAW_PIXEL_TOKEN); 01415 EXPP_ADDCONST(GL_COPY_PIXEL_TOKEN); 01416 EXPP_ADDCONST(GL_LINE_RESET_TOKEN); 01417 01418 EXPP_ADDCONST(GL_EXP); 01419 EXPP_ADDCONST(GL_EXP2); 01420 01421 EXPP_ADDCONST(GL_CW); 01422 EXPP_ADDCONST(GL_CCW); 01423 01424 EXPP_ADDCONST(GL_COEFF); 01425 EXPP_ADDCONST(GL_ORDER); 01426 EXPP_ADDCONST(GL_DOMAIN); 01427 01428 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_I); 01429 EXPP_ADDCONST(GL_PIXEL_MAP_S_TO_S); 01430 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_R); 01431 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_G); 01432 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_B); 01433 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_A); 01434 EXPP_ADDCONST(GL_PIXEL_MAP_R_TO_R); 01435 EXPP_ADDCONST(GL_PIXEL_MAP_G_TO_G); 01436 EXPP_ADDCONST(GL_PIXEL_MAP_B_TO_B); 01437 EXPP_ADDCONST(GL_PIXEL_MAP_A_TO_A); 01438 01439 EXPP_ADDCONST(GL_CURRENT_COLOR); 01440 EXPP_ADDCONST(GL_CURRENT_INDEX); 01441 EXPP_ADDCONST(GL_CURRENT_NORMAL); 01442 EXPP_ADDCONST(GL_CURRENT_TEXTURE_COORDS); 01443 EXPP_ADDCONST(GL_CURRENT_RASTER_COLOR); 01444 EXPP_ADDCONST(GL_CURRENT_RASTER_INDEX); 01445 EXPP_ADDCONST(GL_CURRENT_RASTER_TEXTURE_COORDS); 01446 EXPP_ADDCONST(GL_CURRENT_RASTER_POSITION); 01447 EXPP_ADDCONST(GL_CURRENT_RASTER_POSITION_VALID); 01448 EXPP_ADDCONST(GL_CURRENT_RASTER_DISTANCE); 01449 EXPP_ADDCONST(GL_POINT_SMOOTH); 01450 EXPP_ADDCONST(GL_POINT_SIZE); 01451 EXPP_ADDCONST(GL_POINT_SIZE_RANGE); 01452 EXPP_ADDCONST(GL_POINT_SIZE_GRANULARITY); 01453 EXPP_ADDCONST(GL_LINE_SMOOTH); 01454 EXPP_ADDCONST(GL_LINE_WIDTH); 01455 EXPP_ADDCONST(GL_LINE_WIDTH_RANGE); 01456 EXPP_ADDCONST(GL_LINE_WIDTH_GRANULARITY); 01457 EXPP_ADDCONST(GL_LINE_STIPPLE); 01458 EXPP_ADDCONST(GL_LINE_STIPPLE_PATTERN); 01459 EXPP_ADDCONST(GL_LINE_STIPPLE_REPEAT); 01460 EXPP_ADDCONST(GL_LIST_MODE); 01461 EXPP_ADDCONST(GL_MAX_LIST_NESTING); 01462 EXPP_ADDCONST(GL_LIST_BASE); 01463 EXPP_ADDCONST(GL_LIST_INDEX); 01464 EXPP_ADDCONST(GL_POLYGON_MODE); 01465 EXPP_ADDCONST(GL_POLYGON_SMOOTH); 01466 EXPP_ADDCONST(GL_POLYGON_STIPPLE); 01467 EXPP_ADDCONST(GL_EDGE_FLAG); 01468 EXPP_ADDCONST(GL_CULL_FACE); 01469 EXPP_ADDCONST(GL_CULL_FACE_MODE); 01470 EXPP_ADDCONST(GL_FRONT_FACE); 01471 EXPP_ADDCONST(GL_LIGHTING); 01472 EXPP_ADDCONST(GL_LIGHT_MODEL_LOCAL_VIEWER); 01473 EXPP_ADDCONST(GL_LIGHT_MODEL_TWO_SIDE); 01474 EXPP_ADDCONST(GL_LIGHT_MODEL_AMBIENT); 01475 EXPP_ADDCONST(GL_SHADE_MODEL); 01476 EXPP_ADDCONST(GL_COLOR_MATERIAL_FACE); 01477 EXPP_ADDCONST(GL_COLOR_MATERIAL_PARAMETER); 01478 EXPP_ADDCONST(GL_COLOR_MATERIAL); 01479 EXPP_ADDCONST(GL_FOG); 01480 EXPP_ADDCONST(GL_FOG_INDEX); 01481 EXPP_ADDCONST(GL_FOG_DENSITY); 01482 EXPP_ADDCONST(GL_FOG_START); 01483 EXPP_ADDCONST(GL_FOG_END); 01484 EXPP_ADDCONST(GL_FOG_MODE); 01485 EXPP_ADDCONST(GL_FOG_COLOR); 01486 EXPP_ADDCONST(GL_DEPTH_RANGE); 01487 EXPP_ADDCONST(GL_DEPTH_TEST); 01488 EXPP_ADDCONST(GL_DEPTH_WRITEMASK); 01489 EXPP_ADDCONST(GL_DEPTH_CLEAR_VALUE); 01490 EXPP_ADDCONST(GL_DEPTH_FUNC); 01491 EXPP_ADDCONST(GL_ACCUM_CLEAR_VALUE); 01492 EXPP_ADDCONST(GL_STENCIL_TEST); 01493 EXPP_ADDCONST(GL_STENCIL_CLEAR_VALUE); 01494 EXPP_ADDCONST(GL_STENCIL_FUNC); 01495 EXPP_ADDCONST(GL_STENCIL_VALUE_MASK); 01496 EXPP_ADDCONST(GL_STENCIL_FAIL); 01497 EXPP_ADDCONST(GL_STENCIL_PASS_DEPTH_FAIL); 01498 EXPP_ADDCONST(GL_STENCIL_PASS_DEPTH_PASS); 01499 EXPP_ADDCONST(GL_STENCIL_REF); 01500 EXPP_ADDCONST(GL_STENCIL_WRITEMASK); 01501 EXPP_ADDCONST(GL_MATRIX_MODE); 01502 EXPP_ADDCONST(GL_NORMALIZE); 01503 EXPP_ADDCONST(GL_VIEWPORT); 01504 EXPP_ADDCONST(GL_MODELVIEW_STACK_DEPTH); 01505 EXPP_ADDCONST(GL_PROJECTION_STACK_DEPTH); 01506 EXPP_ADDCONST(GL_TEXTURE_STACK_DEPTH); 01507 EXPP_ADDCONST(GL_MODELVIEW_MATRIX); 01508 EXPP_ADDCONST(GL_PROJECTION_MATRIX); 01509 EXPP_ADDCONST(GL_TEXTURE_MATRIX); 01510 EXPP_ADDCONST(GL_ATTRIB_STACK_DEPTH); 01511 EXPP_ADDCONST(GL_ALPHA_TEST); 01512 EXPP_ADDCONST(GL_ALPHA_TEST_FUNC); 01513 EXPP_ADDCONST(GL_ALPHA_TEST_REF); 01514 EXPP_ADDCONST(GL_DITHER); 01515 EXPP_ADDCONST(GL_BLEND_DST); 01516 EXPP_ADDCONST(GL_BLEND_SRC); 01517 EXPP_ADDCONST(GL_BLEND); 01518 EXPP_ADDCONST(GL_LOGIC_OP_MODE); 01519 EXPP_ADDCONST(GL_LOGIC_OP); 01520 EXPP_ADDCONST(GL_AUX_BUFFERS); 01521 EXPP_ADDCONST(GL_DRAW_BUFFER); 01522 EXPP_ADDCONST(GL_READ_BUFFER); 01523 EXPP_ADDCONST(GL_SCISSOR_BOX); 01524 EXPP_ADDCONST(GL_SCISSOR_TEST); 01525 EXPP_ADDCONST(GL_INDEX_CLEAR_VALUE); 01526 EXPP_ADDCONST(GL_INDEX_WRITEMASK); 01527 EXPP_ADDCONST(GL_COLOR_CLEAR_VALUE); 01528 EXPP_ADDCONST(GL_COLOR_WRITEMASK); 01529 EXPP_ADDCONST(GL_INDEX_MODE); 01530 EXPP_ADDCONST(GL_RGBA_MODE); 01531 EXPP_ADDCONST(GL_DOUBLEBUFFER); 01532 EXPP_ADDCONST(GL_STEREO); 01533 EXPP_ADDCONST(GL_RENDER_MODE); 01534 EXPP_ADDCONST(GL_PERSPECTIVE_CORRECTION_HINT); 01535 EXPP_ADDCONST(GL_POINT_SMOOTH_HINT); 01536 EXPP_ADDCONST(GL_LINE_SMOOTH_HINT); 01537 EXPP_ADDCONST(GL_POLYGON_SMOOTH_HINT); 01538 EXPP_ADDCONST(GL_FOG_HINT); 01539 EXPP_ADDCONST(GL_TEXTURE_GEN_S); 01540 EXPP_ADDCONST(GL_TEXTURE_GEN_T); 01541 EXPP_ADDCONST(GL_TEXTURE_GEN_R); 01542 EXPP_ADDCONST(GL_TEXTURE_GEN_Q); 01543 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_I_SIZE); 01544 EXPP_ADDCONST(GL_PIXEL_MAP_S_TO_S_SIZE); 01545 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_R_SIZE); 01546 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_G_SIZE); 01547 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_B_SIZE); 01548 EXPP_ADDCONST(GL_PIXEL_MAP_I_TO_A_SIZE); 01549 EXPP_ADDCONST(GL_PIXEL_MAP_R_TO_R_SIZE); 01550 EXPP_ADDCONST(GL_PIXEL_MAP_G_TO_G_SIZE); 01551 EXPP_ADDCONST(GL_PIXEL_MAP_B_TO_B_SIZE); 01552 EXPP_ADDCONST(GL_PIXEL_MAP_A_TO_A_SIZE); 01553 EXPP_ADDCONST(GL_UNPACK_SWAP_BYTES); 01554 EXPP_ADDCONST(GL_UNPACK_LSB_FIRST); 01555 EXPP_ADDCONST(GL_UNPACK_ROW_LENGTH); 01556 EXPP_ADDCONST(GL_UNPACK_SKIP_ROWS); 01557 EXPP_ADDCONST(GL_UNPACK_SKIP_PIXELS); 01558 EXPP_ADDCONST(GL_UNPACK_ALIGNMENT); 01559 EXPP_ADDCONST(GL_PACK_SWAP_BYTES); 01560 EXPP_ADDCONST(GL_PACK_LSB_FIRST); 01561 EXPP_ADDCONST(GL_PACK_ROW_LENGTH); 01562 EXPP_ADDCONST(GL_PACK_SKIP_ROWS); 01563 EXPP_ADDCONST(GL_PACK_SKIP_PIXELS); 01564 EXPP_ADDCONST(GL_PACK_ALIGNMENT); 01565 EXPP_ADDCONST(GL_MAP_COLOR); 01566 EXPP_ADDCONST(GL_MAP_STENCIL); 01567 EXPP_ADDCONST(GL_INDEX_SHIFT); 01568 EXPP_ADDCONST(GL_INDEX_OFFSET); 01569 EXPP_ADDCONST(GL_RED_SCALE); 01570 EXPP_ADDCONST(GL_RED_BIAS); 01571 EXPP_ADDCONST(GL_ZOOM_X); 01572 EXPP_ADDCONST(GL_ZOOM_Y); 01573 EXPP_ADDCONST(GL_GREEN_SCALE); 01574 EXPP_ADDCONST(GL_GREEN_BIAS); 01575 EXPP_ADDCONST(GL_BLUE_SCALE); 01576 EXPP_ADDCONST(GL_BLUE_BIAS); 01577 EXPP_ADDCONST(GL_ALPHA_SCALE); 01578 EXPP_ADDCONST(GL_ALPHA_BIAS); 01579 EXPP_ADDCONST(GL_DEPTH_SCALE); 01580 EXPP_ADDCONST(GL_DEPTH_BIAS); 01581 EXPP_ADDCONST(GL_MAX_EVAL_ORDER); 01582 EXPP_ADDCONST(GL_MAX_LIGHTS); 01583 EXPP_ADDCONST(GL_MAX_CLIP_PLANES); 01584 EXPP_ADDCONST(GL_MAX_TEXTURE_SIZE); 01585 EXPP_ADDCONST(GL_MAX_PIXEL_MAP_TABLE); 01586 EXPP_ADDCONST(GL_MAX_ATTRIB_STACK_DEPTH); 01587 EXPP_ADDCONST(GL_MAX_MODELVIEW_STACK_DEPTH); 01588 EXPP_ADDCONST(GL_MAX_NAME_STACK_DEPTH); 01589 EXPP_ADDCONST(GL_MAX_PROJECTION_STACK_DEPTH); 01590 EXPP_ADDCONST(GL_MAX_TEXTURE_STACK_DEPTH); 01591 EXPP_ADDCONST(GL_MAX_VIEWPORT_DIMS); 01592 EXPP_ADDCONST(GL_SUBPIXEL_BITS); 01593 EXPP_ADDCONST(GL_INDEX_BITS); 01594 EXPP_ADDCONST(GL_RED_BITS); 01595 EXPP_ADDCONST(GL_GREEN_BITS); 01596 EXPP_ADDCONST(GL_BLUE_BITS); 01597 EXPP_ADDCONST(GL_ALPHA_BITS); 01598 EXPP_ADDCONST(GL_DEPTH_BITS); 01599 EXPP_ADDCONST(GL_STENCIL_BITS); 01600 EXPP_ADDCONST(GL_ACCUM_RED_BITS); 01601 EXPP_ADDCONST(GL_ACCUM_GREEN_BITS); 01602 EXPP_ADDCONST(GL_ACCUM_BLUE_BITS); 01603 EXPP_ADDCONST(GL_ACCUM_ALPHA_BITS); 01604 EXPP_ADDCONST(GL_NAME_STACK_DEPTH); 01605 EXPP_ADDCONST(GL_AUTO_NORMAL); 01606 EXPP_ADDCONST(GL_MAP1_COLOR_4); 01607 EXPP_ADDCONST(GL_MAP1_INDEX); 01608 EXPP_ADDCONST(GL_MAP1_NORMAL); 01609 EXPP_ADDCONST(GL_MAP1_TEXTURE_COORD_1); 01610 EXPP_ADDCONST(GL_MAP1_TEXTURE_COORD_2); 01611 EXPP_ADDCONST(GL_MAP1_TEXTURE_COORD_3); 01612 EXPP_ADDCONST(GL_MAP1_TEXTURE_COORD_4); 01613 EXPP_ADDCONST(GL_MAP1_VERTEX_3); 01614 EXPP_ADDCONST(GL_MAP1_VERTEX_4); 01615 EXPP_ADDCONST(GL_MAP2_COLOR_4); 01616 EXPP_ADDCONST(GL_MAP2_INDEX); 01617 EXPP_ADDCONST(GL_MAP2_NORMAL); 01618 EXPP_ADDCONST(GL_MAP2_TEXTURE_COORD_1); 01619 EXPP_ADDCONST(GL_MAP2_TEXTURE_COORD_2); 01620 EXPP_ADDCONST(GL_MAP2_TEXTURE_COORD_3); 01621 EXPP_ADDCONST(GL_MAP2_TEXTURE_COORD_4); 01622 EXPP_ADDCONST(GL_MAP2_VERTEX_3); 01623 EXPP_ADDCONST(GL_MAP2_VERTEX_4); 01624 EXPP_ADDCONST(GL_MAP1_GRID_DOMAIN); 01625 EXPP_ADDCONST(GL_MAP1_GRID_SEGMENTS); 01626 EXPP_ADDCONST(GL_MAP2_GRID_DOMAIN); 01627 EXPP_ADDCONST(GL_MAP2_GRID_SEGMENTS); 01628 EXPP_ADDCONST(GL_TEXTURE_1D); 01629 EXPP_ADDCONST(GL_TEXTURE_2D); 01630 01631 EXPP_ADDCONST(GL_TEXTURE_WIDTH); 01632 EXPP_ADDCONST(GL_TEXTURE_HEIGHT); 01633 EXPP_ADDCONST(GL_TEXTURE_COMPONENTS); 01634 EXPP_ADDCONST(GL_TEXTURE_BORDER_COLOR); 01635 EXPP_ADDCONST(GL_TEXTURE_BORDER); 01636 01637 EXPP_ADDCONST(GL_DONT_CARE); 01638 EXPP_ADDCONST(GL_FASTEST); 01639 EXPP_ADDCONST(GL_NICEST); 01640 01641 EXPP_ADDCONST(GL_AMBIENT); 01642 EXPP_ADDCONST(GL_DIFFUSE); 01643 EXPP_ADDCONST(GL_SPECULAR); 01644 EXPP_ADDCONST(GL_POSITION); 01645 EXPP_ADDCONST(GL_SPOT_DIRECTION); 01646 EXPP_ADDCONST(GL_SPOT_EXPONENT); 01647 EXPP_ADDCONST(GL_SPOT_CUTOFF); 01648 EXPP_ADDCONST(GL_CONSTANT_ATTENUATION); 01649 EXPP_ADDCONST(GL_LINEAR_ATTENUATION); 01650 EXPP_ADDCONST(GL_QUADRATIC_ATTENUATION); 01651 01652 EXPP_ADDCONST(GL_COMPILE); 01653 EXPP_ADDCONST(GL_COMPILE_AND_EXECUTE); 01654 01655 EXPP_ADDCONST(GL_BYTE); 01656 EXPP_ADDCONST(GL_UNSIGNED_BYTE); 01657 EXPP_ADDCONST(GL_SHORT); 01658 EXPP_ADDCONST(GL_UNSIGNED_SHORT); 01659 EXPP_ADDCONST(GL_INT); 01660 EXPP_ADDCONST(GL_UNSIGNED_INT); 01661 EXPP_ADDCONST(GL_FLOAT); 01662 EXPP_ADDCONST(GL_DOUBLE); 01663 EXPP_ADDCONST(GL_2_BYTES); 01664 EXPP_ADDCONST(GL_3_BYTES); 01665 EXPP_ADDCONST(GL_4_BYTES); 01666 01667 EXPP_ADDCONST(GL_CLEAR); 01668 EXPP_ADDCONST(GL_AND); 01669 EXPP_ADDCONST(GL_AND_REVERSE); 01670 EXPP_ADDCONST(GL_COPY); 01671 EXPP_ADDCONST(GL_AND_INVERTED); 01672 EXPP_ADDCONST(GL_NOOP); 01673 EXPP_ADDCONST(GL_XOR); 01674 EXPP_ADDCONST(GL_OR); 01675 EXPP_ADDCONST(GL_NOR); 01676 EXPP_ADDCONST(GL_EQUIV); 01677 EXPP_ADDCONST(GL_INVERT); 01678 EXPP_ADDCONST(GL_OR_REVERSE); 01679 EXPP_ADDCONST(GL_COPY_INVERTED); 01680 EXPP_ADDCONST(GL_OR_INVERTED); 01681 EXPP_ADDCONST(GL_NAND); 01682 EXPP_ADDCONST(GL_SET); 01683 01684 EXPP_ADDCONST(GL_EMISSION); 01685 EXPP_ADDCONST(GL_SHININESS); 01686 EXPP_ADDCONST(GL_AMBIENT_AND_DIFFUSE); 01687 EXPP_ADDCONST(GL_COLOR_INDEXES); 01688 01689 EXPP_ADDCONST(GL_MODELVIEW); 01690 EXPP_ADDCONST(GL_PROJECTION); 01691 EXPP_ADDCONST(GL_TEXTURE); 01692 01693 EXPP_ADDCONST(GL_COLOR); 01694 EXPP_ADDCONST(GL_DEPTH); 01695 EXPP_ADDCONST(GL_STENCIL); 01696 01697 EXPP_ADDCONST(GL_COLOR_INDEX); 01698 EXPP_ADDCONST(GL_STENCIL_INDEX); 01699 EXPP_ADDCONST(GL_DEPTH_COMPONENT); 01700 EXPP_ADDCONST(GL_RED); 01701 EXPP_ADDCONST(GL_GREEN); 01702 EXPP_ADDCONST(GL_BLUE); 01703 EXPP_ADDCONST(GL_ALPHA); 01704 EXPP_ADDCONST(GL_RGB); 01705 EXPP_ADDCONST(GL_RGBA); 01706 EXPP_ADDCONST(GL_LUMINANCE); 01707 EXPP_ADDCONST(GL_LUMINANCE_ALPHA); 01708 01709 EXPP_ADDCONST(GL_BITMAP); 01710 01711 EXPP_ADDCONST(GL_POINT); 01712 EXPP_ADDCONST(GL_LINE); 01713 EXPP_ADDCONST(GL_FILL); 01714 01715 EXPP_ADDCONST(GL_RENDER); 01716 EXPP_ADDCONST(GL_FEEDBACK); 01717 EXPP_ADDCONST(GL_SELECT); 01718 01719 EXPP_ADDCONST(GL_FLAT); 01720 EXPP_ADDCONST(GL_SMOOTH); 01721 01722 EXPP_ADDCONST(GL_KEEP); 01723 EXPP_ADDCONST(GL_REPLACE); 01724 EXPP_ADDCONST(GL_INCR); 01725 EXPP_ADDCONST(GL_DECR); 01726 01727 EXPP_ADDCONST(GL_VENDOR); 01728 EXPP_ADDCONST(GL_RENDERER); 01729 EXPP_ADDCONST(GL_VERSION); 01730 EXPP_ADDCONST(GL_EXTENSIONS); 01731 01732 EXPP_ADDCONST(GL_S); 01733 EXPP_ADDCONST(GL_T); 01734 EXPP_ADDCONST(GL_R); 01735 EXPP_ADDCONST(GL_Q); 01736 01737 EXPP_ADDCONST(GL_MODULATE); 01738 EXPP_ADDCONST(GL_DECAL); 01739 01740 EXPP_ADDCONST(GL_TEXTURE_ENV_MODE); 01741 EXPP_ADDCONST(GL_TEXTURE_ENV_COLOR); 01742 01743 EXPP_ADDCONST(GL_TEXTURE_ENV); 01744 01745 EXPP_ADDCONST(GL_EYE_LINEAR); 01746 EXPP_ADDCONST(GL_OBJECT_LINEAR); 01747 EXPP_ADDCONST(GL_SPHERE_MAP); 01748 01749 EXPP_ADDCONST(GL_TEXTURE_GEN_MODE); 01750 EXPP_ADDCONST(GL_OBJECT_PLANE); 01751 EXPP_ADDCONST(GL_EYE_PLANE); 01752 01753 EXPP_ADDCONST(GL_NEAREST); 01754 EXPP_ADDCONST(GL_LINEAR); 01755 01756 EXPP_ADDCONST(GL_NEAREST_MIPMAP_NEAREST); 01757 EXPP_ADDCONST(GL_LINEAR_MIPMAP_NEAREST); 01758 EXPP_ADDCONST(GL_NEAREST_MIPMAP_LINEAR); 01759 EXPP_ADDCONST(GL_LINEAR_MIPMAP_LINEAR); 01760 01761 EXPP_ADDCONST(GL_TEXTURE_MAG_FILTER); 01762 EXPP_ADDCONST(GL_TEXTURE_MIN_FILTER); 01763 EXPP_ADDCONST(GL_TEXTURE_WRAP_S); 01764 EXPP_ADDCONST(GL_TEXTURE_WRAP_T); 01765 01766 EXPP_ADDCONST(GL_CLAMP); 01767 EXPP_ADDCONST(GL_REPEAT); 01768 01769 EXPP_ADDCONST(GL_CLIP_PLANE0); 01770 EXPP_ADDCONST(GL_CLIP_PLANE1); 01771 EXPP_ADDCONST(GL_CLIP_PLANE2); 01772 EXPP_ADDCONST(GL_CLIP_PLANE3); 01773 EXPP_ADDCONST(GL_CLIP_PLANE4); 01774 EXPP_ADDCONST(GL_CLIP_PLANE5); 01775 01776 EXPP_ADDCONST(GL_LIGHT0); 01777 EXPP_ADDCONST(GL_LIGHT1); 01778 EXPP_ADDCONST(GL_LIGHT2); 01779 EXPP_ADDCONST(GL_LIGHT3); 01780 EXPP_ADDCONST(GL_LIGHT4); 01781 EXPP_ADDCONST(GL_LIGHT5); 01782 EXPP_ADDCONST(GL_LIGHT6); 01783 EXPP_ADDCONST(GL_LIGHT7); 01784 01785 EXPP_ADDCONST(GL_POLYGON_OFFSET_UNITS); 01786 EXPP_ADDCONST(GL_POLYGON_OFFSET_POINT); 01787 EXPP_ADDCONST(GL_POLYGON_OFFSET_LINE); 01788 EXPP_ADDCONST(GL_POLYGON_OFFSET_FILL); 01789 EXPP_ADDCONST(GL_POLYGON_OFFSET_FACTOR); 01790 01791 EXPP_ADDCONST(GL_TEXTURE_PRIORITY); 01792 EXPP_ADDCONST(GL_TEXTURE_RESIDENT); 01793 EXPP_ADDCONST(GL_TEXTURE_BINDING_1D); 01794 EXPP_ADDCONST(GL_TEXTURE_BINDING_2D); 01795 01796 return submodule; 01797 } 01798