Microsoft DirectX 8.0 (Visual Basic)

一般命令

Direct3DX 頂点シェーダ アセンブラでは、次の一般的な命令がサポートされている。

add 加算
dp3 3 要素の内積
dp4 4 要素の内積
dst 距離ベクトル
expp 指数 10 ビット精度
lit ライティング係数
logp 対数 10 ビット精度
mad 乗算と加算
max 最大
min 最小
mov 移動
mul 乗算
rcp 逆数
rsq 逆数平方根
sge 以上
slt 未満
sub 減算

各ソース オペランドは、ある要素を全要素にコピーしたり複製など、読み取り時に自由に入れ換えできる。各ソース オペランドは正負を反転できる。

デスティネーション レジスタへの書き込みには、個々の要素のマスキングを含めることができる。つまり、特定の成分 (x、y、z、または w) だけが更新される。書き込み時の入れ換えや正負の反転はサポートされていない。したがって、出力マスクは、x、y、z、そして w の順序でなければならない。

ソフトウェア エミュレーション フロントエンドは、出力レジスタ書き込みでのマスクを使って、出力頂点の中でシェーダが変更した部分を検出し、それに従って、ラスタ化のみの使用のためにハードウェアに送信するための、出力の柔軟な頂点フォーマット (FVF) を計算する。

ピクセル シェーダ言語とは異なり、頂点シェーダ言語では線形補間ブレンディング命令はサポートされておらず、dp3 演算子は自動的に負の結果を 0.0 に制限しないことに注意すること。

参照

マクロ命令