OpenGl中模拟走动效果

模拟走动效果;
1、相应VK_UP按键消息,并作出如下处理
    if (keys[VK_UP])
    {

     xpos -= (float)sin(heading*piover180) * 0.05f;
     zpos -= (float)cos(heading*piover180) * 0.05f;
     if (walkbiasangle >= 359.0f)
     {
      walkbiasangle = 0.0f;
     }
     else
     {
      walkbiasangle+= 10;
     }
     walkbias = (float)sin(walkbiasangle * piover180)/20.0f;
    }
2、在Draw函数中画图之前作如下处理
 GLfloat xtrans = -xpos;
 GLfloat ztrans = -zpos;
 GLfloat ytrans = -walkbias-0.25f;
 glRotatef(lookupdown,1.0f,0.0f,0.0f);
注:各变量的定义如下:
 const float piover180 = 0.0174532925f;
 float heading;
 float xpos;
 float zpos;

 GLfloat yrot;    // Y Rotation
 GLfloat walkbias = 0;
 GLfloat walkbiasangle = 0; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值