如何将Maya着色器和渲染器着色器转换为GLSL?

我知道这2个产品,但我从来没有使用过他们的生产,因为我有一堆很酷的着色器,我想在OpenGL下使用它们与GLSL,但我不知道从哪里开始。

如果不能直接转换它们,我可以在哪里学习着色器的Renderman语法?

我不知道有哪些工具可以让你直接将复杂着色器从Maya或3Ds Max转换成GLSL / HLSL(尽管如果你确实find了,请告诉我们!)。 对于简单的着色器(lambert,phong),你可以编写自己的parsing器(像Havok Content Tools这样的工具已经parsing了着色器(再简单的着色器),并且可以给你一个材质,然后你可以在程序中创建一个GLSL着色器)。

Maya和Renderman的着色器依赖于一个有很多节点的完整框架。 而且,它们被devise成与渲染引擎的渲染引擎一起工作。 所以着色器可以有许多通过和许多纹理单元和效果,这是不可能转化为单个GLSL着色器的。

然而,相反的存在。 也就是说,你可以让你的着色器在3D软件包中工作,这是简化stream水线的一种方法。 例如,3Ds Max支持MetaSL ,而MetaSL又可以转换为HLSL / GLSL着色器。 Maya支持通过一个插件来渲染HLSL / GLSL着色器,该插件公开支持着色器的属性。 和VRay一样 。 因此,不要依赖各自的着色器networking,您可能需要在各自的3D程序中在GLSL中创建着色器,然后可以轻松导出着色器,因为它已经在GLSL中。