Mac Mojave + opengl

syn*_*zer 13 opengl macos deprecated macos-mojave

Mac OS 10.14 Mojave刚刚发布,自6月以来,我们已经知道OpenGL将在操作系统中被弃用."OpenGL应用程序将继续运行,但你应该切换到Metal,"来解释一下.但是,似乎没有任何文档表明您是否仍然可以使用OpenGL进行编译,或者Apple 是否可以阻止或省略正确的开发库.我目前正在开发一个基于OpenGL的图形程序,如果编译将不再起作用,则无法冒险更新.有没有人测试过这个?

编辑:有没有其他人分享Esenthel的经验?

Ese*_*hel 7

我可以编译,但是在更新到最新的Mojave和Xcode之后,我的OpenGL应用程序根本无法工作.

在一种情况下,我在系统GL呼叫期间挂起,在另一种情况下只是黑屏.输出中的一些错误与此处相同:https: //stackoverflow.com/questions/52507950/unable-to-load-info-plist-error-xcode-10-under-macos-10-14-mojave# =

我建议你不要更新.

我认为Xcode 10 OpenGL库中存在一些问题.

编辑:似乎后来的Mac OS和Xcode更新修复了问题.


小智 5

GLFW解决。与其他答案类似,但是您无需在绘制循环中调整窗口大小,只需glfwPollEvents()先调用即可。

window = glfwCreateWindow(width-1, height, "Hello World", NULL, NULL);
glfwPollEvents();
glfwSetWindowSize(window, width, height);
Run Code Online (Sandbox Code Playgroud)

此外,glfwHideWindow()然后glfwShowWindow()似乎工作。同样glfwSetWindowPos()是替代方法。虽然设置窗口大小似乎比隐藏/显示窗口快,但我不想移动窗口位置。