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()指定的函数后,将显示...and窗口,但不会响应任何事件或重绘。
我怎样才能让GLUT和libdispatch很好地在一起玩呢?
发布于 2012-09-24 02:30:36
你不能。他们两个都想拥有消息处理循环。由于只有一个这样的循环,它们不可能同时拥有它。
如果您使用FreeGLUT,您可以找到一种方法来实现这一点。但是一个更好的选择是直接使用GLFW。
https://stackoverflow.com/questions/12553563
复制相似问题