次の方法で共有


定数整数レジスタ (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 で設定された定数はどちらもシェーダー定数空間に値を割り当てます。 シェーダーが実行されるたびに、定数は設定に使用される手法に関係なく、現在のシェーダーによって使用されます。

頂点シェーダー レジスタ