OpenGL 3.0+:正交投影矩阵

时间:2013-08-06 15:42:54

标签: opengl matrix lwjgl projection orthographic

我终于毕业了在OpenGL中使用我自己的矩阵,并且在设置正交投影时遇到了一些问题。目前,我有一个方法,它采用左,右,顶部和底部,并将它们抛入这样的矩阵(来自here):

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。那么你究竟如何从左,右,上,下值计算出正交矩阵呢?

1 个答案:

答案 0 :(得分:1)

嗯,从技术上讲,你不需要你的正交矩阵。使用固定函数管道,您通常会在投影矩阵堆栈上加载一个单位矩阵,因此将正交矩阵乘以投影矩阵堆栈上的正交矩阵。

在你的情况下,无论你将邻域乘以,它都可能是错误的(即不是同一性)。建议:不要繁殖,只需加载它。