我刚刚阅读了 www.songho.ca 上的一篇文章,其中指出投影矩阵由以下内容定义:
[2n/(r-l) 0 (r+l)/(r-l) 0 ]
[0 2n/(t-b) (t+b)/(t-b) 0 ]
[0 0 -(f+n)/(f-n) -2*n*f/(f-n) ]
[0 0 -1 0 ]
在哪里:
n: near
f: far
l: left
r: right
t: top
b: bottom
我还在www.geeks3d.com上阅读了由以下给出的替代定义:
[w 0 0 0]
[0 h 0 0]
[0 0 q -1]
[0 0 qn 0]
在哪里:
w=(2*near)/(width * aspect)
h = 2near/height
q=-(far+near)/(far-near)
qn=-2*(far*near) / (far-near)
M[0][2]
为什么和M[1][2]
(不包括一个是另一个的转置)有差异?它们产生相同的结果吗?哪一个可以在没有任何转置的情况下在 GLSL 中使用?