c++ - 在 OpenGL 中改变焦点时 WIndows 闪烁

标签 c++ opencv ubuntu opengl glfw

我正在做一个项目,需要我在两个窗口之间切换,一个使用 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/

相关文章:

c++ - 使用CRTP和Google测试框架的库API

c++ - Qt 无法使用 QNetworkAccessManager 下载文件

python - OpenCV - 检测矩形或五边形

linux - 即使在创建时,vagrant 也永远无法 ssh 到我的 ubuntu 盒子。

ubuntu - 设备或资源繁忙 - Docker

c++ - 当我使用非 cst 内存模型时,为什么我的自旋锁实现性能最差?

python - OpenCV 绘制轮廓错误断言失败

image - 由于写访问冲突,在 openv 中使用 SURF 失败

linux - 无法克隆 gitolite repo 并导致 fatal error

c++ - ShellExecute Format DOS 命令