直到今天我正在使用Basic UIKIT应用程序,但现在我需要在OpenGL中工作。
问题是我对OpenGL一无所知,对于如何开始以及从何处开始感到困惑。
我需要创建一个与“iBeer”相同的应用程序(请参阅YouTube中的电影)。
所以我对如何创建你在应用程序中看到的啤酒图形有很多困惑,那么什么应该是首选的库?
答案 0 :(得分:7)
创建opengl应用程序有点费时,需要时间来学习语法并熟悉。即使它不是有史以来最先进的应用程序,也只是神奇地写一个“ibeer”-app并不容易。 /> 我认为没有任何捷径,你必须学习opengl及其语法 iphone也使用了Opengl | Es,它的语法与常规opengl相去甚远,但仍然有足够的差异,你不能使用常规的opengl引擎。
我遇到的两个最好的opengl资源是:
还有一些专门针对opengl | es和iphone开发的好教程
但是我会猜测你对创建应用程序比学习opengl语法更感兴趣,所以你也应该看看一些opengl-engines
网上可能有一百多万资源,应该让你开始。
答案 1 :(得分:3)
Jeff LaMarsh在good primer上有一个his blog。这是TOC:
答案 2 :(得分:1)
通过学习计算机图形的先决条件概念以及学习所涉及的数学,最好地学习OpenGL和/或OpenGL ES。特别是线性代数,向量空间以及矩阵如何用于表示协调系统。 OpenGL只是一个易于使用的API,只要你了解你在做什么就 。如果你害怕数学,不要浪费你的时间。
对于绝对的初学者,我推荐“3D Math Primer”一书,其中包括勘误表和gamemath.com上的样本以及一个名为“矩阵和四元数常见问题解答”的在线文章:www.j3d.org/matrix_faq/matrfaq_latest.html
用于iPhone的OpenGL ES 1.x规范: http://www.khronos.org/opengles/1_X 最后但并非最不重要的是,OpenGL 2.1的规范和OpenGL着色语言的第一个版本,GLSL: http://www.opengl.org/registry/doc/glspec21.20061201.pdf http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.10.59.pdf
我说过的很多人并不认为规范是图书馆用户的文档,但在我看来它确实如此;仅仅因为它是准确的,它有权威,任何其他出版物无论如何都会引用它。 如果您了解所需的数学和计算机图形学的一般概念,阅读标准应该是轻而易举的。
最后一句话:不惜一切代价避免使用NeHe。我在这里看到了这个建议,如果你想要尝试失败的路线,它可能还可以。 NeHe的教程教授如何,而不是为什么。大多数例子也非常过时。
如果您想在计算机上使用 OpenGL ,我建议您专注于OpenGL(着色器)的可编程pipline而不是固定功能管道。 (OpenGL ES 1.x没有着色器)像Cg,GLSL和HLSL这样的着色器语言就此存在。对此的证明是最新的OpenGL 3.1标准,其中完成任务的唯一方法是通过着色器。只是一个明智的警告,因为红皮书和其他“技术自己在10天内的OpenGL”书籍倾向于关注后者。
答案 3 :(得分:1)
我建议将其他技术排除在外,并分别学习OpenGL:然后看看ES中的差异并介绍iPhone的具体内容等等。我会说Mads认为NeHe是一个不好的开始:有一些那些没有得到解决的教程中的错误(比如忘记了OpenGL的y坐标相对于大多数UI工具包而言是倒置的,但也忘记了BMP相对于UI工具包是颠倒存储的,所以加载BMP并显示它是巧合的。而非意图)。
上面提到的OpenGL红皮书是我读过的最清晰,最好的书面计算书之一,但免费的在线副本已经过时,所以抓住一个现代的死树副本。你不会后悔的。我再次同意Mads的观点,对数学的理解很重要。我认为你可以通过阅读红皮书同时修改你的数学,因为它会轻轻地打破你,并有一些附录涵盖了一些技巧。
最后,在尝试不同的事情时,比如翻译,缩放等的影响,你经常会发现自己处于编译,调整,编译循环中。更有效的是拥有一个允许你在运行时调整参数的应用程序:但是在学习的同时编写这样的东西有点陡峭。 Nate Robins有一些优秀的演示程序,可让您调整opengl调用的参数,并在应用程序中向您显示其影响。它们得到了opengl红皮书本身的强烈推荐:http://www.xmission.com/~nate/opengl.html
答案 4 :(得分:0)
我发现这本书对于学习OpenGL ES 1.1(iphone支持的版本)非常有用: http://www.amazon.co.uk/Mobile-3D-Graphics-Kaufmann-Computer/dp/0123737273/ref=sr_1_3?ie=UTF8&s=books
虽然我在阅读之前已经了解了OpenGl的基础知识,但是不能保证它对于初学者有多好。
其他人似乎喜欢“红皮书”,这里有免费的在线版本:http://www.opengl.org/documentation/red_book/这可能对学习基本原理有用,但它涵盖了标准桌面openGL,并且它与Iphone上有什么。
Iphone SDK附带了几个例子,我发现它非常有用。