替代gluPerspective(与glFrustrum)
如何将gluPerspective函数转换为glFrustum?我尝试过使用这个公式,但没有运气,因为它没有像gluPerspective一样产生相同的图像。替代gluPerspective(与glFrustrum)
顶部= TAN(FOV * 3.14159/360.0)*邻近 底部= -top
左=方面*底部 右=方面*顶部
我似乎无法正确转换我的视野。比如说,如果我的FOV是45,那么Frustum呼叫中的“顶级”参数是什么?
回答:
在这里,我们去 - 你可以用下面的方法为更换gluPerspective
的:
void perspectiveGL(GLdouble fovY, GLdouble aspect, GLdouble zNear, GLdouble zFar) {
const GLdouble pi = 3.1415926535897932384626433832795;
GLdouble fW, fH;
//fH = tan((fovY/2)/180 * pi) * zNear;
fH = tan(fovY/360 * pi) * zNear;
fW = fH * aspect;
glFrustum(-fW, fW, -fH, fH, zNear, zFar);
}
你可以找到的代码nehe页面上的一些更多的解释。
以上是 替代gluPerspective(与glFrustrum) 的全部内容, 来源链接: utcz.com/qa/259846.html