2011-04-17 94 views
4

我刚刚开始使用C++,想用3D对象进行编程,而且很少。现在我可以使用C++或Objective C,它并不重要。从3d对象开始

什么书与3D对象很好?

我想加载由3d应用程序创建的3d对象/文件,然后操作3d对象。

移动在屏幕上,旋转等

哪里是一个良好的开端学习这个?书,教程等

回答

2

Lesson 31 on gamedev.net应该让你开始。

+0

谢谢。看起来不错。 – jarryd 2011-04-17 14:31:57

+0

请注意,NeHe教程已经过时了很久,并教导了很久以前不推荐使用或从OpenGL中删除的功能。 – SurvivalMachine 2011-04-17 15:02:42

+0

@SurvivalMachine,真的,它是在着色器成为主流之前编写的,但3D模型结构没有改变太多:) – 2011-04-17 15:04:09

1

我刚开始用C++

哇那里,你做任何C语言编程?为了在OpenGL中获得任何地方(除了卡住!),因为OpenGL是用C语言编写的,所以您确实需要熟悉C语言。至少您需要了解关于指针,函数和数组的所有信息。

我也建议开始2D对象,然后去3D。实际上与OpenGL没有任何区别。要渲染2D对象,可以将其渲染为与3D对象完全相同的方式,但是会为每个对象提供相同的z(深度)值。

虽然大多数这些已被弃用,我建议先学习立即模式,移动显示列表,然后顶点阵列,并最终顶点缓冲区对象和索引缓冲区对象。这些都是GPU获取顶点/颜色/纹理信息的不同方法,并且它们的速度都不相同。

+0

除非您需要定位OpenGL 1.x(例如需要在Intel IGP硬件上运行),否则最好跳过显示列表。在许多方面,即时模式可以更好地理解VBO,但显示列表知识并不适用于OpenGL 3+。 – 2011-04-17 16:35:13

+0

谢谢。我可以用C语言和Objective C编程,刚开始用C++。我发现这个http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html似乎涵盖了我想要的。在ES中不支持OpenGL ES作为学习管道和opengl的一些额外功能。 – jarryd 2011-04-17 20:30:10