替代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

回到顶部