windows - 具有多个设备(监视器)的 OpenGL 上下文

标签 windows opengl glut multiple-monitors

在 OpenGL 中,当我创建一个窗口时,我隐式地创建了一个图形上下文,类似于 GLUT。假设我将我的窗口拖到由不同视频卡驱动的监视器中(例如,一个是英特尔嵌入式图形,另一个是 NVidia)。 谁渲染窗口? 即对于以下每种情况,哪个设备运行图形管道。

glGetString(GL_RENDERER) 似乎总是返回主显示(创建 GLUT 窗口的地方),即使我将窗口完全拖入一个或另一个窗口。 (我猜这一切都是由小学完成的...)有人可以帮助我理解这一点吗?

enter image description here

请注意,使用 Windows 10、GLUT、OpenGL,但如果重要,我会提出一般性问题。

最佳答案

GL 对窗口一无所知,只知道上下文。 GL 在当前上下文中渲染到帧缓冲区。

您可以编写一种询问操作系统窗口位置的方法,并使用两个上下文,并根据操作系统的回答将正确的上下文设置为当前。

关于windows - 具有多个设备(监视器)的 OpenGL 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45766394/

相关文章:

opengl - 如何为VBO生成法线?

c - OS X 的低级窗口 API

c - 为什么我必须只为某些库向编译器提供我正在使用的 *.lib 文件?

c# - Monogame 音效无法播放

c++ - Windows:处理所有线程中的段错误

c++ - 切割圆的底部

c++ - 在 GLUT 中切换显示回调

c++ - 带键盘监听器的游戏循环

css - Windows 和 Mac 之间 CSS 拼写错误差异的最佳解决方案是什么?

c - 通过脚本在 Windows 中打开文件