gluPerspective与glLookAt

 函数体:gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)

fovy,这个最难理解,我的理解是,眼睛睁开的角度,即,视角的大小,如果设置为0,相当你闭上眼睛了,所以什么也看不到,如果为180,那么可以认为你的视界很广阔,
aspect,这个好理解,就是实际窗口的纵横比,即x/y
zNear,这个呢,表示你近处,的裁面,
zFar表示远处的裁面,

我们知道,远处的东西看起来要小一些,近处的东西看起来会大一些,这就是透视原理
如下图所示

【1】

【2】

解释下那个”眼睛睁开的角度”是什么意思,
首先假设我们现在距离物体有50个单位距离远的位置,
在眼睛睁开角度设置为45时,请看下图

【3】

我们可以看到,在远处一个球。现在我们将眼睛再张开点看,将“眼睛睁开的角度”设置为178。
(180度表示平角,那时候我们将什么也看不到,眼睛睁太大了,眼大无神)

【4】

反之,我们将眼睛闭小些,改为1度情况就如下图了

【5】

  函数gluLookAt(GLdoble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);

它共接受三对坐标,分别为eye,center,up。
eye—表示我们眼睛在”世界坐标系”中的位置。
center—表示眼睛”看”的那个点的坐标。
up—表示坐标表示观察者本身的方向。这个up则表示我们是正立还是倒立异或某一个角度在看,所看的影像大不相同,故此时需要指明我们现在正立,那么X,Z轴为0,Y轴为正即可,通常将其设置为1,只要表示一个向上的向量(方向)即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值