我只是想知道这是否可以在ps着色器中完成。我有一个非正交矩阵,需要将它正交化并使用反转置结果。我转向matlab寻求帮助,只发现了一些指令对着色器很复杂。它可能会影响性能。所以有解决方案吗?感谢您的回复:)
答案 0 :(得分:0)
对于任意矩阵,在一般情况下可能是相当复杂的任务,但对于稍微失去其正交性的3x3矩阵,您可以使用Gram-Schmidt process来正交化矩阵的前两个轴并交叉乘积来导出第三轴:
Xx Xy Xz
Yx Yy Yz
Zx Zy Zz
X' = X/|X|
Y' = Y"/|Y"|, Y" = Y - X'*dot(X',Y)
Z' = cross(X',Y')