我有困难,创造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_()