次の方法で共有


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)

ピクセル シェーダーの手順