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很好地一起玩?