zfxCamera.h
上传用户:junlon
上传日期:2022-01-05
资源大小:39075k
文件大小:1k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. //--------------------------------------------------------------------------------------
  2. // 文件: zfxCamera.h, 作者:曾凡喜
  3. //
  4. // 封装了照相机类 ,构造时默认视点是(0, 0, 0),默认视见方向为(0, 0, 1)
  5. //
  6. // 该类封装了照相机的视口矩阵,没封装照相机的投影矩阵
  7. //
  8. // 版权归作者所有,不得用于商业用途
  9. //--------------------------------------------------------------------------------------
  10. #pragma once
  11. #ifndef __ZFXCAMERA__H__INCLUDED__
  12. #define __ZFXCAMERA__H__INCLUDED__
  13. class CZFXCamera{
  14. public:
  15. CZFXCamera();
  16. ~CZFXCamera();
  17. public:
  18. void GetViewMatrix(D3DXMATRIX* pMatView);
  19. // 改变摄像机状态的三个函数
  20. void Walk(float x, float z);
  21. void Pitch(float fAngle);// 调用该函数改变相机的俯仰角
  22. void Yaw(float fYaw);    // 调用该函数改变相机的偏航角
  23. void GetLookVec(D3DXVECTOR3 *lookAtVec);
  24. float GetPosX()  { return m_x; }
  25. float GetPosY()  { return m_y; }
  26. float GetPosZ()  { return m_z; }
  27. void SetPosX(float x);
  28. void SetPosY(float y);
  29. void SetPosZ(float z);
  30. protected:
  31. float m_x, m_y, m_z;   //摄像机位置
  32. float m_pitchAngle;//俯仰角
  33. float m_yawAngle;  //偏航角
  34. };
  35. #endif  //__ZFXCAMERA__H__INCLUDED__