gpt4 book ai didi

c++ - 正确处理全屏 OpenGL 应用程序中的 Alt Tab

转载 作者:搜寻专家 更新时间:2023-10-31 01:57:17 27 4
gpt4 key购买 nike

当尝试实现一个简单的 OpenGL 应用程序时,令我惊讶的是,虽然很容易找到大量关于高级渲染内容的示例和文档,但 Win32 框架的文档却很少,甚至大多数示例和教程都没有实现即使对于基本情况也是如此,更不用说像多显示器这样的高级东西了。尽管进行了几个小时的搜索,我仍无法找到一种可靠地处理 Alt-Tab 的方法。

OpenGL 全屏应用程序应如何响应 Alt-Tab?应用程序应响应哪些消息(WM_ACTIVATE、WM_ACTIVATEAPP)? react 应该是什么? (更改显示分辨率,销毁/创建渲染上下文,或销毁/创建一些 OpenGL 资源?)

最佳答案

如果应用程序使用某些动画循环,暂停循环,然后最小化窗口。如果它更改了显示分辨率和 Gamma ,则恢复到更改前的设置。

无需破坏 OpenGL 上下文或资源; OpenGL 使用抽象资源模型:如果另一个程序需要 GPU 的 RAM 或其他资源,您的程序资源将被透明地换出。

编辑:

更改窗口可见性状态可能需要重置 OpenGL 视口(viewport),因此最好在显示/渲染函数中适本地调用 glViewport,或者至少在调整大小处理程序中设置它,然后完全重绘。

关于c++ - 正确处理全屏 OpenGL 应用程序中的 Alt Tab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5832041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com