30 Camera(
const glm::vec3& initialCameraPosition);
44 virtual void OnUpdate(
float deltaTime);
73 void LeftMouseButtonPressed();
80 void LeftMouseButtonReleased();
88 void ComputeCameraFront();
96 void SetPosition(
const glm::vec3& position);
107 void SetRotation(
float rotation) { m_Rotation = rotation; RecalculateViewMatrix(); }
131 void MoveForward(
float amount);
139 void MoveSideways(
float amount);
147 void MoveUp(
float amount);
155 void RotateAboutYAxis(
float amount);
163 void RotateAboutXAxis(
float amount);
187 void RecalculateViewMatrix();
190 void InitializePitchRoll();
193 glm::mat4 m_ProjectionMatrix;
194 glm::mat4 m_ViewMatrix;
196 glm::vec3 m_Position;
197 glm::vec3 m_CameraFront;
198 glm::vec3 m_CameraUp;
199 float m_Rotation = 0.0f;
201 bool m_IsLeftMouseButtonPressed =
false;
202 float m_LastMouseX, m_LastMouseY;
204 const float m_Sensitivity = 0.1f;
206 float m_Pitch = 0.0f;
209 std::shared_ptr<class UniformBufferObject> m_ViewProjectionUBO;
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
Camera(const glm::vec3 &initialCameraPosition)
Default constructor.
Definition Camera.cpp:8
virtual void OnUpdate(float deltaTime)
A hook into the game loop for updating camera position and orientation in the level perhaps.
Definition Camera.cpp:34
const glm::vec3 & GetPosition() const
Getter for current position of the Camers.
Definition Camera.h:54
void SetCameraUp(const glm::vec3 &up)
Set the up vector of Camera.
Definition Camera.h:123
const glm::mat4 & GetViewMatirx() const
Getter for ViewMatrix.
Definition Camera.h:177
float GetRotation() const
Getter for current rotation.
Definition Camera.h:62
std::shared_ptr< class UniformBufferObject > & GetViewProjectionUBO()
Getter for ViewProjection UBO.
Definition Camera.h:184
void SetCameraFront(const glm::vec3 &front)
Set the front vector of Camera.
Definition Camera.h:115
const glm::mat4 & GetProjectionMatrix() const
Getter for ProjectionMatrix.
Definition Camera.h:170
void SetRotation(float rotation)
Sets the current rotation of the Camera.
Definition Camera.h:107