在Python中创建向前兼容的OpenGL 3.x上下文

时间:2010-02-24 12:41:02

标签: python opengl openglcontext

我正在使用wxPython,我想使用基于OpenGL的画布,但我不希望上下文支持已弃用的功能。我已经在Eclipse中浏览了pyopengl和pyglet,但看起来他们并不支持这个。我这样说是因为我找不到用于为上下文分配属性的WGL函数,如white paper by AMD中所示。在为上下文指定配置时,pylget文档中也没有提及兼容性状态参数。我忽略了什么吗?是否有“Python”解决方案或者我是否需要开始查看类似ctypes的内容?

编辑:在阅读了更多文档后,看起来OpenGL pyopengl module有一个名为FORWARD_COMPATIBLE_ONLY的标记,它会过滤{{1}中不推荐的入口点},但仅限于此模块。在OpenGL 3.x Deprecations部分的pyopengl网站上甚至提到过这个,我之前没有注意到。如果这意味着GLSL的弃用也会受到防范,那么这看起来就像是一个解决方案。

1 个答案:

答案 0 :(得分:1)

我不能断然说没有办法做到这一点,但我可以指出,鉴于对最近的OpenGL修订版的负面反应,我怀疑开发人员会急于将这类内容纳入其中。库。

例如,pyglet的核心渲染功能主要依赖于旧的预着色器系统,因此它几乎没有理由提供一种方法来弃用所有旧的函数。

我希望如果你想在这个早期阶段做到这一点,你必须自己做。