gluperspective和glFrustum函数的比较



我参加了CSDN博客之星评选,如果在过去的一段时间里我的博客对你有所帮助,在这里希望能投上您宝贵的一票,每天都可以投一次: http://vote.blog.csdn.net/blogstar2014/selection?username=kupe87826#content
一、函数比较
gluperspective和glFrustum函数的函数原型如下:

void glFrustumf(GLfloat left,  GLfloat right,  GLfloat bottom,  GLfloat top,  GLfloat near,  GLfloat far);
void gluPerspective(GLdouble fovy, //角度
GLdouble aspect,//视景体的宽高比
GLdouble zNear,//沿z轴方向的两裁面之间的距离的近处
GLdouble zFar //沿z轴方向的两裁面之间的距离的远处
)

利用 glFrustumf实现的_gluPerspective函数代码如下:
static void _gluPerspective(GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloat zFar)
{
    GLfloat top = zNear * ((GLfloat) tan(fovy * PI / 360.0));
    GLfloat bottom = -top;
    GLfloat left = bottom * aspect;
    GLfloat right = top * aspect;
    glFrustumf(left, right, bottom, top, zNear, zFar);
}

二、思考
两个函数实现了一个视景体,该 视景体应与创建窗口的宽高一致,即透过窗口观察世界。



你可能感兴趣的:(gluperspective和glFrustum函数的比较)