Microsoft DirectX 8.0 (Visual Basic)

cnd

r0.a の値を 0.5 と比較する条件演算を実行する。

cnd   tDest, tSrc0, tSrc1, tSrc2

レジスタ

tDest
処理の結果を保持するデスティネーション レジスタ。
tSrc0
入力引数を指定するソース レジスタ。
tSrc1
入力引数を指定するソース レジスタ。
tSrc2
入力引数を指定するソース レジスタ。

注意

この命令は、r0.a の値と 0.5 を比較するためにのみ使用できる。アルファ (r0.a) が 0.5 よりも大きい場合、最初のソースが結果として返される。それ以外の場合は、2 番目のソースが返される。

次の例は、この命令の使い方を示している。

cnd d, r0.a, s1, s2    ; d = ( r0.a >0.5 ? s1 : s2 )

a - (b - 0.5) = a - b + 0.5 なので、2 つの値を比較するには、次のピクセル シェーダ コードを使用できる。

sub r0, v0,   v1_bias
cnd r0, r0.a, c0, c1

前に説明したように、最初のソース引数に配置できる値は r0.a だけであり、比較値は "0.5 よりも大きく" なければならない。