什么是orthoM()在引擎盖下做什么?

时间:2016-03-17 17:48:24

标签: android opengl-es projection-matrix

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

我在方法中输入值:

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

绘制时生成的矩阵会是什么样的?

1 个答案:

答案 0 :(得分:1)

orthoMglOrtho继承其API,该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是专栏。