【发布时间】:2013-02-26 15:50:59
【问题描述】:
我在 Mac 上工作,我已经编译并安装了 FreeGlut,但我似乎无法获得 OpenGL 3.2 上下文。但是,我可以在使用 GLFW 时毫无问题地获得它。 所以在 GLFW 中,这段代码运行良好:
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwOpenWindow(500, 500, 8, 8, 8, 8, 24, 8, GLFW_WINDOW)
但使用 FreeGlut,此代码失败(在 glutCreateWindow 上):
glutInitContextVersion (3, 2);
glutInitContextProfile(GLUT_CORE_PROFILE);
glutInitWindowSize (width, height);
glutInitWindowPosition (300, 200);
int window = glutCreateWindow (argv[0]);
它失败的错误是:
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 34 (X_UngrabKey)
Serial number of failed request: 29
Current serial number in output stream: 29
我在 MacOS X 10.8 Mountain Lion 上运行,配备 Intel HD4000 显卡,安装了 XQuartz 作为我的 X11 服务器,并从源代码编译和安装了 FreeGlut 2.8。
有谁知道可能是什么问题?
【问题讨论】:
-
有确切的问题,但我使用的是 XQuartz 中包含的 FreeGlut (opt/x11/lib opt/x11/include)。你解决问题了吗?
-
同样的问题 - 你能解决问题吗?
-
你们中有人解决了这个问题吗?我有同样的问题。我正在使用 XQuartz 中包含的 freeGlut
-
最好的办法就是坚持使用 glfw,我在 OS X 10.10 上遇到了同样的问题。代码编译得很好,但是在运行时它会崩溃。设置 XQuartz。尝试获得 3.2 版,但没有成功
标签: macos opengl glut freeglut glfw