翻译正字法到透视

时间:2012-06-05 02:31:31

标签: opengl-es opengl-es-2.0 projection perspective orthographic

我有两个描述线的点,问题是我知道一个用于正交矩阵(即150x250x0)的坐标,而第二个用于透视矩阵(0.5x0.5x20.0f)的坐标。我想将正交坐标转换为透视,以便我可以使用glsl着色器绘制一条线:)。如何完成这项任务?

1 个答案:

答案 0 :(得分:0)

您需要将其中一个顶点移动到其他矩阵空间。例如,让我们将150x250x0从正交空间移动到透视空间。要做到这一点,你需要通过倒置的正交矩阵变换你的顶点。我不知道你使用什么数学库,也许它已经具有矩阵求逆功能。否则,请使用此链接中的代码:http://www.gamedev.net/topic/180189-matrix-inverse/。在此步骤之后,您的顶点位于世界空间中。

PS:矩阵求逆需要一些重要的时间进行计算。如果您可以跟踪转换步骤(平移,旋转和缩放),则应该更简单的方法是单独反转这些步骤并在此之后组成矩阵。