我可以将一个 hRC 设置为多个 hDC 吗?

tra*_*ock 1 opengl

我可以创建一个 hRC 并使用 wglMakeCurrent() 将 hRC 设置为多个 hDC 吗?我发现每个窗口都应该有唯一的 hRC 和 hDC。那么如何将相同的上下文放置到不同的窗口呢?

dat*_*olf 5

我可以创建一个 hRC 并使用 wglMakeCurrent() 将 hRC 设置为多个 hDC 吗?

是的。您可以在特定时间在一个特定线程中将 HGLRC 设置为一个特定 HDC,但您可以随时切换它。此外,您还可以在同一 HDC 上设置任意数量的 HLGLRC,每个 HLGLRC 位于不同的线程中。

唯一的限制是要相互兼容的 HGLRC 和 HDC 的像素格式必须兼容。

我发现每个窗口都应该有唯一的 hRC 和 hDC

这是不正确的。此外,任何窗口都可以具有任意数量的 HDC。

那么如何将相同的上下文放置到不同的窗口呢?

通过使用新的 HGLRC-HDC 组合调用 wglMakeCurrent 来使正在进行调用的线程处于当前状态。