将3ds max对象改为opengl

时间:2009-01-07 19:02:36

标签: opengl 3dsmax

我正在尝试使用已经制作的对象在opengl中组装一个场景。问题是对象是.max格式,没有外部纹理。我怎么能在opengl中导入我的对象,而不重新构造它们。我正在考虑将它们导出到3ds并使用3ds文件加载器。你能推荐一个,当然它只能用于3ds文件本身,没有外部纹理文件。


3ds max已经允许我将文件导出到obj。我有一个没有外部纹理文件的对象,但它已经完全着色为3ds文件。有没有办法在opengl中导入并具有相同的颜色,对于树干,叶子?

4 个答案:

答案 0 :(得分:8)

您可能需要查看lib3ds,它将为您解析3ds二进制格式,并允许您访问所有对象属性。我认为Autodesk也有自己的工具包。

答案 1 :(得分:5)

你应该看看这个link。它是一个3DS查看器,其源代码使用OpenGL进行渲染。代码很简单。

答案 2 :(得分:4)

另一个选项可能是Assimp,一个用于C或C ++的开源资产导入库,这似乎是将3DS资产转换为opengl程序的一种非常好的方法。如果你想要它用于骨架动画,并且支持嵌入式纹理,它将特别有用。虽然在这一点上,这个答案对你来说可能比对遇到这个问题的其他人更少。

答案 3 :(得分:1)

如果我没记错的话,3ds文件不存储顶点法线,所以你可能不得不以某种方式自己计算它们,否则它将使用面部本身的法线,这将非常难看。