转载地址,感谢这些朋友,讲的很好
perspective(frustum),ortho矩阵推导 https://blog.csdn.net/wangdingqiaoit/article/details/51589825
glLookat 矩阵推导 https://blog.csdn.net/Liuchuang_MFC/article/details/49690913
旋转矩阵绕任意轴推导 https://www.cnblogs.com/Twilights/p/7105847.html
Opengl矩阵变换
我们的目标
透视投影矩阵推导
透视投影中,相机坐标系中点被映射到一个标准立方体中,即规范化设备坐标系中,其中[l,r]映射到[−1,1],[b,t]映射到[-1,1]中,以及[n,f]被映射到[−1,1],如下图所示:
注意到上面的相机坐标系为右手系,而NDC中+z轴向内,为左手系。
第一步:frustum的点投影到近剪切面上
得出P(x, y, z)对应的P'(x’, y’, z’)
x’ = -n *( x/z )
y’ = -n *( y/z )
z’ = -n