if bool - ps

if ブロックの開始。

構文

if bool

 

この場合、

解説

ピクセル シェーダーのバージョン 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
if bool x x x x

 

if ステートメントのソースブール値レジスタが true の場合、if ステートメントと一致する endif - ps または else - ps で囲まれたコードが実行されます。 それ以外の場合は、else - ps... で囲まれたコード。endif - ps ステートメントが実行されます。 この命令は、1 つの命令スロットを消費します。

if ブロックは入れ子にすることができます。

if ブロックはループ ブロックをまたがることができません。

if ブロックの後にステートメント ブロック、または else - ps 命令、および/または endif - ps 命令を続けることができます。

この命令は、条件付き静的フロー制御を提供します。

defb b3, true

if b3
// Instructions to run if b3 is nonzero
else
// Instructions to run otherwise
endif

ピクセル シェーダーの手順

else - ps

endif - ps