2009年OpenGL窗口库

mpe*_*pen 6 c++ opengl

试图决定一个库来创建一个窗口并捕获我的OpenGL应用程序的用户输入,但是有太多的选择:

GLUT简直过时了.我喜欢GLFW,但似乎你不能在显示它之前设置窗口位置(我希望它居中,这是多么要问?)所以你看到它出现然后转移,这困扰我.加上发展似乎已经停止了.SFML有一些很好的功能,但它使用事件轮询而不是我更喜欢解耦的回调.我认为我不需要FLTK的所有GUI功能.SDL很慢(似乎没有利用GPU).其他3我不太了解(FreeGLUT,OpenGLUT,OGLWFW).那么邪恶中哪一个较小?还有其他我没有听说过的吗?

我只是想制作一个简单的2D游戏.我对OpenGL非常熟悉,我并不真的需要绘制例程,但我可能不会抱怨其他功能如果正确实现可能会有用.

Kar*_*and 8

SDL允许您创建加速的OpenGL上下文(取决于驱动程序/硬件支持).

我知道你标记为C++,但pygame(python)是一个很棒的用于创建2D游戏的库,它也支持OpenGL上下文.Pygame是基于SDL构建的.

Clutter是一个新的基于OpenGL的GUI库,包含Perl,Python,C#,C++,Vala和Ruby的绑定.我自己没有用过它.来自网站:

Clutter使用OpenGL(以及可选的OpenGL ES用于移动和嵌入式平台)进行渲染,但使用API​​隐藏了开发人员的基础GL复杂性.Clutter API旨在易于使用,高效且灵活.

  • @the_drow:我认为现在Clutter最引人注目的开源用户是Intel Moblin上网本操作系统:moblin.org. (3认同)

Eri*_*ric 7

GLUT和其他GLUT替代品不应用于任何生产应用.它们很适合组合一个快速的演示应用程序或尝试一些东西,但不仅仅是这些.

如果您正在尝试制作OpenGL游戏,我建议使用SDL.它更侧重于游戏需求.它绝对可以与OpenGL一起使用.一个简短的谷歌"SDL OpenGL"出现了关于如何用SDL初始化OpenGL的链接.启用OpenGL还应该启用GPU的硬件渲染.

Qt是一个合理的替代方案,但如果你想在一个更大的桌面应用程序(想想3D建模,CAD/CAM,医学可视化等)中嵌入OpenGL,你需要访问UI的标准操作系统小部件,它会更好.


小智 6

我会去Qt.不错的通用库+ opengl支持