获得OpenGL上下文比2.1更新使用Qt 4和小牛(Getting OpenGL context

2019-10-19 10:08发布

我有困难,创造OpenGL上下文出现不到2.1(的Mac OS 10.9.1,QT 4.8.5,1.2.1 PySide)。 最小的代码示例在下面给出; 它产生2.1上下文而不是3.2或更高。

该代码是基于本教程 ; 在我的机器上运行教程的示例C ++代码也将失败。

这个问题可能与此错误 : QGLFormat.openGLVersionFlags()返回0x7f (表示兼容性最高的OpenGL 2.1,但不迟)。

有没有办法,我失去了一些东西,或者是没有希望的,直到错误是固定的吗?

from PySide import QtGui, QtOpenGL
from OpenGL.GL import *

class Canvas(QtOpenGL.QGLWidget):
    def __init__(self, parent=None):
        format = QtOpenGL.QGLFormat()
        format.setVersion(3, 2)
        format.setProfile(QtOpenGL.QGLFormat.CoreProfile)
        super(Canvas, self).__init__(format, parent)

    def initializeGL(self): print glGetString(GL_VERSION)

    def paintGL(self):      pass

if __name__ == '__main__':
    app = QtGui.QApplication("test")
    canvas = Canvas()
    canvas.show()
    app.exec_()
文章来源: Getting OpenGL context newer than 2.1 with Qt 4 and Mavericks