如何将OpenGL投影矩阵转换为Unity投影矩阵?

时间:2018-09-29 05:38:53

标签: unity3d opengl 3d

我正在研究与自定义失真投影有关的内容。为了试验统一性,我必须将OpenGL投影矩阵转换为Unity投影矩阵。

我想知道Unity使用的是左手坐标,而OpenGL使用的是右手坐标。顶点表示为行向量,而不是列向量。

我应该如何转换矩阵?

1 个答案:

答案 0 :(得分:1)

要从列向量语义切换到行向量语义,请对矩阵进行转置。要从右手转换为左手(反之亦然),请镜像其中一个轴(这并不重要,哪一个是轴,但通常的选择是Z)。最后但并非最不重要的一点是,您可能必须通过在矩阵的正确位置放置1或-1来使轴旋转。例如,要镜像Z并置换X→Y,Y→Z,Z→X,您可以使用

0  0 -1
1  0  0
0  1  0