カスタム シェーダとは、標準的な mental ray for Maya ベース シェーダ以上の視覚効果を作り出す、コードをカスタム操作した mental ray シェーダです。ユーザ(またはサードパーティの開発者)は、C 言語や C++ でカスタム シェーダを作成し、Maya で表示したり使用したりできるモードに加工します。
すべてのカスタム シェーダ(1 つでも複数でも)はカスタム(Custom)シェーダ ライブラリに収められます。カスタム シェーダは通常、カスタム シェーダ ライブラリとして配布されます。あるカスタム シェーダを Maya で表示したい場合は、目的のシェーダの入ったライブラリをロードする必要があります。シェーダをロードするを参照してください。
カラー アトリビュートを持つ mental ray カスタム シェーダによって、対応する Maya の RGBA アトリビュートが作成されます。つまり、カスタム シェーダのカラー値のアルファ コンポーネントは Maya シェーディング ネットワークを駆動するか、または Maya シェーディング ネットワークによって駆動されます。
Maya のソフトウェア レンダラ用に作成されたカスタム シェーダを mental ray for Maya カスタム シェーダに関連付けることができます。この対応は、シェーダ マネージャ(Shader Manager)にロードされる .mi 宣言によって駆動されます。次に、mental ray for Maya が、対応する Maya シェーディング ノードを見つけます。対応するパラメータ(アトリビュート)、およびサポートされる他のノードへの接続(Maya ノードまたはカスタム ノード)が接続されます。結果として、Maya と mental ray のレンダリングの両方に互換性のある単一のシェーディング ネットワークを構築することができます。Maya のカスタム シェーダを mental ray for Maya のカスタム シェーダに関連付けるを参照してください。
カスタム シェーダはカスタム シェーダ ライブラリとして配布されます。あるカスタム シェーダを Maya で表示したい場合は、目的のシェーダの入ったライブラリをロードする必要があります。
カスタム シェーダ ライブラリは以下の 2 つのファイルから構成されます。
ノード ファクトリ(ノード ファクトリを参照)では、カスタム シェーダの宣言ファイルから Maya に対応したノードを作成します。作成したノードは通常の Maya ノードと同じように機能し、たとえばシェーディング ネットワークの構築に使用でき、保存、ロード、書き出しも可能です。また、独自のアトリビュート エディタ テンプレートを記述し、アイコン、スウォッチ、ヘルプ ファイルを追加できます。詳細および実例については、devkit をご覧ください。