在 Windows XP(64 位)上,似乎不可能使用 OpenGL 渲染到连接到具有不同 GPU 的不同图形卡的两个屏幕(例如两个不同代的 NVIDIA)。在这种情况下发生的情况是渲染仅在其中一个屏幕中起作用。另一方面,使用 Direct3D 可以毫无问题地在两个屏幕上进行渲染。有谁知道这是为什么?或者更重要的是:有没有办法用 OpenGL 在两个屏幕上进行渲染?
我发现即使使用不同品牌的 GPU(例如 AMD 和 Intel),在 Windows 7 上的渲染也可以在两个屏幕上工作。我认为这可能是因为它的显示模型,如果我没记错的话,它运行在 Direct3D 合成器之上。这只是一个假设,我真的不知道是不是真正的原因。
如果 Direct3D 是解决方案,一个想法是使用 OpenGL 对纹理进行所有渲染,然后以某种方式使用 Direct3D 渲染该纹理,假设它不会太慢。