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