Render Treeでは、シェーダを接続してそれらに値を設定し、エフェクトを作成できます。任意の設定をした後、ICEツリー内のノードの場合と同様に、これらのシェーダを含むコンパウンドを作成できます。
シェーダコンパウンドを使用すると、エフェクトを作成して1つのコンテナに保存し、別のシーンで使用したり、他のユーザと共有したりできます。他のユーザに表示および編集を許可する各シェーダのパラメータだけを表示することもできます。
シェーダコンパウンドには、あらゆるタイプのシェーダを含めることができます。必要に応じて、接続されたたくさんのシェーダを含めることも、1つのシェーダだけを含めることもできます。たとえば、単一の大きなシェーダをコンパウンドとし、頻繁に設定が必要な一部のパラメータだけを表示することもできます。
Render Treeには、パーティクルグループなど、すぐに使って試すことができるいくつかのシェーダコンパウンドがあります。独自のシェーダ コンパウンドを作成するには、「シェーダ コンパウンドを作成する」の手順に従ってください。シェーダ コンパウンドの作成手順は、ICE コンパウンドの作成手順とよく似ています。
以下のイメージでは、単純なシェーダ コンパウンドが編集のために開かれています。
シェーダ コンパウンドは ICE コンパウンドに非常に似ています。そのため、ICE コンパウンドに関するほとんどの情報は、シェーダ コンパウンドにも適用されます。詳細については、「ICE コンパウンドを構築する」を参照してください。
シェーダコンパウンドには、クラス名とインスタンス名の2つの名前があります。1つを変更しても、他方は変更されません。詳細については、「シェーダ コンパウンドを作成する」を参照してください。
インスタンス名は、Render Tree内、ノードのプロパティエディタ内、Shader Version Managerの[インスタンス]列に、ノードのラベルとして表示されます。これは、複数のバージョンのシェーダコンパウンドがシーン内で使用できる場合に使用されます。
シェーダ コンパウンドを編集する際には、名前または表示名を設定できます。詳細については、「シェーダ コンパウンドの外部に公開されたポートのプロパティを編集する」を参照してください。
Render Tree のノードおよびノードのプロパティ エディタでのポートの表示方法を定義することができます。詳細については、「シェーダ コンパウンドの外部に公開されたポートのプロパティを編集する」を参照してください。
シェーダコンパウンドの公開したポートまたはコンストラクションモードには、ピッキング文字列を定義することができません。ApplyICEOpコマンドは、シェーダコンパウンドに適用されません。
PPG ロジックを使用して実行スクリプトを作成し、シェーダ コンパウンドのプロパティ エディタにレイアウトを定義することができます。詳細については、「シェーダ コンパウンド プロパティを編集する」を参照してください。
シェーダ コンパウンドは、編集できないようにすることができます。詳細については、「シェーダ コンパウンド プロパティを編集する」を参照してください。
シェーダコンパウンドは、プライベートとして書き出すことはできず、接続の表示状態は格納されません(Render Treeで接続の値を表示することはできないため)。
シェーダ コンパウンドのバージョニング方法は少し異なります。詳細については、「シェーダ コンパウンドのバージョニング」を参照してください。