要从投影矩阵中获取得到near far,长宽比,视场角等参数,就需要先知道投影矩阵是如何生成的,请参考这2篇文章,是投影矩阵生成的方法:
http://www.songho.ca/opengl/gl_projectionmatrix.html
https://zhuanlan.zhihu.com/p/73034007;中文版
看了这2篇文章之后,基本就了解投影矩阵的生成方法了,那我们就可以反向获取near far,长宽比,视场角等参数。

r = right, l = left, b = bottom, t = top, n = near, f = far,投影矩阵:

投影矩阵是一个4*4的矩阵,一定要注意你的矩阵是行优先矩阵还是列优先矩阵,上图为行优先矩阵,则视场角求得:
a = w / h
ta = tan( fov_y / 2 );
2 * n / (r-l) = 1 / (ta * a)
2 * n / (t-b) = 1 / ta
(r+l)/(r-l) = 0
(t+b)/(t-b) = 0
具体的求解过程我就不追


159

被折叠的 条评论
为什么被折叠?



