定数 float レジスタ (HLSL PS リファレンス)
4D 浮動小数点定数のピクセル シェーダー入力レジスタ。
これらは def - ps または SetPixelShaderConstantF を使用して設定できます。
シェーダー定数の動作が Direct3D 8 と Direct3D 9 の間で変更されました。
- Direct3D 9 の場合、defx で設定された定数は、シェーダー定数空間に値を割り当てます。 defx で宣言された定数の有効期間は、そのシェーダーの実行のみに限定されます。 逆に、API SetXXXShaderConstantX を使用して設定された定数は、グローバル空間で定数を初期化します。 SetxxxShaderConstants が呼び出されるまで、グローバル空間の定数はローカル空間にコピーされません (シェーダーに表示されます)。
- Direct3D 8 の場合、defx または API で設定された定数はどちらもシェーダー定数空間に値を割り当てます。 シェーダーが実行されるたびに、定数は設定に使用される手法に関係なく、現在のシェーダーによって使用されます。
例
シェーダー内で 2 つの浮動小数点定数を宣言する例を次に示します。
def c40, 0.0f,0.0f,0.0f,0.0f;
これらの定数は、 SetPixelShader が呼び出されるたびに読み込まれます。
API で定数値を設定する場合、シェーダー宣言は必要ありません。
関連トピック