代码之家  ›  专栏  ›  技术社区  ›  bobber205

将模型导入OpenGL项目

  •  12
  • bobber205  · 技术社区  · 15 年前

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

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

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

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

    4 回复  |  直到 15 年前
        1
  •  8
  •   Tarydon    15 年前

    Blender可以将文件保存为.obj格式,一个简单的Google搜索会打开几个库,用于将其加载到OpenGL中。 Here 是一个。

        2
  •  5
  •   Marcin Seredynski    15 年前

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

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

    现在不要担心对象比例,以后可以随时调整对象比例。只需确保导出时使用的是局部坐标,而不是全局坐标(例如[0,0,0]应该是对象的中心,而不是建模的世界)。

        3
  •  4
  •   Crowe T. Robot    15 年前

    我建议现在不要担心物体的大小。

    现在,你要做的就是确定一个三维文件的格式。从3D程序(如maya或blender)导出时有许多选项。

    我可以推荐一个简单的collada导入程序吗?规格信息如下: http://www.khronos.org/files/collada_spec_1_4.pdf

    我最近使用的另一个规范可能也适用于这个。

    OBJ的规格如下: http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/

    此外,还有几个免费的3dobj示例文件 here . 这将允许您查看文件的格式,并真正了解它们解析起来有多容易。

    请记住,obj不支持动画,而且渲染大型场景的效率相当低。

        4
  •  2
  •   Brian McKenna    15 年前

    如果您想自己解析obj格式,那么它在可读性和功能性方面是一个很好的平衡。

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

    最简单的方法是找一个图书馆为你做这件事,但可能性将限于你选择的语言。

    你不应该担心规模。OpenGL的矩阵可以很容易地重新缩放顶点。