c++ - 2009 年的 OpenGL 窗口库

标签 c++ opengl

<分区>

试图为我的 OpenGL 应用程序确定一个用于创建窗口和捕获用户输入的库,但是选择太多了:

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

我只是想制作一个简单的 2D 游戏。我对 OpenGL 足够熟悉,所以我真的不需要绘图例程,但我可能不会提示其他功能,如果它们实现得当可能会有用。

最佳答案

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

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

Clutter是一个新的基于 OpenGL 的 GUI 库,绑定(bind)了 Perl、Python、C#、C++、Vala 和 Ruby。我自己没用过。来自网站:

Clutter uses OpenGL (and optionally OpenGL ES for use on Mobile and embedded platforms) for rendering but with an API which hides the underlying GL complexity from the developer. The Clutter API is intended to be easy to use, efficient and flexible.

关于c++ - 2009 年的 OpenGL 窗口库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1252680/

相关文章:

c++ - "Reading"POD 预增量结果不会产生未定义的行为。为什么呢?

c++ - 如何在每个新模块中自动注入(inject)辅助类?

java - 从C++到Java-什么是Gradle

c++ - Netbeans C++ 应用程序无法构建

opengl - 统一缓冲区,glGetActiveUniformBlockiv 大小报告

c++ - 如何在 C++ 中修复 "Segmentation fault(core dump)"?

opengl - 标准 OpenGL 工具包是什么?

opengl - 我应该在 GPU 上还是在 CPU 上计算矩阵?

c++ - 对屏幕上绘制的元素进行深度排序

c++ - 翻页效果