为什么我的Mac只支持OpenGL 2.1?

时间:2015-10-05 21:19:34

标签: macos opengl

我目前正在使用LWJGL 3学习OpenGL,它使用GLFW for windows。我正在使用2015款MacBook Pro和运行Yosemite的AMD M370X。问题是,我使用的是现代OpenGL(3.30),由于某些原因它不受支持。我使用了 glGetString(GL_VERSION),显然计算机正在使用ATI的驱动程序,它只支持OpenGL 2.1。

1 个答案:

答案 0 :(得分:1)

OSX仅在核心配置文件中支持现代GL(这是GL规范要求支持的唯一配置文件)。

在创建上下文时,您必须明确地请求此操作,否则它将回退到实现GL 2.1的旧上下文(为了与不了解配置文件或现有GL版本的旧应用程序兼容)。这意味着在OSX上,您永远不能将旧的,已弃用的GL特征与现代特征混合在一起(正如您可以使用兼容性配置文件)。但是,如果这是好的或坏的,取决于观点。

对于GLFW,您必须使用glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE)并请求GL版本> = 3.2。