HatchitGame
ht_debug_camera.h
1 
15 #pragma once
16 
17 #include <ht_camera.h>
18 #include <ht_math.h>
19 
20 namespace Hatchit {
21 
22  namespace Game {
23 
24  enum CameraControlType
25  {
26  Unity = 0
27  };
28 
29  class HT_API DebugCamera
30  {
31  public:
32  DebugCamera();
33  ~DebugCamera() = default;
34 
35  void Update();
36 
37  const Math::Matrix4 GetView();
38  const Math::Matrix4 GetProjection();
39 
40  private:
41  void LeftMousePress();
42  void RightMousePress();
43  void MiddleMousePress();
44  void MouseScroll();
45 
46  void Move();
47  void Zoom();
48  void Drag();
49  void Rotate();
50  void Orbit();
51  float ShiftPressed(float speed);
52 
53  float m_yaw;
54  float m_pitch;
55  float m_moveSpeed;
56  float m_zoomSpeed;
57  float m_dragSpeed;
58  float m_scrollSpeed;
59  float m_shiftSpeed;
60 
61  Math::Vector3 m_position;
62  Math::Vector3 m_forward;
63  Math::Vector3 m_up;
64  Math::Vector3 m_right;
65  Graphics::Camera m_camera;
66  CameraControlType m_controlType;
67  };
68  }
69 }
Definition: ht_debug_camera.h:29
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_glfwkeyboard.h:21