【发布时间】:2013-11-08 17:51:13
【问题描述】:
我刚刚将我的 MacBook Pro 升级到 Mavericks (MacOS 10.9),包括 Xcode。 根据苹果的“OpenGL Capabilities Table”,这个版本有支持 对于 OpenGL 4.1,但调用 glGetString(GL_VERSION) 返回“1.2”和我的 GLSL 以“#version 330”开头的 3.30 着色器拒绝加载,说 不支持版本。
我需要对 Mavericks 做些什么来启用 4.1 支持吗?
【问题讨论】:
-
您是否在请求核心上下文?
-
1.2?!你确定你说的不是 2.1?
-
我在运行Richard Wright编写的OpenGL SuperBible第五版的示例代码时遇到了同样的问题,它使用glut来创建上下文,在网上搜索后,人们说glut没有在积极开发中,是GLUT引起的问题?
-
@wenboqiu:有 FreeGLUT,它得到了维护……在 OS X 上使用它的问题是它通过 X11。 X11 通过名为 XQuartz 的兼容性 X 服务器在 OS X 上提供,您无法使用 XQuartz 服务器获得 3.2+ OpenGL 上下文,因为它没有实现必要的 GLX 扩展来请求核心配置文件。这意味着任何在 OS X 上使用 3.2 的框架都必须通过原生 API,例如 CGL(全屏和 C)或 NSOpenGL(全屏/窗口化和目标 C)。 GLFW3 和许多其他框架这样做,FreeGLUT 仍然没有。
-
@AndonM.Coleman:感谢您的回答。
标签: macos opengl glsl osx-mavericks