pred の場合 - vs
if pred - vs... の開始else - vs...endif - vs block。述語レジスタの内容から取得された条件を使用します。
構文
if [!]pred.replicateSwizzle |
---|
この場合、
- [!]省略可能な NOT 修飾子。 これにより、述語レジスタの値が変更されます。
- pred は述語レジスタ p0 です。 述語の登録に関するページを参照してください。
- replicateSwizzle は、4 つのコンポーネント (swizzled) すべてにコピー (またはレプリケート) される 1 つのコンポーネントです。 有効なコンポーネントは、x、y、z、w または r、g、b、a です。
解説
頂点シェーダーのバージョン | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
pred の場合 | x | x | x | x |
この命令は、述語レジスタのチャネルに基づいてコードブロックをスキップするために使用されます。 各if_pred ブロックは、else または endif 命令で終わる必要があります。
次のような制約があります。
if_predブロックは入れ子にすることができます。 これは、 if_comp ブロックと 共に動的な入れ子の深さの合計にカウントされます。
if_pred ブロックはループ ブロックをまたぐことはできません。ループ ブロックは完全に内部に配置するか、または囲む必要があります。
関連トピック