views:

91

answers:

1

I am using wxPython and I want to use an OpenGL based canvas, but I don't want the context to support deprecated functionality. I've navigated through pyopengl and pyglet in Eclipse, but it did not look like they support this. I'm saying this because I could not find WGL functions used in assigning attributes to a context, as in this white paper by AMD. There was also no mention in pylget's documentation of a compatibility status parameter when specifying a config for a context. Am I overlooking something? Is there a 'Python' solution or would I need to start looking at something like ctypes?

Edit: After reading some more documentation, it looks like there is a flag for the OpenGL pyopengl module, called FORWARD_COMPATIBLE_ONLY, that will filter deprecated entry points from OpenGL.GL, but only from this module. There is even mention of this on the pyopengl site under the OpenGL 3.x Deprecations section that I had not noticed before. If this implies GLSL deprecations will also be guarded against, then this looks like a solution.

+1  A: 

I can't categorically say that there's no way of doing this but I can point out that given the largely negative response to recent revisions of OpenGL that I doubt there will be a rush for developers to incorporate this sort of thing into their libraries.

For example, pyglet's core rendering functionality mainly relies on the old pre-shader system so there is really little reason for it to provide a way to deprecate all the older functions.

I expect that if you want this at this early stage, you'll have to do it yourself.

Kylotan