API是否显着不同?有没有办法可以在两个版本中使用相同的3D代码?这是个好主意吗?
解决方法
尝试在两个平台上尽可能多地重用您的应用程序是一个好主意.
无论如何,绝对的做法是将其他代码与外部依赖关系(如OpenGL)隔离开,即使您不具体需要OpenGL ES支持.你永远不知道将来您可能希望将应用程序移植到哪个API /平台.
有2个选项可用.
第一个是将OpenGL实现隐藏在其他应用程序使用的接口之后,然后提供单独的Jogl和Androide实现.根据您运行的平台,您可以选择使用工厂模式在运行时实现正确的实施.
由于OpenGL ES和OpenGL非常相似,维护这一点所需的努力不应太高,只要您遵守常用功能.
另一个选项是尝试使用支持配置文件的Jogl2.这些似乎完全符合您所需要的,但Jogl2仍处于测试阶段.
这个页面的底部谈到一些简介:http://kenai.com/projects/jogl/pages/FAQ
Profiles allow Java applications to be written in a way which allows compatibility with multiple OpenGL versions at the same time. Since OpenGL ES (GL for embedded systems) has overlapping functionality with OpenGL itself it opened the opportunity to add even Profiles which bridge desktop and embedded implementations.
您可能想要阅读此http://michael-bien.com/mbien/entry/jogl_2_opengl_profiles_explained了解有关配置文件的更多信息.