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で使用できるのはどれですか?