游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1393|回复: 1

不显示删除回复显示所有回复显示星级回复显示得分回复

[复制链接]

11

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2010-4-2 11:05:00 | 显示全部楼层 |阅读模式
glClearColor(0.0f,0.0f,0.8f,0.0f); //设置刷新背景色
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //刷新背景
glLoadIdentity();  //重置当前视图模型观察矩阵
   m_baspic->SeeScene();    //移动视点
   m_baspic->picter(atof(str));
   m_baspic->tietu();

…………………………………………

BOOL baspic::SeeScene()
{
float speed=50.2f; //步长
if(KEY_DOWN(VK_SHIFT)) speed=speed*4; //按shift时的加速
if(KEY_DOWN(VK_LEFT))  g_Angle-=speed; //左转,方位角-
if(KEY_DOWN(VK_RIGHT)) g_Angle+=speed; //右转,方位角+
rad_xz=float(3.13149*g_Angle/180.0f); //计算机左右旋转角度

if(KEY_DOWN(33)) g_elev+=speed; //page UP键--
if(KEY_DOWN(34)) g_elev-=speed; //page down键
if(g_elev<-360)  g_elev=-360;   //仰俯角
if(g_elev> 360)  g_elev= 360;   //仰俯角
if(KEY_DOWN(VK_UP))  //前进--
{
  g_eye[2]+=(float)sin(rad_xz)*speed;  //视点的Z分量
  g_eye[0]+=(float)cos(rad_xz)*speed;  //视点的X分量
}
if(KEY_DOWN(VK_DOWN))  //后退
{
  g_eye[2]-=(float)sin(rad_xz)*speed;  //视点的Z分量
  g_eye[0]-=(float)cos(rad_xz)*speed;  //视点的X分量
}
   
g_eye[1]=2.8;//设置摄像机对地位置高

g_look[0]=(float)(g_eye[0]+100*cos(rad_xz));   // 目标点x分量
g_look[2]=(float)(g_eye[2]+100*sin(rad_xz));   // 目标点Z分量
g_look[1]=g_eye[1]+g_elev;                 // 目标点Y分量

gluLookAt(g_eye[0],g_eye[1],g_eye[2], // 视点
g_look[0],g_look[1],g_look[2],        // 目标点
  0.0,1.0,0.0);                         //视点方向
  

return TRUE;

}


11

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2010-4-2 21:02:00 | 显示全部楼层

Re: 不显示删除回复显示所有回复显示星级回复显示得分回

找到原因了,后面有个glLoadIdentity()函数,导致回到了原点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-10 10:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表