在Xcode 4中,OpenGL ES模板/样板与以前的版本不同。 (我已阅读并观看的所有教程都使用Xcode 3.X)当我开始一个新项目时,没有ES1renderer或ES2renderer。通常在这些类中找到的所有代码都可以在ViewContoller中找到。我的问题是:我应该自己创建这些类,还是只将我的代码放在ViewController中? (我是OpenGL ES的新手 - 以及iPhone的开发 - 所以要温和一点。)
答案 0 :(得分:4)
旧模板从2.0代码中巧妙地划分了ES 1.1代码。这是有道理的,因为这两个API在很大程度上是非常不同的。然而,一个发货应用程序实际上同时支持这两者很少见 - 通常你会去1.1并限制自己在某些视觉方面或2.0并限制自己的硬件支持。 2.0可从iPhone 3GS以及所有iPad上获得,但不是最低容量的上一代iPod Touch(即2010年9月停止使用的那款),因此有些人拥有不到一年的时间您将从潜在的客户群中消除。
新模板从(最新)示例EAGLView中获取该问题。你必须提供一个合适的上下文,然后它只做上下文中立的事情。 ES 1.1或2.0逻辑现在位于视图控制器中。第43到57行确保为最新支持的GLES版本创建合适的上下文,第187行分支取决于所使用的API。
用于计时的CADisplayLink现在也在视图控制器中。
因此,对于库,样板代码,您可能需要类似新的EAGLView,它不会对API做出任何假设,也不会对如何将图形推送到它。就你如何画画而言,你可能只想选择一匹马,并实施ES1或ES2。