C++ 如何在OS X上初始化QOpenGLContext以使用OpenGL 3.3版?

C++ 如何在OS X上初始化QOpenGLContext以使用OpenGL 3.3版?,c++,macos,qt,opengl,C++,Macos,Qt,Opengl,我正在运行OSX10.9.4和Qt5.3.1。我需要创建一个使用OpenGL 3.3的QOpenGLContext。我的系统报告与OpenGL 3.3 100%兼容,但是我得到的上下文仅支持2.1。同样,调用versionFunctions返回0 比如说,对OpenGL窗口示例的正确修改是什么,使得使用OpenGL 3.3成为可能?我已经尝试在QSurfaceFormat上设置所需的版本,但我无法在Windows上使其在该系统上工作,我获得了一个与该系统支持的最高版本相匹配的OpenGL版本的上

我正在运行OSX10.9.4和Qt5.3.1。我需要创建一个使用OpenGL 3.3的QOpenGLContext。我的系统报告与OpenGL 3.3 100%兼容,但是我得到的上下文仅支持2.1。同样,调用versionFunctions返回0


比如说,对OpenGL窗口示例的正确修改是什么,使得使用OpenGL 3.3成为可能?我已经尝试在QSurfaceFormat上设置所需的版本,但我无法在Windows上使其在该系统上工作,我获得了一个与该系统支持的最高版本相匹配的OpenGL版本的上下文-默认情况下。

我的问题得到了回答,问题是,当我调用QSurfaceFormat::setVersion3,3时,还需要在将结果QSurfaceFormat传递给setFormat之前调用QSurfaceFormat::setProfileQSurfaceFormat::CoreProfile。

OSX仅支持GL>2.1的核心上下文。您正在创建核心上下文吗?感谢您的快速回复-我对Qt是新手,但我猜我正在创建核心上下文。我正在使用OpenGL窗口示例。现在,我只需要一个OpenGL3.3主窗口,它直接通过gl调用进行绘制,并通过Qt响应键盘/鼠标事件。有更好的例子吗?