我在同一台机器上运行了三个不同的进程。其中一个拥有一个 OpenGL 窗口。我希望另外两个能够(快速)渲染到 OpenGL 窗口的不同矩形部分。
如果我可以保证他们会很好地轮流执行 OpenGL 命令,这可能吗?
非常感谢
雨果·埃利亚斯
在 Windows 下,可以使用同一进程的线程。
您正在寻找的功能是 wglMakeCurrent:
http://msdn.microsoft.com/en-us/library/dd374387%28VS.85%29.aspx
我的理解是,这对于任何现有的驱动程序都是不可能的。OpenGL 上下文仅由一个进程拥有。
对于单个进程中的两个线程来说,每个线程都对单个 OpenGL 上下文进行 OpenGL 调用甚至是冒险的。(设计上不需要如此,但它通常是当前驱动程序的问题。)