我不确定这个问题是否已经被问过了,我的stackoverflow-fu让我失望了。
因此,我正在构建一个基于OpenGL ES的iPhone游戏,我在野外发现的几乎所有示例都是在OpenGL ES 1.x上。这很好,因为至少我在总体上(重新)学到了很多关于OpenGL的知识。
现在较新的设备支持OpenGL-ES 2.0,我想知道是否有人将他们的OpenGL-ES 1.x应用程序移植到2.0,如果是的话,是否有任何性能或效率方面的改进?例如,我可以用glLightf(诸如此类)设置我的光照(在1.x中),然后我用lighting...but完成了,显然这个函数在2.0中不存在,所以我被迫自己编写它?那么,没有“管道编程”经验的人怎么能做到这一点呢?在2.0中有默认的照明实现吗?
我这么说可能是出于无知,因为我还没有找到任何可靠的针对iPhone的OpenGL-ES 2.0信息。
在这一领域的任何帮助都将非常感谢。
发布于 2010-07-21 01:45:02
从我所读到的,以及我有限的工作时间来看,从1.1升级到OpenGL ES 2.0与其说是性能问题,不如说是功能问题。如果你看了Mastering OpenGL ES for iPhone videos ( iPhone快速入门视频的一部分,可以通过iPhone开发者计划网站获得),苹果甚至表示,如果你可以在OpenGL ES 1.1下做你需要做的事情,你就不需要升级到2.0。
OpenGL ES 2.0的完全可编程的流水线可以使简单的操作比在1.1中做同样的事情困难得多,因为您需要为以前为您处理的流水线部分编写代码。然而,2.0提供了许多在1.1中无法实现的令人惊叹的实际效果。例如,我推荐观看WWDC 2010 session video 417 - OpenGL ES着色和高级渲染以及图形和媒体联盟的状态,以了解使用OpenGL ES 2.0的可能性。
到目前为止,考虑到具有兼容GPU的iPhone设备的有限子集以及缺乏文档和示例,使用OpenGL ES 2.0的应用程序很少。我认为,随着iPhone3GS之前的设备逐步淘汰,我们将看到这种情况开始改变。特别是,iPad从一开始就有OpenGL ES 2.0,所以如果你正在为它设计一个应用程序,你可以依赖这些功能。在不久的将来肯定会出现更多的代码示例和文档。
https://stackoverflow.com/questions/3291892
复制相似问题