我终于毕业了,可以在 OpenGL 中使用我自己的矩阵,并且在设置正交投影时遇到了一些问题。目前,我有一个方法,它采用左、右、上和下并将它们扔到这样的矩阵中(从这里):
2(right-left) 0 0 -right + (left * right) - left
0 2(top-bottom) 0 -top + (top * bottom) - bottom
0 0 -2(farVal-nearVal) -far + (far * near) - far
0 0 0 1
然后我将该矩阵乘以投影矩阵,我绝对没有得到任何有意义的输出。这让我相信我是 1). 没有使用正确的正交矩阵,2)。不将正交矩阵乘以正确的矩阵,或 3)。两个都。
我怀疑它是 2,因为每当我使用已弃用的函数时,当当前矩阵为 GL_PROJECTION 时,就会调用 glOrtho。那么,究竟如何从左、右、上、下值计算正交矩阵呢?