LiFeng_Camera.h
上传用户:dfjhuyju
上传日期:2013-03-13
资源大小:11035k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. #include "Vector3.h"
  2. class LiFeng_Camera 
  3. {
  4. public:
  5. LiFeng_Camera();
  6. Init(HWND wnd);
  7. void PositionCamera(float positionX, float positionY, float positionZ,
  8.       float viewX,     float viewY,     float viewZ,
  9. float upVectorX, float upVectorY, float upVectorZ);
  10. void RotateView(float angle, float X, float Y, float Z);
  11. void SetViewByMouse(int w,int h,BOOL rol); 
  12. void RotateAroundPoint(CVector3 vCenter, float X, float Y, float Z);
  13. void StrafeCamera(float speed);
  14. void MoveCamera(float speed);
  15. void CalculateHorizonVec();
  16. void CalculateVerticalVec();
  17. void CheckForMovement(float speed);
  18. void Update(int w,int h,float speed);
  19. void Look();
  20. CVector3 GetEyePosition(){return m_vPosition;}
  21. CVector3 GetViewPosition(){return m_vView;}
  22. CVector3 GetUpVector(){return m_vUpVector;}
  23. CVector3 GetStrafe(){return m_vStrafe;}
  24. CVector3 GetVerticalVector(){return VerticalVector;}
  25. CVector3 GetViewDerection(){return ViewDerection;}
  26. void SetEyePosition(float x, float y, float z)
  27. { m_vPosition.x = x; m_vPosition.y = y;m_vPosition.z = z; }
  28. public:
  29. HWND hwnd;
  30. CVector3 m_vPosition;
  31. CVector3 m_vView;
  32. CVector3 m_vUpVector;
  33. CVector3 m_vStrafe;
  34. CVector3 VerticalVector;
  35. CVector3 ViewDerection;
  36. BOOL m_Role;
  37. BOOL Role_Flag;
  38. };