2

GLUT 和 libdispatch 都有自己的事件处理循环,它们分别使用永不返回的函数调用: glutMainLoop();dispatch_main();

我试过了:

dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(q, ^{
    glutMainLoop();
});

dispatch_main();

...并且窗口显示,但在初始调用指定的函数后不响应任何事件或重绘glutDisplayFunc()

我怎样才能让 GLUT 和 libdispatch 一起玩得很好?

4

1 回答 1

2

你不能。他们俩都想拥有消息处理循环。而且由于只有一个这样的循环,他们不能同时拥有它。

如果您使用过 FreeGLUT,您可以找到一种方法来完成这项工作。但更好的选择是只使用GLFW

于 2012-09-23T18:30:35.743 回答