【问题标题】:Translate ortographic to perspective将正交转换为透视
【发布时间】:2012-06-05 02:31:30
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我已经想出了其他解决方案,我刚刚通过使用矩阵的宽度和高度对其进行标准化将 150x250 移动到 0-1 空间。就是这么简单... :)
    猜你喜欢
    • 1970-01-01
    • 2014-07-06
    • 2015-08-27
    • 2018-07-23
    • 2019-12-17
    • 2017-03-25
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    相关资源
    最近更新 更多