我有一个使用Glib和glib主循环的程序。此外,它使用openGL来绘制一些东西,并且需要处理来自键盘的输入。
问题是我过去常常将所有内容彼此分开,而不是将它们组合在一个程序中。由于 Glib 有主循环,而 openGL 使用循环进行渲染(有一些处于 sleep 状态)。有了这些,我需要一个循环来监听关键事件。
使所有这些工作协同工作的最佳方式是什么?我应该在线程中创建三个循环还是实现其他循环到 glib 主循环以及如何做到这一点?
最佳答案
我不确定这是否是您正在寻找的内容,但我使用了 GTK+ 的 OpenGL 扩展,名为 gtkglext http://projects.gnome.org/gtkglext/
GTK+ 项目也依赖于 Glib,因此没有任何变化。使用 GTK+ 主循环和 gtkglext 的优点是您可以将常规按钮/小部件或自定义 2D/3D 小部件与 OpenGL 窗口混合使用。
关于c - 如何组合循环或如何将多个循环实现到 glib 主循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9848863/