if bool - ps
if ブロックを開始します。
構文
if bool |
---|
この場合
- bool は、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 ブロックは、loop ブロックをまたぐことはできません。
if ブロックの後にはステートメント ブロック、else - ps 命令、endif - ps 命令が続きます。
例
この命令は、条件付きの静的フロー制御を行います。
defb b3, true
if b3
// Instructions to run if b3 is nonzero
else
// Instructions to run otherwise
endif