0

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

回答

0

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

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

+0

我已经想出了其他解决方案,我刚刚通过使用矩阵的宽度和高度将150x250归一化为0-1空间。这是如此简单... :) – ZZZ