利用Opengl实现类似于角色漫游的场景

这是图形学第3次练习,利用gluLookAt()函数实现视点跟踪。

我绘制了一个模拟地球,观察点确定在地球的“后方”,每次变换方向时,观察点也随之变换。

user_eye[0] = pos[0] + ((float)sin(rad))*5;      

user_eye[2] = pos[2] + ((float)cos(rad))*5;

其中,user_eye[]是观察点,pos是地球的位置,也是看的位置,通俗理解就是眼睛一直盯着地球。

 

根据旋转的角度和速度来确定在Z轴上移动位置:

static GLfloat PI = 3.1415926;

rad = float(PI*(angle_Y)/180.0f);         // 计算弧度值

pos[2] += (float)cos(rad) * moveSpeed;         

pos[0] += (float)sin(rad) * moveSpeed; 

其中 angle_Y是控制地球左右旋转的角度,moveSpeed是每次移动的步长

 

最后

gluLookAt(user_eye[0] , user_eye[1], user_eye[2],     
  pos[0], pos[1], pos[2],           
  0.0f, 1.0f, 0.0f);

 

具体代码下载请到:

 http://download.csdn.net/source/1178486

下载~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值