[PyOpenGL-Users] features from OpenGL > 1.1
Brought to you by:
mcfletch
From: Andrew S. <and...@ad...> - 2003-09-24 07:46:37
|
I'm trying to understand what/how/if PyOpenGL deals with multiple versions of OpenGL. For example, if I run PyOpenGL on a machine with OpenGL 1.3 libraries, I should have multitexturing abilities built-in (e.g. glActiveTexture() function). This is specified in the OpenGL 1.3 spec: http://www.opengl.org/developers/documentation/version1_3/glspec13.pdf Another example is that with OpenGL 1.2, the GL_CLAMP_TO_EDGE constant should be defined. However, PyOpenGL doesn't provide these names in the GL module when run on an appropriate system. I wonder if this is simply an oversight which would be easily fixed, a purposeful omission because runtime GL version checking and name exporting may be tricky, or has never been thought about. Incidentally, on linux, I can get around the missing glActiveTexture() function by using ctypes to load the function. (On Windows, I get an error that the arguments must be 4 bytes longer... I haven't tracked this down, though.) Another workaround is that some OpenGL 1.3 drivers (nVidia) still support the multitexturing ARB extension, but others (ATI) don't. This success with ctypes and the continued good things I hear about Pyrex make me wonder if maybe the PyOpenGL build system could be simplified by getting away from SWIG and using these two technologies? So, what's the story? Anyone know? |