我注意到GLUT仅适用于C.我希望在Java上重用我的OpenGL代码,然后再将其移植到Android.对于这些系统,是否有任何“标准”代替GLUT?
编辑:
我实际上正在使用JOGL并且有兴趣通过Java重新实现而不是重用C.我对C,Java和OpenGL有基本的了解,但还没什么特别的.我很好地试图找出关于窗口的一切,比如调整大小,着色等等.我想知道是否有什么可以帮助我使用一些(更高级的?)函数,如glutSwapBuffers(),glutDisplayFunc(),glutMainLoop( )等
最佳答案
那么JOGL或LWJGL.Their API是1:1到C glut.如果你使用固定管道你也有Glu lib你需要的所有内容.我没有认真对待JOGL,因为我不喜欢它的方式管理上下文和窗口,但我确实用LWJGL做了商业项目,可以说这个lib太棒了.你也可以用它来进行移动开发.
我想稍微扩展一下这个主题:
首先,似乎JOGL已经得到了GLUT class,它主要关注基元的创建.我也发现this lib是C GLUT的部分端口.但事实上,我不明白你寻找GLUT C的原因就像lib.JOGL一样和LWJGL都为您提供了内置功能的输入处理,上下文和窗口创建.而在Java中,您可能无法在单一屋顶下统一上下文和窗口创建,因为Android和Windows Java环境以不同方式执行.当然,您可以随时滚动你自己的类,它将在下面处理基于平台的上下文/窗口设置,但我认为这就像重新发明轮子一样.
关于原始几何创建 – 我不打算在这种情况下查看GLUT.这是使用旧的,不推荐的(固定)OpenGL管道.今天是2013年,OpenGL目前是4.3版本,如果你想与之同步这项技术的当前状态,并从OpenGL的许多新功能中受益,我强烈建议继续前进到OpenGL 3.3.这样你需要手动编写几何图形.但是你可以获得许多其他好处,如对方式的完全控制您的渲染管道也可以工作.还有许多关于如何为可编程OpenGL创建几何的在线示例和教程.
希望能帮助到你.