浮動小数点型定数レジスタ
4D の浮動小数点型定数のためのピクセル シェーダー入力レジスタです。
これらは、def - ps または SetPixelShaderConstantF を使用して設定できます。
Direct3D 8 と Direct3D 9 では、シェーダー定数の動作は異なります。
- Direct3D 9 の場合、defx を使って設定された定数は、シェーダー定数領域に割り当てます。defx で宣言された定数の有効期間は、そのシェーダーの実行のみに限定されます。反対に、APIs SetXXXShaderConstantX API を使って設定された定数は、定数をグローバル領域で初期化します。グローバル領域の定数は、SetxxxShaderConstants が呼び出されるまで、シェーダーから見えるローカル領域にコピーされません。
- Direct3D 8 の場合、defx または API を使って設定された定数は、どちらもシェーダー定数領域に割り当てます。シェーダーが実行されるたびに、定数の設定に使われた手法にかかわらず、現在のシェーダーが定数を使用します。
例
次の例では、シェーダー内で 2 つの浮動小数点型定数を宣言しています。
def c40, 0.0f,0.0f,0.0f,0.0f;
これらの定数は、SetPixelShader を呼び出すたびに読み込まれます。
定数値を API で設定する場合は、シェーダー宣言は不要です。