我书面方式使用directx9的其中进口使用搅拌器从.X文件创建一些模型文件小的图形程序。到目前为止一切顺利。

该机型具有有纹理的材料,它的简单让纹理名称和正确渲染的对象,但是我想对某些材料的使用不同的效果(着色器)文件,但我无法找到任何方式嵌入关于什么着色器来在模型中.X文件使用该信息。

我最好的办法是看质地文件名在我D3D9应用和质地硬编码名称的查找表效应文件。不过,这似乎并不优雅,而且也意味着我最终会复制和重命名的纹理,这样我可以使用相同的纹理与不同的着色器。

我觉得我必须缺少一个更简单的方法来做到这一点,有什么建议?

有帮助吗?

解决方案

不同于纹理图像文件,指定一个着色器程序可以是非常复杂的。您需要着色器文本以及规格为它所需要的参数和谁读取文件,以了解哪些值的参数以及如何设置的一种方式。某些着色器需要反过来纹理需要通过(在Perlin杂3D纹理的情况下例如)应用程序来生成参数,有时这些texutres。结果 总之,没有办法拿出一个标准的方式来指定一般可以在一个文件格式完全integreted如.x着色器。你唯一的选择就是拿出一些即席为您的应用程序。你在问题提出的方法是为任何一样好。

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