次の方法で共有


pred の場合 - ps

if bool - ps... の先頭else - ps...endif - ps ブロック。述語レジスタの内容から取得された条件が含まれます。

構文

if [!]pred.replicateSwizzle

 

この場合、

  • [!]は省略可能な NOT 修飾子です。 これにより、述語レジスタの値が変更されます。
  • pred は 述語レジスタです。
  • replicateSwizzle は、4 つのコンポーネント (swizzled) すべてにコピー (またはレプリケート) される 1 つのコンポーネントです。 有効なコンポーネントは、[x, y, z, w] または [r, g, b, a] です。

解説

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

 

この命令は、述語レジスタのチャネルに基づいてコード ブロックをスキップするために使用されます。 各if_pred ブロックは、 else - ps または endif - ps 命令で終わる必要があります。

次のような制約があります。

if_pred ブロックは入れ子にすることができます。 これは、動的入れ子の深さの合計と if_comp ブロックにカウントされます。

if_pred ブロックはループ ブロックをまたがることができません。それは完全に内部にあるか、それを囲む必要があります。

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