2011-09-07 278 views
0

我在导出3ds max中的mtl文件时遇到了一个小问题。我想在opengl程序中使用obj +它的素材库。该模型可以很好地导出,但是当我输出它们时(颜色等看起来很好,所以它发现它们不是完全的,但是所有材料都改变为标准的),我将所有材料的反射/折射参数都松散了。我尝试从场景和垫子上输出材料。库以及相同的结果。任何人都可以帮助我如何在出口后保持材料的反射参数?从3ds max导出mtl文件问题

+0

如果它不包含你现在导出的信息,那么我会假设你可以编写一个函数来把所需要的数据导出到一个新的ascii文件中,然后你可以读回到你的opengl程序中除了你正在导出的文件。 –

+0

感谢您的回复。我应该写什么函数呢?我知道一个基于C++的MaxSDK,它支持编写插件,但我不熟悉它。对于我想要创建的函数还是可以的,或者您建议使用不同的“框架”? –

+0

最简单的方法是使用maxscript。并且由于它是面向材料的(而不是网格导出),所以它将非常快速。 编写输出数据的简单脚本并不难。 但我需要知道你的场景中有什么类型的材料最大? (是“标准材质”着色器?)还是其他不同? –

回答

1

正如您在电子邮件中所述,您使用Glut作为API。有几个教程, 我最初认为你使用了一个引擎,只需要一些值。 但你需要更多的这个。

要在opengl中使用反射\环境映射,你需要一个支持这个的着色器。

所以你需要做的是实现一个反射着色器,并将该位图传递给着色器。

在示例文件中,它可以很好地处理渲染的图像(因为3dsmax支持它自己的raytrace材质),但是这不会以任何方式导出。

+0

谢谢您为此付出的时间和精力,并且抱歉,如果我给出的信息在这里和那里都有点不清楚,那么在2周前才开始这个整个3d开发的东西,并且仍然有点困惑关于一些东西:) –