2012-03-04 94 views
0

我开始在iOS上学习OpenGL ES。Open GL ES 1和iOS 5参考

你知道吗,谈了一些很好的参考有关Open GL ES 1(而不是2!)和iOS 5(因为苹果确实在iOS 5了很多工作的OpenGL)

THX

+7

为什么学习过时的OpenGL ES版本已过时并可能从iOS中删除? – DarkDust 2012-03-04 21:48:28

+0

首先看起来更容易。 (我听说着色器更难使用) – 2012-03-04 22:30:05

+1

Apple的GLKit旨在使ES 2与ES 1一样简单。也不再有兼容性参数 - 所有可以运行iOS 5的应用程序都支持ES 2。 – Tommy 2012-03-05 00:29:09

回答

3

首先,您不需要查找特定于iOS 5.0的引用。苹果公司并没有改变5.0中的基本OpenGL ES API。您可以在OpenGL ES 1.1上找到的所有参考仍然适用于iOS 5.0。

在基本级别,他们添加了一些扩展,使用iPad 2和iPhone 4S的新硬件功能,如EXT_color_buffer_half_floatEXT_occlusion_query_boolean,以及用于Xcode中新OpenGL ES调试器的标记。这些不是初学者的概念,但这些都在Apple OpenW ES上的2011年WWDC视频中详细解释。

iOS 5.0中最重要的新增功能是GLKit,它简化了OpenGL ES场景的设置和配置。需要注意的是GLKit完全是基于周围的OpenGL ES 2.0,不1.1和has a stated goal of helping you migrate from 1.1 to 2.0

的GLKit框架提供的通常需要的功能 和类以减少建立一个新的OpenGL ES所需的努力2.0 应用程序或库将现有的OpenGL ES 1.1 应用程序移植到OpenGL ES 2.0所需的努力。

因此,任何你读到的有关GLKit的东西都必须使用OpenGL ES 2.0。

我已经previously pointed out advantages that OpenGL ES 2.0 gave my applications,所以我不会在这里进入。相反,我只是说,我发现OpenGL ES 2.0实际上比1.1更容易理解。在2.0中,如果你想要一个特定的效果,你需要编写着色器代码来完成它。在1.1中,如果你想得到同样的效果,你首先必须验证是否可以做你想做的事情,然后你必须找到你需要实现的状态变化的魔力组合。

我强烈建议任何学习OpenGL ES的人现在都要从2.0开始,而不是只看1.1。目前还没有足够的资源来支持1.1,但我在this answer中提到了其中的几个。