Windows上的多个OpenGL窗口,共享上下文

时间:2013-04-23 00:46:09

标签: windows opengl multiple-monitors

我正在尝试在同一个程序上设置多个OpenGL(3.3)窗口。我创建了2个窗口,第二个窗口具有第一个窗口的共享上下文(使用hglrc [i] = wglCreateContextAttribsARB(hdc [n_windows],hglrc [0],ctxattribs),而第一个窗口有0而不是hglrc [ 0]),有一个简单的循环:

for(unsigned i = 0; i < n_windows; ++i)
{
    wglMakeCurrent(hdc[i], hglrc[i]);
    glClearColor((float)rand() / RAND_MAX, (float)rand() / RAND_MAX, (float)rand() / RAND_MAX, 0.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    SwapBuffers(hdc[i]);
}

但是只有一个窗口渲染,当我将窗口移动到另一个屏幕时,现在渲染的窗口会渲染,而另一个窗口会停止渲染。

这是我第一次尝试使用共享上下文在同一个应用程序上打开几个OpenGL窗口,所以我可能做错了什么。我的代码与一个窗口完美配合,我忠实的旧gDEBugger没有显示任何错误。关于我可能做错什么的任何想法?

0 个答案:

没有答案