Microsoft DirectX 8.0 (C++)

texm3x3vspec

視点ベクトルが固定していないときのスペキュラ反射および環境マッピングを行う。

texm3x3vspec   tDest, tSrc0

レジスタ

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

注意

この命令はテクスチャ アドレッシングに使用する。行列の行として使われる 3 つのテクスチャ座標の w 要素から視線が取得される点を除き、この命令の動作は texm3x3spec とまったく同じである。

tex t0               ; 標準的な 3 ベクトルとして t0 を定義
texm3x3pad t1, t0    ; 行列の第 1 行の乗算を実行
texm3x3pad t2, t0    ; 行列の第 2 行の乗算を実行
texm3x3vspec t3, t0  ; 行列の第 3 行の乗算を実行し、
                     ; テクスチャ 2 をサンプルし、反射計算を行い、
                     ; テクスチャ 3 をスペキュラ マップとしてサンプル
mov r0.rgb, t3       ; スペキュラ色を結果に入れる
mov r0.a,   t3       ; ディフーズ色をアルファ チャネルに入れる

バンプ (通常の) マップはステージ 0 で設定される必要があり、キューブ テクスチャはステージ 3 で設定される必要がある。ステージ 1 または 2 で設定されるテクスチャはいずれも無視される。

設定 0 のテクスチャ座標はバンプ マップに位置する。1、2、および 3 を設定するテクスチャ座標は 3 × 3 行列の行である。

この命令は、このテクスチャ ステージに対応する割り当て済みのテクスチャである無名の入力を取ることに注意すること。

参照

texm3x3spec