iOS OpenGL ES 和 Android OpenGL ES 的区别

Posted

技术标签:

【中文标题】iOS OpenGL ES 和 Android OpenGL ES 的区别【英文标题】:Difference in iOS OpenGl ES and Android OpenGl Es 【发布时间】:2011-06-02 14:24:58 【问题描述】:

我想知道适用于 android 的 OpenGl ES 和适用于 ios 的 OpenGl ES 有什么区别(如果有的话)

【问题讨论】:

【参考方案1】:

适用于 Android 的 OpenGLES API 有许多未支持的 API 和任何问题。 例如,glColorub、glPointParameterfv、点精灵 OES(Extension) API 等等。 而且,Xpreia(android 设备) 有 glFlush 错误。 使用 glFlush 时,出现显示噪音。

适用于 Android 的 OpenGLES API 实现在各个设备之下。

【讨论】:

只是要求您对此进行扩展,因为我很好奇:您的意思是 ES 1.0 规范中的 glColor4ub 不是由 Android 上提供的 Java 包装器导出的吗?如果是这样,它在 NDK 下是否也不可用(大概是在哪里使用 C API)? 我做过很多,虽然不太复杂,Android OpenGL 项目,从简单的实用程序应用程序到伪 2d 游戏(使用正射投影)。我首先在常规桌面 java(使用 JOGL)中完成的大部分代码,然后将代码移植到 Android。我从未见过 Android 的 OpenGL 出现任何此类问题。【参考方案2】:

没有区别。大多数手机都提供 OpenGL ES 1.x 和 2.x。许多移动 GPU 都有特定的扩展,但如果您不使用它们,iOS 或 Android 可以共享相同的代码。 OpenGL是一个C API,所以Android提供的Java One是特定的。

我们的游戏在 iOS 和 Android 上共享相同的代码。只有 EGL(Android) 和 AGL(iOS) 部分不同。出于性能原因,我们使用了一些特定的扩展(压缩纹理...)。

【讨论】:

以上是关于iOS OpenGL ES 和 Android OpenGL ES 的区别的主要内容,如果未能解决你的问题,请参考以下文章

iOS OpenGL ES 与 Android OpenGL ES 兼容吗?

IOS OpenGL ES GPUImage 图像阴影和深度效果 GPUImageMultiplyBlendFilter

IOS – OpenGL ES 图像漩涡 GPUImageSwirlFilter

IOS OpenGL ES GPUImage GPUImageWeakPixelInclusionFilter

IOS – OpenGL ES 图像漩涡 GPUImageSwirlFilter

IOS – OpenGL ES 图像漩涡 GPUImageSwirlFilter