Microsoft DirectX 8.0 (C++)

texm3x3spec

スペキュラ反射と環境マッピングを実行する。

texm3x3spec   tDest, tSrc0, tSrc1

レジスタ

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

注意

この処理は、結果として生成されるトランスフォーム後ベクトルを取得し、視線ベクトルを反映するための法線として使用する。視線ベクトルは、常にコンスタント カラー c0 である。その後、命令は、処理の結果を、そのステージで設定されているキューブ テクスチャを参照するためのアドレスとして使用する。スペキュラ環境マップはプリロードされている。

tex t0                  ; 標準的な 3 ベクトルとして t0 を定義
texm3x3pad t1, t0       ; 行列の第 1 行の乗算を実行
texm3x3pad t2, t0       ; 行列の第 2 行の乗算を実行
texm3x3spec t3, t0, c0  ; 行列の第 3 行の乗算を実行し、
                        ; 反射計算を行い、テクスチャ 3 をサンプルする
mov r0, t3              ; 最終結果を出力色としてコピー

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

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

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

参照

texm3x3vspec