定数整数レジスタ (HLSL VS リファレンス)
定数整数レジスタは、 ループ (vs および rep - vs) でのみ使用されます。
これらは、defi - vs または SetVertexShaderConstantI を使用して設定できます。
ループの引数として使用する場合 - vs 命令:
- .x は反復回数です。 (rep - vs はこのコンポーネントのみを使用します)。
- .y はループ カウンターの初期値です。
- .z はループ カウンターのインクリメント ステップです。
シェーダー定数の動作が Direct3D 8 と Direct3D 9 の間で変更されました。
- Direct3D 9 の場合、defx で設定された定数は、シェーダー定数空間に値を割り当てます。 defx で宣言された定数の有効期間は、そのシェーダーの実行のみに限定されます。 逆に、API SetXXXShaderConstantX を使用して設定された定数は、グローバル空間で定数を初期化します。 SetxxxShaderConstants が呼び出されるまで、グローバル空間の定数はローカル空間にコピーされません (シェーダーに表示されます)。
- Direct3D 8 の場合、defx または API で設定された定数はどちらもシェーダー定数空間に値を割り当てます。 シェーダーが実行されるたびに、定数は設定に使用される手法に関係なく、現在のシェーダーによって使用されます。
関連トピック