Macos 如何在libdispatch中使用GLUT?

Macos 如何在libdispatch中使用GLUT?,macos,opengl,glut,libdispatch,Macos,Opengl,Glut,Libdispatch,GLUT和libdispatch都有自己的事件处理循环,这些循环由永远不会返回的函数调用:glutMainLoop()和dispatch_main(),分别为 我试过: dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(q, ^{ glutMainLoop(); }); dispatch_main(); …并显示该窗口,但在首次调用用gl

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配合得很好呢?

你不能。它们都希望拥有消息处理循环。因为只有一个这样的循环,他们不能同时拥有它


如果你用过,你可以找到一种方法让它发挥作用。但更好的选择是直接使用。

glut
是否仍在使用?我有一种怀旧的感觉。。。这是一个跨平台的项目吗?我只是在寻找一个简单的方法来打开一个窗口来渲染OpenGL,只使用C(无Objective-C)。谢谢。GLFW看起来确实是一个更好的选择。GLFW也不能与libdispatch一起工作-请参阅后续内容。