mental ray レンダー パスのユーティリティ シェーダ

カスタム レンダー パスを使用する場合、writeToColorBuffer シェーダ、writeToDepthBuffer シェーダ、writeToVectorBuffer シェーダ、writeToLabelBuffer シェーダをシェーディング ネットワークに追加して、カスタム レンダー パスのノード(フレーム バッファ)にデータを書き込むことができます。

各シェーダは、ハイパーシェード(Hypershade)から追加することができます。作成バー(Create bar)mental ray を選択してその他(Miscellaneous)セクションを展開します。入力とフレーム バッファのタイプに応じて、適切なシェーダを選択してください。たとえば、writeToColorBuffer は、入力としてカラーを受け取り、タイプ カスタム カラーのフレーム バッファに書き込みます。

以下のアトリビュートは、4 つのシェーダで共通です。

フレーム バッファ オプション(Frame Buffer Options)

カスタム カラー パス(Custom Color Pass)

プルダウン リストから、書き込みするレンダー パスを選択します。writeToColorBuffer ノードにはすべてのカスタム カラー(Custom Color)パスの一覧、writeToDepthBuffer ノードにはすべてのカスタム深度(Custom Depth)パスの一覧が表示されます。

書き込み操作(Write Operation)

次のオプションの 1 つを選択します。操作なし(No Operation)加算(Add)乗算(Multiply)置き換え(Replace)

writeToColorBuffer シェーダ、writeToDepthBuffer シェーダ、writeToVectorBuffer シェーダ、writeToLabelBuffer シェーダのいずれかを価すると、入力カラー アトリビュートが取得されてレンダー パスに保存されます。複数のシェーダが同じレンダー パスに書き込む場合もあります。この場合、追加(Add)を選択して新規の結果をレンダー パスの既存の内容に追加することができます(その他の結果は、その他のシェーダから書き込まれます)。また、置き換え(Replace)を選択した場合、現在レンダー パスにある結果と内容は消去され、新規の結果に置き換えられます。

スケール係数(Scale Factor)

カラーまたはアルファ値など入力に適用される乗算係数。合成に便利。

評価トリガ(Evaluation Trigger)

評価モード(Evaluation Mode)

通過のみ(Pass Through Only)

通過としてシェーダを使用します。通過の詳細については、フレーム バッファに記述されています。

通過のみ(Pass Through Only)は、評価通過(Evaluation Pass Through) (入力と出力)と併せて使用し、シェーダが 2 つのノード間に挿入された場合、さらに次のいずれかのシェーダ writeToColorBufferwriteToDepthBufferwriteToVectorBufferwriteToLabelBuffer を呼び出す場合にのみ、シェーダはレンダー パスにその結果を書き込みます。これにより、シェーディング ネットワークにシェーダを挿入することができ、確実に正しい順番で評価が行われるようになります。

無効(Disabled)

シェーダは実行されません。シェーディング ネットワークの評価はブロックされます。

常時(Always)

このオプションを選択して、シェーダ出力がぶらさがり状態であってもシェーダをコールします。たとえば、outEvaluationPassThrough 出力がシェーディング エンジンにつながらない、またはシェーディング ネットワークの評価中にパスが訪れない場合、通常シェーダは評価されません。常時(Always)を選択することでシェーダが呼び出され、出力は確実にフレーム バッファに書き込まれます。

このモードを使用した場合、評価が特定の順序で行われる保証はありません。このモードを使用したシェーダでは、明確なレンダー パスを書き込む必要があります。複数のシェーダに同じレンダー パスを書き込むのは避けてください。

評価通過(Evaluation Pass Through)

評価のトリガに使用される入力カラー。結果は、outEvaluationPassThrough 出力カラーにコピーされます。

入力(input)

フレーム バッファに書き込まれる値。選択するシェーダに応じて異なります。たとえば、writeToColorBuffer では、カラー(Color)アトリビュートとアルファ(Alpha)アトリビュートが表示されます。writeToVectorBuffer では、ベクトル(Vector)アトリビュートが表示されます。