文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>CFirstPersonCamera 的使用方法

CFirstPersonCamera 的使用方法

时间:2011-06-09  来源:DoubleSnake

先声明相机:
CFirstPersonCamera      g_Camera;

 
//建立并设置投影矩阵
float fAspectRatio = pBackBufferSurfaceDesc->Width / (FLOAT)pBackBufferSurfaceDesc->Height;
g_Camera.SetProjParams( D3DX_PI/4, fAspectRatio, 0.1f, 10000.0f );
//pd3dDevice->SetTransform( D3DTS_PROJECTION,g_Camera.GetProjMatrix());


在每一帧的动作里面设置观察矩阵:
g_Camera.FrameMove( fElapsedTime );//更新相机的信息
pd3dDevice->SetTransform(D3DTS_VIEW,g_Camera.GetViewMatrix());//设置观察矩阵

然后在消息响应函数里添加相机的消息响应:
g_Camera.HandleMessages( hWnd, uMsg, wParam, lParam ); //在MsgProc函数中添加


需要注意的是在CFirstPersonCamera中已经有了g_pd3dDevice->Present( NULL, NULL, NULL, NULL );这个将后台提交到前台的操作,在自己写渲染函数的时候一定不要再写这个了,不然会出现模型闪动的情况.

//摄像机初始位置

//Set the application initial viewpoint
D3DXVECTOR3 vecEye( 0.0f, 2.0f, -5.0f );
D3DXVECTOR3 vecAt ( 0.0f, 1.0f, 0.0f );
g_Camera.SetViewParams( &vecEye, &vecAt );

// Set the camera speed
g_Camera.SetScalers( 0.01f, 10.0f ); //设置鼠标和键盘移动的快慢

// Constrain the camera to movement within the horizontal plane
g_Camera.SetEnableYAxisMovement( false );//不移动Y轴


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luoya263547560/archive/2009/05/03/4144623.aspx
 

相关阅读 更多 +
排行榜 更多 +
萌趣贪吃蛇

萌趣贪吃蛇

休闲益智 下载
粘液快跑

粘液快跑

休闲益智 下载
火柴人超级战车安卓版

火柴人超级战车安卓版

飞行射击 下载