Camera.h
资源名称:g.rar [点击查看]
上传用户:laitongbao
上传日期:2021-02-20
资源大小:8176k
文件大小:1k
源码类别:

射击游戏

开发平台:

Visual C++

  1. #pragma once
  2. #include "NodeObject.h"
  3. /*
  4.   摄像机类:继承NodeObject
  5. */
  6. class Point;
  7. class Camera : public NodeObject
  8. {
  9. friend class TransitionController;
  10. friend class ShaderController;
  11. friend class FileController;
  12. friend class SceneTree;
  13. friend class BillBoard;
  14. public:
  15. Camera(Camera& cam);
  16. Camera(TCHAR* name,VECTOR3 pos = VECTOR3());
  17.     Camera(TCHAR* name ,bool orthographic,bool taget,VECTOR3 pos = VECTOR3());  //新加的函数
  18. virtual      ~Camera();
  19. void         SetLookAtPoint(Point * p);
  20. void         SetFov(float fov);
  21. void         SetAspect(float aspect);
  22. void         SetWide(float wide);
  23. void         SetPrespectModel(bool orthographic);
  24. void         SetNearPlane(float near);
  25. void         SetFarPlane(float far);
  26. Point* GetLookAtPoint()const{return m_lookAtPoint;};
  27. void  DrawObject(){};           //画虚拟物体(摄相机)
  28. void  PreDraw(){};              //设置视矩阵和投影矩阵
  29. void  CleanUp();
  30. private:
  31. D3DXVECTOR3 m_up;
  32. bool  m_orthographic;
  33. bool  m_target;
  34.     Point *m_lookAtPoint;
  35. float m_fov;//普通透视时视野大小(弧度) 
  36. float m_aspect;//宽/高
  37. float m_wide;//正交透视时摄像机的可视宽度
  38. float m_near;//near View plane
  39. float m_far;//far View plane
  40. };