Mac 上的 OpenGL/GLUT 应用程序无法获得焦点 [关闭]
Posted
技术标签:
【中文标题】Mac 上的 OpenGL/GLUT 应用程序无法获得焦点 [关闭]【英文标题】:OpenGL/GLUT app on Mac cannot gain focus [closed] 【发布时间】:2013-02-15 22:55:58 【问题描述】:我在后台线程中运行 OpenGL 并使用 CGL 来确保当前上下文设置正确(甚至使用 CGLLockContext 等)。我的应用程序渲染良好,但 GLUT 创建的窗口无法获得焦点。你不能点击它,不能使用键盘功能,或者任何东西。当鼠标悬停在窗口上时,它总是会显示一个旋转的***。这是一个从命令行运行的 c++ 应用程序
【问题讨论】:
什么是“CGL?”此外,除非每个 GLUT 应用程序都发生这种情况,否则我们可能需要查看 minimally functional case that demonstrates the problem. @NicolBolas CGL 是 OS X 的 OpenGL 实现的接口。更新了问题以反映这一点。不幸的是,我现在无法显示代码 :( 创建了一个 pthread 并从该线程调用所有 OpenGL/GLUT 方法,而主线程进行一些计算 "创建了一个 pthread 并从该线程调用所有 OpenGL/GLUT 方法" 您是否考虑过反转它,以便主线程是窗口的来源和另一个线程是计算完成的地方? 【参考方案1】:想通了!如果我使用 freeglut 而不是 glut 我没有这个问题。我认为它的出现是因为 glut 要求在主线程中调用 glutMainLoop
,而 freeglut 可以更好地处理在 pthread 中调用它
【讨论】:
以上是关于Mac 上的 OpenGL/GLUT 应用程序无法获得焦点 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章