使用函数
void gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
我能够根据一定的视场Angular 设置透视投影矩阵。给定一个投影矩阵,如何在OpenGL中获得视场Angular ?
wmomyfyw1#
对于Windows和DirectX,它是:
3z6pesqy2#
查看gluPersperctive
在矩阵中,您可以看到M[1][1] = f和f=cotang(fov/2) = 1 / tan(fov/2)
M[1][1] = f
f=cotang(fov/2) = 1 / tan(fov/2)
所以只需选择[1][1]处的元素,然后选择fov = 2·acotan(1/f)
fov = 2·acotan(1/f)
2条答案
按热度按时间wmomyfyw1#
对于Windows和DirectX,它是:
3z6pesqy2#
查看gluPersperctive
在矩阵中,您可以看到
M[1][1] = f
和f=cotang(fov/2) = 1 / tan(fov/2)
所以只需选择[1][1]处的元素,然后选择
fov = 2·acotan(1/f)