在iOS上学习OpenGLES 2.0

时间:2011-12-12 23:16:29

标签: iphone ios opengl-es opengl-es-2.0

我是OpenGL ES 2.0的初学者,我正在寻找一本可以帮助我学习的好书/资源。我找到了几本书:

  • OpenGL®ES2.0编程指南
  • iPhone 3D编程:使用OpenGL ES开发图形应用程序

但是阅读亚马逊的评论后,我发现他们要么承担以前的OpenGL知识,要么不是专为iOS编写的。 (我知道OpenGL应该很容易移植,但是我正在寻找一本带有C语言的书籍/资源,而不是C ++,在iOS环境中讨论OpenGL)

我还发现了this,它确实帮助我掌握了基本概念,但不幸的是,它们涵盖了OpenGL ES 1.1,并且只描述了基础知识。

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:62)

为iOS(或任何操作系统,实际上)找到OpenGL ES 2.0材料要比一年前更容易。

对于从纯iOS角度编写的内容,很难从他未发表的书籍here中击败Jeff LaMarche的章节。您链接到他的OpenGL ES 1.1教程,这些教程也很棒,但他没有将他的新2.0材料放在该列表中。

Philip Rideout的

iPhone 3D Programming是一本很好的书,涵盖了OpenGL ES 1.1和2.0。它并不假设您了解OpenGL ES,并且他确实解释了理解他所谈论的内容所需的数学和其他基础知识。他最终融入了一些非常先进的技术。但是,他的所有代码都是用C ++编写的,而不是Objective-C,因此对于习惯Cocoa开发的人来说可能有点令人不安。尽管如此,OpenGL ES的核心C API是相同的,因此很容易看出发生了什么。

如果您正在寻找特定效果,OpenGL Shading Language图书仍然是您可以参考的主要资源之一。在为桌面OpenGL编写时,大多数着色语言和着色器直接转换为OpenGL ES 2.0,只需要稍加修改。

图书ShaderX6ShaderX7GPU ProGPU Pro 2也有专门用于OpenGL ES 2.0的部分,它们提供了一些您不会提供的渲染和调整提示在其他地方找然而,这些是更高级(和昂贵)的书籍。

如果你刚刚开始使用OpenGL ES 2.0,那么开始使用GLKit(仅在iOS 5.0上可用)可能不是一个坏主意,这简化了渲染缓冲区周围的一些常规设置工作和简单的着色器 - 基础效果。 Apple的WWDC 2011 videos有一些很好的材料,但他们的2009年和2010年的视频(如果你能找到它们,有些可以在apple archive获得)提供了更多关于OpenGL ES 2.0的介绍性材料。

最后,正如Andy所提到的,我在iTunes U课程中教授了一门课程,您可以免费下载here。可以找到该课程的课程说明here或下载为VoodooPad文件here。我警告你,我在OpenGL ES 2.0会话中要快一点技术,所以你可能想要观看上一学期here的1.1会话。我还谈了一下我在this article中关于我的开源应用程序(其源代码可以从here获取)中使用OpenGL ES 2.0所做的事情,如果你想玩一个功能性OpenGL ES 2.0 iOS应用程序)。

答案 1 :(得分:5)

我强烈推荐Brad Larson在iTunes U上的OpenGl ES 2.0会议。它非常深入,我发现它非常有用。你可以找到它here

答案 2 :(得分:0)

我阅读了你列出的书籍,第一本书特别棒 - 但它只用了很短的GL ES(我已经知道桌面GL,我仍然需要填补很多“空白”)。 / p>

我写了一系列有关在iOS上“正确”执行ES 2的博客文章 - 即仅使用现代GL命令,尽可能使用Apple的GLKit来节省时间/减少打字,避免陷入困境/陷阱Apple专用硬件(PVR芯片)等

此处的索引:http://t-machine.org/index.php/2013/08/29/glkit-to-the-max-opengl-es-2-0-for-ios-part-1-features/

答案 3 :(得分:0)

对于倾向于非常基本的开放式GL的iO,我建议你看一下http://antonholmquist.com/blog/opengl-es-2-0-ios-tutorial-getting-started/。这给出了顶点和片段着色器的基本概念。经过这个,初学者可以通过其他教程解释openGL的详细概念。