カスタム レンダー パスを使用する場合、writeToColorBuffer シェーダ、writeToDepthBuffer シェーダ、writeToVectorBuffer シェーダ、writeToLabelBuffer シェーダをシェーディング ネットワークに追加して、カスタム レンダー パスのノード(フレーム バッファ)にデータを書き込むことができます。
各シェーダは、ハイパーシェード(Hypershade)から追加することができます。mental ray ノードの作成(Create mental ray Nodes)を選択し、その他(Miscellaneous)セクションを展開します。入力とフレーム バッファのタイプに応じて、適切なシェーダを選択してください。たとえば、writeToColorBuffer は、入力としてカラーを受け取り、タイプ カスタム カラーのフレーム バッファに書き込みます。
フレーム バッファ オプション(Frame Buffer Options)
次のオプションの 1 つを選択します。操作なし(No Operation)、加算(Add)、乗算(Multiply)、置き換え(Replace)。
writeToColorBuffer シェーダ、writeToDepthBuffer シェーダ、writeToVectorBuffer シェーダ、writeToLabelBuffer シェーダのいずれかを価すると、入力カラー アトリビュートが取得されてレンダー パスに保存されます。複数のシェーダが同じレンダー パスに書き込む場合もあります。この場合、追加(Add)を選択して新規の結果をレンダー パスの既存の内容に追加することができます(その他の結果は、その他のシェーダから書き込まれます)。また、置き換え(Replace)を選択した場合、現在レンダー パスにある結果と内容は消去され、新規の結果に置き換えられます。
評価トリガ(Evaluation Trigger)
評価モード(Evaluation Mode)
パス スルーとしてシェーダを使用します。パス スルーの詳細については、フレーム バッファに記述されています。
パス スルーのみ(Pass Through Only)は、評価パス スルー(Evaluation Pass Through)(入力と出力)と併せて使用し、シェーダが 2 つのノード間に挿入された場合、さらに次のいずれかのシェーダwriteToColorBuffer、writeToDepthBuffer、writeToVectorBuffer、writeToLabelBuffer を呼び出す場合にのみ、シェーダはレンダー パスにその結果を書き込みます。これにより、シェーディング ネットワークにシェーダを挿入することができ、確実に正しい順番で評価が行われるようになります。
このオプションを選択して、シェーダ出力がぶらさがり状態であってもシェーダをコールします。たとえば、outEvaluationPassThrough 出力がシェーディング エンジンにつながらない、またはシェーディング ネットワークの評価中にパスが訪れない場合、通常シェーダは評価されません。常時(Always)を選択することでシェーダが呼び出され、出力は確実にフレーム バッファに書き込まれます。
このモードを使用した場合、評価が特定の順序で行われる保証はありません。このモードを使用したシェーダでは、明確なレンダー パスを書き込む必要があります。複数のシェーダに同じレンダー パスを書き込むのは避けてください。