texm3x3 - ps
与两个 texm3x3pad - ps 指令结合使用时,执行 3x3 矩阵乘法。
语法
texm3x3 dst、 src |
---|
其中
- 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 矩阵乘法运算的三个指令中的最后一个。 3x3 矩阵由第三个纹理阶段的纹理坐标和前面的两个纹理阶段组成。 将忽略分配给这三个纹理阶段中的任何一个的纹理。
此指令必须与两个 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
第二个 texm3x3pad 指令执行乘法的第二行以查找 v'。
v' = TextureCoordinates (阶段 m+1) UVW * t (n) RGB
texm3x3tex 指令执行乘法的第三行以查找 w'。
w' = TextureCoordinates (阶段 m+2) UVW * t (n) RGB
将矩阵乘数的结果放在目标寄存器中。
t (m+2) RGBA = (u' , v' , w' , 1)
相关主题