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


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

有帮助吗?

解决方案

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

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top