【问题标题】:Importing Models Into A OpenGL Project将模型导入 OpenGL 项目
【发布时间】:2011-01-02 07:54:21
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我不认为这属于 SO,SU 会更好。
  • @Maxim 为什么 SU 会更好地询问库以将模型加载到可以使用 OpenGL 绘制的东西中?似乎与我有关的漂亮编程。

标签: opengl model modeling


【解决方案1】:

如果您想自己解析,我想说的是 Obj 格式在可读性和功能性方面取得了很好的平衡。

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

最简单的方法是找到一个库来为你做这件事,但可能性仅限于你选择的语言。

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

【讨论】:

    【解决方案2】:

    Blender 可以将文件保存为 .obj 格式,通过简单的 google 搜索可以找到几个库来将其加载到 OpenGL 中。 Here 是其中之一。

    【讨论】:

      【解决方案3】:

      我建议现在不要担心对象的规模。

      现在,您要做的就是确定 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 示例文件位于 here。这将使您能够查看文件的格式,并真正了解它们的解析程度。

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

      【讨论】:

      • 动画不是问题。我有 Cheetad3D,我刚刚检查并看到它可以做 obj 文件,这很棒。
      【解决方案4】:

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

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

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

      【讨论】:

      • 该课程需要 GLUT(或至少强烈推荐),非常棒的链接!
      • 我正在使用 FreeGLUT。如果不改变我正在使用的 GLUT,我会不会走运? :(
      • @bobber205 据我所知,如果机器上存在 freeglut,glut 只是将整个 freeglut 导入到自身中,只不过是一个符号副本。至少这是我的 freeglut.h 和 glut.h 告诉我的。我使用的是 linux Box,这对你来说可能不同。我建议您在包含路径中查找 glut.h 和 freeglut.h 的来源以确认。干杯! ---- 我想我回复了一个真正过时的帖子,但我希望这不会降低我评论的恰当性。
      猜你喜欢
      • 1970-01-01
      • 2012-04-02
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 2021-12-04
      • 1970-01-01
      相关资源
      最近更新 更多