我刚刚开始使用C++,想用3D对象进行编程,而且很少。现在我可以使用C++或Objective C,它并不重要。从3d对象开始
什么书与3D对象很好?
我想加载由3d应用程序创建的3d对象/文件,然后操作3d对象。
移动在屏幕上,旋转等
哪里是一个良好的开端学习这个?书,教程等
我刚刚开始使用C++,想用3D对象进行编程,而且很少。现在我可以使用C++或Objective C,它并不重要。从3d对象开始
什么书与3D对象很好?
我想加载由3d应用程序创建的3d对象/文件,然后操作3d对象。
移动在屏幕上,旋转等
哪里是一个良好的开端学习这个?书,教程等
Lesson 31 on gamedev.net应该让你开始。
这里是一个相当不错的网站与3D引擎教程:http://www.spacesimulator.net/wiki/index.php/3d_Engine_Programming_Tutorials
真棒链接。 :) – jarryd 2011-04-17 14:34:05
我刚开始用C++
哇那里,你做任何C语言编程?为了在OpenGL中获得任何地方(除了卡住!),因为OpenGL是用C语言编写的,所以您确实需要熟悉C语言。至少您需要了解关于指针,函数和数组的所有信息。
我也建议开始2D对象,然后去3D。实际上与OpenGL没有任何区别。要渲染2D对象,可以将其渲染为与3D对象完全相同的方式,但是会为每个对象提供相同的z(深度)值。
虽然大多数这些已被弃用,我建议先学习立即模式,移动显示列表,然后顶点阵列,并最终顶点缓冲区对象和索引缓冲区对象。这些都是GPU获取顶点/颜色/纹理信息的不同方法,并且它们的速度都不相同。
除非您需要定位OpenGL 1.x(例如需要在Intel IGP硬件上运行),否则最好跳过显示列表。在许多方面,即时模式可以更好地理解VBO,但显示列表知识并不适用于OpenGL 3+。 – 2011-04-17 16:35:13
谢谢。我可以用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
谢谢。看起来不错。 – jarryd 2011-04-17 14:31:57
请注意,NeHe教程已经过时了很久,并教导了很久以前不推荐使用或从OpenGL中删除的功能。 – SurvivalMachine 2011-04-17 15:02:42
@SurvivalMachine,真的,它是在着色器成为主流之前编写的,但3D模型结构没有改变太多:) – 2011-04-17 15:04:09