我将把我用 Java 编写的 Java OpenGL 游戏引擎移植到 Linux 上的 C 语言。
我的主要问题是在 Linux 中用于 OpenGL 应用程序的事实上的窗口管理实用程序是什么?是freeglut
吗?
如果freeglut
不是最常用的;那么最常用的是什么?
在任何平台上都没有“事实上的”OpenGL 窗口管理实用程序。FreeGLUT 是常用的,但这并不意味着什么。重要的是你用它做什么。
一般来说,FreeGLUT 不适合“严肃”的应用程序。它用于独立的演示、教程等。虽然有 API 可以让您控制主循环,但默认 API(99.9% 的示例代码将使用的 API)让 FreeGLUT 管理主循环。对于大多数涉及时间压力或某种动画的游戏,这通常是不可接受的。
您可能能够让您的代码在 FreeGLUT 下运行(尽管没有理由它也不能只是 Java 代码),或者您可能不会。但也请注意,FreeGLUT 没有很好的输入例程(至少,不是用于游戏),并且它的声音功能为零。