【问题标题】:What Does orthoM() Do Under the Hood?OrthoM() 在幕后做了什么?
【发布时间】:2016-07-04 05:53:46
【问题描述】:

我已阅读文档,它说它创建了一个正交投影矩阵。但是,它用于计算的矩阵是什么样的?

我在方法中输入值:

0, 105.0, 495.0, 190.0, 410.0, 0, 1

它输出:

0.0051282053, 0.0, 0.0, 0.0, 
0.0, 0.009090909, 0.0, 0.0, 
0.0, 0.0, -2.0, 0.0, 
-1.5384616, -2.7272727, -1.0, 1.0

绘制出来的矩阵会是什么样子?

【问题讨论】:

    标签: android opengl-es projection-matrix


    【解决方案1】:

    orthoM 继承自 glOrtho 的 API,相关手册页对此进行了说明;根据快速谷歌搜索,Microsoft's reproduction 似乎保留了正确的格式。

    所以:

    2 / (right - left)        0                         0                       tx
    0                         2 / (top - bottom)        0                       ty
    0                         0                         2 / (far - near)        tz
    0                         0                         0                       1
    

    ...tx = - (right + left) / (right - left)ty = - (top + bottom) / (top - bottom)tz = - (far + near) / (far - near)

    您打印的值是矩阵转置,因为 OpenGL 是主要列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 2019-05-21
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      相关资源
      最近更新 更多