将模型导入 OpenGL 项目

问题描述 投票:0回答:4

我正在学习 OpenGL 课程,我们可以选择使用 3D 建模应用程序(例如 Maya 或 Blender)创建模型以在我们的作业中使用。

期待手动输入坐标,所以我很好奇我应该寻找哪些资源来编写 OpenGL 代码和导入模型。 (纹理稍后推出)。我也担心我的进口规模,但也许现在担心这个是愚蠢的。

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

opengl model modeling
4个回答
8
投票

Blender 可以以 .obj 格式保存文件,简单的 google 搜索就会找到几个将其加载到 OpenGL 中的库。 这里就是其中之一。


5
投票

可用于导出网格的最简单格式之一是 Wavefront OBJ(请在维基百科上搜索它,因为我目前只允许发布 one 链接)。它基本上是一个文本文件,应该不会太难解析。

或者实际上,如果您被允许使用 GLUT,您可以尝试使用它的加载器(如 OpenGL FAQ 24.040 中的回答)

暂时不用担心对象的比例,以后您可以随时缩放对象。只需确保使用本地坐标而不是全局坐标导出它(例如 [0,0,0] 应该是对象的中心,而不是您正在建模的世界)。


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/

此外,还有几个免费的 3D OBJ 文件示例位于此处。这将使您能够查看文件的格式并真正了解它们是多么容易解析。

请记住,OBJ 不支持动画,并且渲染大场景效率相当低。


2
投票

我想说,如果你想自己解析 Obj 格式,它在可读性和功能性方面是一个很好的平衡。

http://en.wikipedia.org/wiki/Obj

最简单的方法是找到一个库来为您完成此操作,但可能性仅限于您选择的语言。

您不应该担心规模。 OpenGL 的矩阵可以轻松地重新缩放顶点。

© www.soinside.com 2019 - 2024. All rights reserved.