我正在做一个项目,需要我在两个窗口之间切换,一个使用 OpenCV,一个使用 OpenGL,都是全屏的。
GLFW 键事件可以正常打开 OpenCV 窗口,但关闭 OpenCV 窗口并尝试将焦点返回到 OpenGL 窗口会导致窗口闪烁并反复尝试提供焦点。这是我在 while 循环内将焦点返回到 OpenGL 窗口的代码。
编辑:我发现它只在 OpenGL 窗口全屏时发生,这是该程序的要求。写入控制台显示代码被多次调用
if(!glfwGetWindowAttrib(window, GLFW_FOCUSED))
{
glfwFocusWindow(window);
while(!glfwGetWindowAttrib(window, GLFW_FOCUSED))
{
}
}
最佳答案
我设法通过在我的 openGL 窗口上将 GLFW 标志 GLFW_AUTO_ICONIFY 设置为 false 来解决我的问题。
关于c++ - 在 OpenGL 中改变焦点时 WIndows 闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680383/