texm3x3 - ps
2 つの texm3x3pad - ps 命令と組み合わせて使用すると、3x3 行列乗算を実行します。
構文
texm3x3 dst, src |
---|
where
- dst は宛先レジスタです。
- src はソース レジスタです。
注釈
ピクセル シェーダーのバージョン | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texm3x3 | x | x |
この命令は、テクスチャ参照なしで texm3x3tex - ps 命令と同じです。
この命令は、3x3 行列乗算演算を表す 3 つの命令の最後として使用されます。 3x3 マトリックスは、3 番目のテクスチャ ステージのテクスチャ座標と、先行する 2 つのテクスチャ ステージで構成されます。 3 つのテクスチャ ステージのいずれかに割り当てられたテクスチャは無視されます。
この命令は、2 つの texm3x3pad 命令で使用する必要があります。 テクスチャ レジスタは、次のシーケンスに従う必要があります。
tex t(n) // Define tn as a standard 3-vector (tn must
// be defined in some way before it is used)
texm3x3pad t(m), t(n) // where m > n
// Perform first row of matrix multiply
texm3x3pad t(m+1), t(n) // Perform second row of matrix multiply
texm3x3 t(m+2), t(n) // Perform third row of matrix multiply to get a
// 3-vector result
3x3 乗算の実行方法の詳細を次に示します。
最初の texm3x3pad 命令は、乗算の最初の行を実行して u' を見つけます。
u' = TextureCoordinates(stage m)UVW * t(n)RGB
2 番目の texm3x3pad 命令は、乗算の 2 行目を実行して v' を見つけます。
v' = TextureCoordinates(stage m+1)UVW * t(n)RGB
texm3x3tex 命令は、乗算の 3 行目を実行して w' を見つけます。
w' = TextureCoordinates(stage m+2)UVW * t(n)RGB
マトリックス乗算の結果を変換先レジスタに配置します。
t(m+2)RGBA = (u' , v' , w' , 1)
関連トピック