if bool - ps
if ブロックの開始。
構文
if bool |
---|
この場合、
- bool は bool (Boolean) レジスタ番号です。 「 定数ブール値レジスタ」を参照してください。
解説
ピクセル シェーダーのバージョン | 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
関連トピック