石英 2D 或 OpenGL ES?从长远来看的利弊,迁移到其他平台的可能性
Posted
技术标签:
【中文标题】石英 2D 或 OpenGL ES?从长远来看的利弊,迁移到其他平台的可能性【英文标题】:Quartz 2D or OpenGL ES? Pros and cons in the long term, possibility of migration to other platforms 【发布时间】:2010-04-08 08:16:52 【问题描述】:我很难决定是使用 Quartz2D 还是使用 OpenGL 来开发 iPad 游戏。它将主要是 2D,但效果强烈(10-30 个对象的同时照明效果,屏幕上同时显示 10-20 个动画)。 到目前为止,假设我在这两种技术上同样愚蠢并且必须从头开始学习它们,我来到了这个列表。 (我在这里阅读了几个关于 SO 的主题,名称为“Quartz 或 OpenGL”,但我仍有一些问题)
石英:
更好的上市时间,因为 准备好使用像 UIView 这样的抽象, UIImageView, CoreAnimation 抽象Open GL ES
更接近硬件,因此,性能 更好。
使用 OpenGL ES 实现的应用程序可以更轻松地迁移到 android、MeeGo、Windows Phone 等。
我的问题是:
-
重写需要多长时间
使用 OpenGL 的 Quartz 2d 应用程序?让我们
说我花了 2 个人月来写
Quartz 应用程序,我会花多少时间
需要重写吗? (拜托,只是一些主观意见,我会尝试以某种方式总结它们)
关于迁移到其他平台的难易程度,在使用OpenGL的时候,真的是这样吗?
或者,与 OpenGL 应用程序迁移相比,将 Quartz 应用程序从 iPhoneOS 迁移到 Android 的工作量不会大很多? (易于迁移是非常重要的标准)
关于 OpenGL,关于迁移,我应该使用 OpenGL 1.1 还是 2.0? (Android通过NDK支持2.0,但不知道NDK的使用会增加还是减少迁移工作量)
【问题讨论】:
【参考方案1】:使用跨平台的框架
Cocos2d 安卓版: http://code.google.com/p/cocos2d-android/
Cocos2d for iphone:
http://code.google.com/p/cocos2d-iphone/
【讨论】:
你知道吗,android用的OpenGL ES Cocos2d是什么版本的?【参考方案2】:我只会回答Android
你问题的相关部分,因为我对Quartz
一无所知
OpenGL ES 1.1
和2.0
最大的区别在于可编程流水线1.1
有一个默认的固定流水线,但是2.0
的流水线变成了可编程流水线,所以你必须编写自己的流水线才能做到一些照明。距离您的问题还有很多时间,现在Android
支持OpenGL ES 2.0
,其框架API 也与NDK
一起支持。根据Android
仪表板的使用率; 99.8% 的Android
设备同时支持version 2.0
和1.1
http://developer.android.com/about/dashboards/index.html#OpenGL
P.S OpenGL ES 3.0
与 Android 4.3
一起引入,因此这些费率可能会有所变化。
对于上述答案中的 Cocos2D 相关问题,Cocos2D-X
在Android
中使用了OpenGL ES 2.0
,因此Cocos2D for Android
也很可能使用OpenGL ES 2.0
。
【讨论】:
以上是关于石英 2D 或 OpenGL ES?从长远来看的利弊,迁移到其他平台的可能性的主要内容,如果未能解决你的问题,请参考以下文章