概要
Render State(
レンダリング状態)は、
レンダリング中にシェーダがアクセスして変更する変数や関数の集まりです。これはシェーダと画像の
レンダリングとの間の主要なコミュニケーションポイントです。シェーダが何かを要求された時、例えば位置を移動させたり、ピクセルの色をレンダラーに伝えたりする時、シェーダは
Render Stateからシェーディングするポイントに関する情報を取得します。一方、シェーダは、
Render Stateの値を変更する事により、情報をレンダラーに送り返します。これにより、レンダラーは、描画するカラーやサーフェスの形状を知る事が出来ます。これは通常、ポイントごとに行われます。大まかに言えば、レンダラーは1ピクセルまたは1マイクロポリゴンを一度に処理し、すべての
シェーダにそのポイントの修正を依頼します。
シェーダの中には、後から呼び出される他の
シェーダの動作を変更できるように状態を修正するものがあります。例えば、『Warp Shader』は、その"Shader"の入力端子に接続された他の
シェーダの形状を変更する事が出来ますが、これはそのためです。
シェーダはこれらの事を、ユーザーに詳細を明かす事なく実行します。ただし、
Render Stateの変数の多くは、『Get』ファンクション
ノードを使ってアクセス出来るので、ビルトインシェーダだけでは出来ない事が可能になります。
『Get』Functions
以下の
ノードは、
Render Stateの変数のいくつかに読み取り専用でアクセスする事が出来ます。これらのノードが返す値は、
レンダリングコンテキストに依存し、また、これらの関数が呼び出される前にどの
シェーダが呼び出されたかに依存する場合があります。
Scalars
Get Altitude - 『Geometry to Position』から『Normal in Geometry』方向に沿った位置までの符号付き距離。惑星の場合、これは基本的に変位を含む現在
レンダリングされている位置の高度を意味します。
Get Altitude in Texture - 『Normal in Geometry』に沿って、『Geometry to Position』からテクスチャの位置までの符号付き距離。惑星の場合、これは基本的に現在のテクスチャ座標の高度を意味します。
Get Frame Number - 現在の
Render Stateの現在のフレーム番号を提供します。
Positions (vectors)
Get
Camera Position - 現在のシェーディング状況とは無関係に、ワールド空間でのメイン
カメラの位置。
Get Ray Origin - ワールド空間におけるビューアの位置または現在のレイの原点。
Normals (vectors)
Get Normal -
シェーダやレンダラーによる最新の修正を含むサーフェス法線
Colours
以下のカラー変数の一部またはすべては、有用な情報が設定されている可能性がありますが、それらを実行する前にどの
シェーダが呼び出されたかによって異なります。
Get Diffuse Colour - ライティング前のサーフェスの拡散係数。
Get Emitted Colour - サーフェスの放射(発光)成分。
Get Final Alpha - サーフェスの最終出力アルファ。
Get Final Colour - サーフェスの最終出力カラー。
Get Final Opacity - サーフェスの最終透明度(1で透明)。
Get Specular Colour - サーフェスの鏡面成分。
最終更新:2021年08月13日 12:18