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

できません。どちらもメッセージ処理ループを所有したいと考えています。そして、そのようなループは1つしかないため、両方がそれを所有することはできません。

FreeGLUTを使用した場合は、それを機能させる方法を見つけることができます。しかし、より良い代替策は、GLFWを使用することです。

于 2012-09-23T18:30:35.743 に答える