我正在参加OpenGL课程,我们可以选择创建模型,以便在我们的作业中使用3D建模应用程序,如Maya或Blender。
我不期待手动输入坐标,所以我很好奇我应该考虑编写OpenGL代码和导入模型的资源。 (纹理即将到来)。我也很关注我正在进口的规模,但也许在这一点上担心是愚蠢的。
感谢您提供任何资源建议。 OpenGL有很多东西,当谷歌搜索我需要的东西时,我有时会不知所措。
编辑: 这就是我最终使用的。 http://www.spacesimulator.net/tut4_3dsloader.html 我下载了“Windows”版本并对包含进行了一些路径更改,启动并运行。它不处理OBJ文件,而是处理3DS。猎豹3D也会出口到这种类型。
答案 0 :(得分:8)
Blender可以保存.obj格式的文件,一个简单的谷歌搜索会出现几个库,将其加载到OpenGL中。 Here就是一个。
答案 1 :(得分:5)
可用于导出网格的最简单格式之一是Wavefront OBJ(请在维基百科上搜索它,因为我现在只允许发布一个链接)。它基本上是一个文本文件,不应该太难解析。
或者实际上,如果你被允许使用GLUT,你可以尝试使用它的加载器(如OpenGL FAQ 24.040中所述)
此刻不要担心对象比例,您可以随时缩放对象。只需确保使用局部坐标导出它,而不是全局坐标(例如,[0,0,0]应该是对象的中心,而不是您正在建模的世界)。
答案 2 :(得分:4)
我建议你现在不要担心物体的规模。
现在,你要做的就是确定3D文件的格式。从Maya或Blender等3D程序导出时有很多选项。
我可能会建议尝试一个简单的COLLADA导入器。规格信息在这里: http://www.khronos.org/files/collada_spec_1_4.pdf
我最近使用的另一个规格也可能适用于OBJ。
OBJ的规格位于: http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/
此外,还有几个位于here的免费样本3D OBJ文件。这将允许您查看文件的格式,并真正了解它们可以轻松解析。
请记住,OBJ不支持动画,渲染大型场景效率相当低。
答案 3 :(得分:2)
如果您想自己解析Obj格式,那么Obj格式在可读性和功能性方面是一个很好的平衡。
http://en.wikipedia.org/wiki/Obj
最简单的方法是找一个图书馆为你做,但可能性仅限于你选择的语言。
你不应该担心规模。 OpenGL的矩阵可以轻松地重新缩放顶点。