微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用JOGL和Android OpenGL编写可移植的Java应用程序

我计划编写一个可以在PC和 Android上工作的Java 3D游戏.不幸的是,这两个平台似乎没有常见的OpenGL API.

API是否显着不同?有没有办法可以在两个版本中使用相同的3D代码?这是个好主意吗?

解决方法

Android支持与OpenGL 1.3重叠的OpenGL ES 1.0,所以这应该是可行的,但是在运行时只是替换jar文件并不简单.

尝试在两个平台上尽可能多地重用您的应用程序是一个好主意.
无论如何,绝对的做法是将其他代码与外部依赖关系(如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了解有关配置文件的更多信息.

原文地址:https://www.jb51.cc/android/311869.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐