我对游戏开发感兴趣,并且具备良好的C / C ++编程技能。我之前尝试过OGRE,但很好奇我是否应该以OGRE或OpenGL为起点。
据我了解,OGRE是OpenGL和DirectX的包装。那么,假设我学习OGRE,是否还需要学习OpenGL来开发游戏?
另外,有人可以为我指出OpenGL的好教程吗?我发现OGRE有充分的文档记录(甚至随发行版一起提供!),但对于OpenGL,我上来的大多数教程都是过时的。
我对游戏开发感兴趣,并且具备良好的C / C ++编程技能。我之前尝试过OGRE,但很好奇我是否应该以OGRE或OpenGL为起点。
据我了解,OGRE是OpenGL和DirectX的包装。那么,假设我学习OGRE,是否还需要学习OpenGL来开发游戏?
另外,有人可以为我指出OpenGL的好教程吗?我发现OGRE有充分的文档记录(甚至随发行版一起提供!),但对于OpenGL,我上来的大多数教程都是过时的。
Answers:
Ogre确实是OpenGL的包装器,但是这种包装器的想法是您不必担心OpenGL的复杂性。当然,这对了解OpenGL有一定帮助,但是Ogre会为您隐藏很多丑陋的细节。
我想说Ogre可以说比OpenGL更容易学习,或者至少可以更快地获得有趣的结果。当然,如果值得学习OpenGL,则完全取决于您要进行的评估。
关于OpenGL教程,是的,其中大多数都是相当过时的,但是规范并没有很快发展,因此许多旧教程仍然适用于大多数OpenGL。
我的一些最爱:
OpenGL!是的,到目前为止,我公开不同意董事会中的每个人。
OGRE一团糟。学习曲线陡峭。是的,他们有一些不错的教程,但是要走出教程的界限,做自己的事非常困难。我希望花三周的时间来设置OGRE并开始工作,完成教程并弄清楚下一步该怎么做。关于OGRE,没有什么比OpenGL更好或更简单的了。如果您像声称的那样是一名优秀的C程序员,并且了解指针/数组/函数,那么OpenGL将同样容易,即使不是那么容易。
这就是为什么我强烈建议从OpenGL开始的原因。OpenGL将迫使您学习图形的所有基础知识。有趣的是,您实际上将意识到他们在后台发生了什么。是的,从NeHe的教程开始。是的,它们是1.x,这已经过时了(Ranieri,这是给您的),但是跳入OpenGL 4.x的学习曲线太陡了。
从1.x(glBegin,glEnd)中的立即模式开始,然后了解顶点数组。如果需要,可以玩显示列表来学习。然后移向顶点缓冲区对象。然后了解着色器。这些过渡中的每一个都非常容易,并且在线上有很多很棒的教程。VBO位于4.1的核心,因此,当您到达那里时,您将不再学习过时的资料,而从1.x的东西开始要容易得多。
另外,如果您想从事游戏开发事业,没有人会雇用您,因为您可以使多维数据集在现成的库中旋转。他们之所以雇用您,是因为您了解可能发生的最低水平的事情,并且可以基于这些宝贵的知识来做出设计决策。
参考文献:我在那里。我在OGRE上花费了一个月,一个星期尝试了Irrlicht,一个星期尝试了Horde3d,两天使用DirectX,一个月使用OpenGL。在使用OGRE一个月之后,我几乎超出了教程的范围。在使用OpenGL的一个月后,我有一个角色运行在《我的世界》世界中,以700+帧频渲染每帧260,000个纹理立方体。