适用于Android和iPhone的OpenGL

在与一些同事的讨论中,我们想知道为 Android或iPhone开发的OpenGL工作是否可以有效地互换,因为它们都支持规范.

或者是在两个平台之间共享OpenGL的现实更多的是一个怪癖,调整的情况,并不像人们希望的那么容易.

解决方法

OpenGL实现通常由两部分组成:
1.平台特定部分.这通常与创建和显示曲面有关.
2. OpenGL API.对于OpenGL的具体实现,这部分在所有平台上是相同的,在Android的情况下,OpenGLES 1.0.

这意味着您的大部分OpenGL代码应该易于移植.
在C中,你可能有glLoadIdentity();
在Android上的Java中,类似gl.glLoadIdentity();

因此,对于大部分代码,您可以剪切和粘贴,然后搜索和替换“gl”之类的前缀.

现在为了有趣的部分:你真的需要小心你正在编码的版本.用于桌面的OpenGL具有OpenGLES中不存在的API.还有一些特定于每个平台的OpenGL数据类型.此外,您还需要处理1.0(例如Android)1.1(例如iPhone)2.0(例如iPhone GS). API的差异通常与额外的硬件功能有关,因此您不能编写一些简单的包装代码来模拟1.0 / 1.1中的2.0功能.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...