【问题标题】:Help understanding the Xcode 4 Project Template for OpenGL帮助理解 OpenGL 的 Xcode 4 项目模板
【发布时间】:2023-03-20 01:35:01
【问题描述】:
在 Xcode 4 中,OpenGL ES 模板/样板与以前的版本不同。 (我阅读和观看的所有教程都使用 Xcode 3.X)当我开始一个新项目时,没有 ES1renderer 或 ES2renderer。通常在这些类中找到的所有代码都可以在 ViewContoller 中找到。我的问题是:我应该自己创建这些类,还是将我的代码放在 ViewController 中? (我是 OpenGL ES 和 iPhone 开发的新手,所以要温柔)。
【问题讨论】:
标签:
iphone
ios4
opengl-es
xcode4
【解决方案1】:
旧模板将 ES 1.1 代码与 2.0 代码巧妙地分开。这是有道理的,因为这两个 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。