シェーダー デザイナーでは、定数ノードはピクセル シェーダー計算のリテラル値および補間された頂点の属性を表します。頂点の属性は補間されているため、各ピクセルの頂点の属性が異なり、各ピクセル シェーダーのインスタンスは異なる定数を受け取ります。これにより各ピクセルが独自の外観になります。
頂点の属性の補間
ゲームまたはアプリの 3-D シーンのイメージは、頂点、頂点の属性、およびプリミティブの定義によって定義されている多数のオブジェクトを画面上のピクセルに数学的に変換することによって作成されます。ピクセルに独自の外観を与えるために必要な情報はすべて頂点の属性によって提供され、プリミティブを構成する各頂点へのピクセルの近接性に応じてブレンドされます。プリミティブは、基本的なレンダリング要素、つまりポイント、線、三角形などの単純な図形です。1 つの頂点のみに近接するピクセルはその頂点とほとんど同一の定数を受け取りますが、プリミティブのすべての頂点と等間隔にあるピクセルはこれらの頂点の平均定数を受け取ります。グラフィックス プログラミングでは、定数がピクセルを受け取ることを補間と呼びます。この方法でピクセルに定数データを提供することで、優れた画質が得られると同時に必要なメモリの使用量と帯域幅が減少します。
ピクセル シェーダーの各インスタンスは 1 組の定数値のみを受け取り、これらの値を変更することはできませんが、ピクセル シェーダーの異なるインスタンスは異なる定数データ セットを受け取ります。この設計により、シェーダー プログラムでプリミティブ内の各ピクセルに異なるカラー出力を生成できます。
定数ノードの参照
ノード |
詳細 |
プロパティ |
|---|---|---|
カメラ ベクター |
ワールド空間における現在のピクセルからカメラまでのベクターです。 これを使用して、ワールド空間における反射を計算できます。 出力
|
なし |
色定数 |
定数のカラー値です。 出力
|
|
定数 |
定数のスカラー値です。 出力
|
|
2D 定数 |
2 コンポーネントのベクター定数です。 出力
|
|
3D 定数 |
3 コンポーネントのベクター定数です。 出力
|
|
4D 定数 |
4 コンポーネントのベクター定数です。 出力
|
|
正規化された位置 |
現在のピクセルの位置を示す、正規化されたデバイス座標の値です。 x 座標と y 座標の値の範囲は [-1, 1]、z 座標の値の範囲は [0、1] で、w コンポーネントにはビュー空間のポイントの深度値が含まれています。w は正規化されていません。 出力
|
なし |
ポイントの色 |
現在のピクセルの拡散色。これは素材の拡散色と頂点の色属性の組み合わせです。 出力
|
なし |
ポイントの深度 |
ビュー空間における現在のピクセルの深度です。 出力
|
なし |
正規化されたポイントの深度 |
現在のピクセルの深度を示す、正規化されたデバイス座標の値です。 結果の値の範囲は [0, 1] です。 出力
|
なし |
画面の位置 |
現在のピクセルの位置を示す、画面座標の値です。 画面座標は現在のビューポートに基づいています。x コンポーネントと y コンポーネントには画面座標が含まれ、z コンポーネントには [0, 1] の範囲に正規化された深度が含まれ、w コンポーネントにはビュー空間の深度値が含まれます。 出力
|
なし |
表面法線 |
オブジェクト空間における現在のピクセルの表面法線です。 これを使用して、オブジェクト空間における光源の効果や反射を計算できます。 出力
|
なし |
接空間カメラ ベクター |
接空間における現在のピクセルからカメラまでのベクターです。 これを使用して、接空間における反射を計算できます。 出力
|
なし |
接空間の光の方向 |
現在のピクセルからの接空間で光源から光を当てる方向を定義するベクターです。 これを使用して、接空間における光源や反射の効果を計算できます。 出力
|
なし |
ワールド法線 |
ワールド空間における現在のピクセルの表面法線です。 これを使用して、ワールド空間における光源の効果や反射を計算できます。 出力
|
なし |
ワールド位置 |
ワールド空間における現在のピクセルの位置です。 出力
|
なし |