Java和Android中的GLUT替代方案?

BLa*_*uRE 5 java opengl glut opengl-es jogl

我注意到GLUT仅适用于C++.我希望在Java上重用我的OpenGL代码,然后再将其移植到Android.对于这些系统,是否有任何"标准"代替GLUT?

编辑: 我实际上正在使用JOGL并且对通过Java重新实现并且不重用C++感兴趣.我对C++,Java和OpenGL有基本的了解,但还没什么特别的.我很好地试图找出关于窗口的一切,比如调整大小,着色等等.我想知道是否有什么可以帮助我使用一些(更高级的?)函数,如glutSwapBuffers(),glutDisplayFunc(),glutMainLoop( )等

Mic*_* IV 3

JOGLLWJGL怎么样。它们的 API 与 C++ glut 是 1:1。如果您使用固定管道,您还拥有Glu lib,其中包含您需要的所有内容。我没有认真使用 JOGL,因为我不喜欢它的方式管理上下文和窗口,但我确实使用 LWJGL 做过商业项目,并且可以说这个库非常棒。您也可以将它用于移动开发。

我想稍微扩展一下这个话题:

首先,似乎 JOGL 有GLUT 类,它主要负责基元的创建。我还发现这个库是 C++ GLUT 的部分端口。但事实上,我不明白你寻找像 lib 这样的 GLUT C++ 背后的原因。 JOGL 和 LWJGL 都为您提供内置功能的输入处理、上下文和窗口创建。在 Java 中,您可能无法在单一屋顶下统一上下文和窗口创建,因为 Android 和 Windows Java 环境的做法不同。当然你总是可以推出自己的类,它将在下面处理基于平台的上下文/窗口设置,但我认为这就像重新发明轮子。

关于原始几何体创建 - 在这种情况下我不会费心去研究 GLUT。那些是使用旧的、已弃用的(固定的)OpenGL 管道制作的。今天是 2013 年,OpenGL 目前是 4.3 版本,如果您想与鉴于这项技术的当前状态并受益于 OpenGL 中的许多新功能,我强烈建议继续使用 OpenGL 3.3。执行此操作时,您需要手动编码几何体。但是您还可以获得许多其他好处,例如完全控制方式您的渲染管道可以正常工作。此外,还有许多关于如何为可编程 OpenGL 创建几何体的在线示例和教程。希望能帮助到你。