gpt4 book ai didi

c++ - GLUT_DOUBLE 和两个窗口的 OpenGL 问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:09 24 4
gpt4 key购买 nike

我正在使用 Sumanta Guha 的代码示例,并且正在尝试创建两个窗口。使用以下代码:

int main(int argc, char **argv) 
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);

// First top-level window definition.
glutInitWindowSize(250, 500);
glutInitWindowPosition(100, 100);

// Create the first window and return id.
id1 = glutCreateWindow("windows.cpp - window 1");

// Initialization, display, and other routines of the first window.
setup1();
glutDisplayFunc(drawScene1);
glutReshapeFunc(resize1);
glutKeyboardFunc(keyInput); // Routine is shared by both windows.

// Second top-level window definition.
glutInitWindowSize(250, 500);
glutInitWindowPosition(400, 100);

// Create the second window and return id.
id2 = glutCreateWindow("windows.cpp - window 2");

// Initialization, display, and other routines of the second window.
setup2();
glutDisplayFunc(drawScene2);
glutReshapeFunc(resize2);
glutKeyboardFunc(keyInput); // Routine is shared by both windows.

glutMainLoop();

return 0;
}

我使用的是 Windows 7,通常它应该显示两个窗口。但是正如您所看到的,只有一个窗口可以正常显示,而另一个窗口似乎不能正常显示。除了 GLUT_DOUBLE 和缓冲区交换之外,我还需要采取其他步骤吗?

enter image description here

最佳答案

Are there additional steps that I have to take other than GLUT_DOUBLE and buffer swap?

由于您正在创建多个窗口,因此您必须调用 glutSetWindow()在你的回调中。

freeglut 有一个扩展(不起作用)来创建共享的 opengl 上下文,但原始的 glut 不支持它。

关于c++ - GLUT_DOUBLE 和两个窗口的 OpenGL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19010941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com