Iphone 学习OpenGLES1.x

Iphone 学习OpenGLES1.x,iphone,3d,opengl-es,Iphone,3d,Opengl Es,在OpenGL ES 1.x上加快速度的最快方法是什么 让我们假设我对OpenGL一无所知(这并不完全正确,但我上次使用OpenGL已经有一段时间了)。我最感兴趣的是为iPhone相关的开发学习这一点,但我也有兴趣学习它在其他平台上的工作原理 我已经找到了OpenGLES2.0编程指南这本书,但我担心它可能不是最好的方法,因为它关注的是2.0而不是1.x。我的理解是2.0与1.x不向后兼容,因此我可能会错过一些重要的概念 注意:有关学习通用OpenGL的答案,请参阅 我发现了一些资源:

在OpenGL ES 1.x上加快速度的最快方法是什么

让我们假设我对OpenGL一无所知(这并不完全正确,但我上次使用OpenGL已经有一段时间了)。我最感兴趣的是为iPhone相关的开发学习这一点,但我也有兴趣学习它在其他平台上的工作原理

我已经找到了OpenGLES2.0编程指南这本书,但我担心它可能不是最好的方法,因为它关注的是2.0而不是1.x。我的理解是2.0与1.x不向后兼容,因此我可能会错过一些重要的概念

注意:有关学习通用OpenGL的答案,请参阅


我发现了一些资源:

  • 作者:Paul Martz(OpenGL基础知识的优秀复习者)

    • iPhone SDK本身有一些文档

      除此之外,只需了解OpenGL(或通过其他方式了解),并忘记所有“旧积垢”的东西(显示列表、即时模式、OpenGL中的但与绘制三角形没有直接关系的东西)。基本上,忘记OpenGL 3.0中声明不推荐使用的所有内容


      GLES1.x适用于非常简单的设备。您拥有的是绘制几何体(顶点缓冲区)、管理纹理和设置某些固定功能状态(照明、纹理组合器)的方法。这几乎就是它的全部。

      在花了大量时间开发3D之后,我意识到在大多数情况下,最好的方法是通过示例学习,并随着示例不断进步

      首先为自己设定一个要实现的目标(例如,实现粒子系统。这包括使用混合模式、纹理、顶点颜色、批处理和变换),然后从最简单的元素开始——绘制和旋转四边形。从那里继续添加纹理,添加更多四边形,等等。。。 在这样做的时候,你需要一些关于语法的信息——这可以在很多书中找到,但是最好的(非常无聊的)来源是规范委员会的出版物,可以在这里找到:

      即使这样,你也会遇到很多问题,好吧,一旦你有问题,在这些情况下去找你最好的朋友:演示和例子
      你可以在网上和苹果网站上找到许多iPhone的示例源,下载它们,复制粘贴你需要的内容,然后根据你的需要进行修改


      玩得开心。

      在开始使用OpenGL ES时,我发现这些方法非常有用,只是想看看与普通GL相比,在处理ES时会采取什么方法

      如前所述,iPhone开发者网站也提供了一些示例:


      如果我可以插上我自己的工作,我会把你引向我的帖子。这并不是OpenGL ES的最佳总体介绍,而且它的技术性相当快,但这是我根据自己的写作经验对这个主题的理解。还有,我刚开始读这本书

      我同意这样的建议,即最好的学习方式是实践。一开始我对OpenGL一无所知,三周后,我在应用商店中查看了一些分子。一旦你有了一套清晰的目标(“好的,我需要画一个三维球体”,“现在我需要根据需要旋转它”),就很容易找到只适用于你正在工作的任务的文档示例或部分

      有许多代码示例,尽管其中许多使用即时模式和OpenGL ES不支持的其他调用。我很想通过向分子释放源来增加这个列表,但苹果的保密协议到目前为止阻止了这一点。将源代码转换为分子

      我在OpenGL ES 1.1上讲授的课程视频现在可以作为下载的一部分下载。可以找到该会话的注释。并且在OpenGL ES 2.0上有一个类


      此外,Philip Rideout还发布了一本关于iPhone的OpenGL ES 1.1和2.0开发的优秀书籍,名为。我强烈推荐。

      仅供参考,Brad Larsons分子代码现在可用。

      如果您下载了iPhone SDK示例,请查看crash landing的EAGLview文件。它是GLES视图的一个非常直接的实现,可以在另一个项目中导入并非常干净地使用它。该项目中还有一个叫做Texture2d(如果我记得的话)的类,如果你想使用GLES for 2D,这个类也很有趣。

      我可以推荐Android吗?它很容易获得,而且你可以很快拥有一个工作模拟器。而且,据我所知,它使用v1.0

      可能会有更多的教程,但即使是谷歌提供的APIDemos也介绍了OpenGLES。我当然觉得它很有用。

      上有一些优秀的教程,你可能想看看优秀的Jef LaMarche关于iPhone上OpenGL ES的教程

      真酷,伙计!非常感谢。@Brad:感谢您在iTunes U上发布该课程。我一直在寻找OpenGL资源,这篇文章(尤其是讲座)真的很有帮助。