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