gluLookat与gluPerspective参数解析

void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);

这组参数中,

eye表示的是眼睛或者camera的位置;

center是从眼睛往观察方向上的任意一个点,这个点不需要在我们需要的观察平面上;

up是头顶的向量方向。

 

以下参考http://www.cnblogs.com/chengmin/archive/2011/09/12/2174004.html

 

gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)

 

gluPerspective的第一个参数是,fovy,它是一个角度.其实通过fovy和zNear能够计算出裁剪窗口的高度.从而我们也就决定了裁剪窗口的大小了. fovy就是视锥体的上下平面的角度. 裁剪窗口的高度 h = 2 * tan(fovy/2) * zNear。 

gluPerspective的第二个参数就是 aspect了,横纵比(w/h),最好和屏幕的一致(估计说的不准确,也就是视口的横纵比,从而只是等比例缩放而已).因此,这样就把裁剪区域的宽度和高度的比例确定了。 

gluPerspective的第三个和四个参数zNear,zFar是到观察原点的距离(沿着z的负轴方向),因此这两个数应该总数设定成正数.

posted @ 2013-04-04 20:49  qingsun_ny  阅读(457)  评论(0编辑  收藏  举报