将模型导入OpenGL项目

时间:2010-01-07 02:01:28

标签: opengl model modeling

我正在参加OpenGL课程,我们可以选择创建模型,以便在我们的作业中使用3D建模应用程序,如Maya或Blender。

期待手动输入坐标,所以我很好奇我应该考虑编写OpenGL代码和导入模型的资源。 (纹理即将到来)。我也很关注我正在进口的规模,但也许在这一点上担心是愚蠢的。

感谢您提供任何资源建议。 OpenGL有很多东西,当谷歌搜索我需要的东西时,我有时会不知所措。

编辑: 这就是我最终使用的。 http://www.spacesimulator.net/tut4_3dsloader.html 我下载了“Windows”版本并对包含进行了一些路径更改,启动并运行。它不处理OBJ文件,而是处理3DS。猎豹3D也会出口到这种类型。

4 个答案:

答案 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的矩阵可以轻松地重新缩放顶点。