次の方法で共有


定数ブール型レジスタ (HLSL PS リファレンス)

このレジスタは、静的フロー制御命令で使用されるビットのコレクションです (たとえば、 bool - ps - else - ps - endif - ps)。 そのうちの 16 個があるため、シェーダーは 16 個の独立した分岐条件を持つことができます。 これらは defb - ps または SetPixelShaderConstantB を使用して設定できます。

シェーダー定数の動作が Direct3D 8 と Direct3D 9 の間で変更されました。

  • Direct3D 9 の場合、defx で設定された定数は、シェーダー定数空間に値を割り当てます。 defx で宣言された定数の有効期間は、そのシェーダーの実行のみに限定されます。 逆に、API SetXXXShaderConstantX を使用して設定された定数は、グローバル空間で定数を初期化します。 SetxxxShaderConstants が呼び出されるまで、グローバル空間の定数はローカル空間にコピーされません (シェーダーに表示されます)。
  • Direct3D 8 の場合、defx または API で設定された定数はどちらもシェーダー定数空間に値を割り当てます。 シェーダーが実行されるたびに、定数は設定に使用される手法に関係なく、現在のシェーダーによって使用されます。
ピクセル シェーダーのバージョン 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
定数ブール値レジスタ x x x

 

レジスタ