mental ray for Maya 自定义着色器

 
 
 

自定义着色器

自定义着色器是自定义编码的 mental ray 着色器,使用此类着色器可以在使用标准 mental ray for Maya 基础着色器可实现的效果上面创建外观。您(或第三方开发人员)可以使用 C 或 C++ 语言创建此类着色器,然后将它们处理为可以在 Maya 中查看和使用的模式。

自定义着色器(一个或多个)的集合组成自定义着色器库。自定义着色器通常分布在自定义着色器库中。若要在 Maya 中查看特定的自定义着色器,必须加载包含该自定义着色器的着色器库。请参见加载着色器

具有颜色属性的自定义 mental ray 着色器会在 Maya 中创建相应的 RGBA 属性。这意味着自定义着色器上的颜色值的 Alpha_component 可以驱动,或者可以被 Maya 着色网络驱动。

为 Maya 的软件渲染器编写的自定义着色器可以与 mental ray for Maya 自定义着色器相关。该对应关系是由“着色器管理器”(Shader Manager)中加载的 .mi 声明所驱动的。然后,mental ray for Maya 会检测相应的 Maya 着色节点。相应的参数(属性)和到其他支持的节点(Maya 或自定义节点)的连接是关联的。因此,可以创建一个对于 Maya 和 mental ray 渲染都兼容的着色网络。请参见将 Maya 自定义着色器与 mental ray for Maya 自定义着色器关联

自定义着色器库

自定义着色器分布在自定义着色器库中。若要在 Maya 中查看特定的自定义着色器,必须加载包含该自定义着色器的着色器库。

自定义着色器库包括两个文件:

  • 一个声明文件(例如,mayabase.mi),它包含着色器的界面的描述
  • 一个库文件(例如 mayabase.somayabase.dll),它包含着色器的实际实现

节点工厂(请参见节点工厂)基于自定义着色器声明创建 Maya 类型节点。这些节点的工作方式就像常规 Maya 节点一样:可以使用它们来构建着色网络;可以保存、加载和导出它们;可以编写自己的属性编辑器模板;还可以提供图标、样例和帮助文件。有关详细信息和示例,请参见 devkit。