32 Camera(
const glm::vec3& initialCameraPosition);
68 void LeftMouseButtonPressed();
75 void LeftMouseButtonReleased();
83 void ComputeCameraFront();
91 void SetPosition(
const glm::vec3& position);
102 void SetRotation(
float rotation) { m_Rotation = rotation; RecalculateViewMatrix(); }
126 void MoveForward(
float amount);
134 void MoveSideways(
float amount);
142 void MoveUp(
float amount);
150 void RotateAboutYAxis(
float amount);
158 void RotateAboutXAxis(
float amount);
175 void RecalculateViewMatrix();
178 void InitializePitchRoll();
181 glm::mat4 m_ProjectionMatrix;
182 glm::mat4 m_ViewMatrix;
184 glm::vec3 m_Position;
185 glm::vec3 m_CameraFront;
186 glm::vec3 m_CameraUp;
187 float m_Rotation = 0.0f;
189 bool m_IsLeftMouseButtonPressed =
false;
190 float m_LastMouseX, m_LastMouseY;
192 const float m_Sensitivity = 0.1f;
194 float m_Pitch = 0.0f;
#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
const glm::vec3 & GetPosition() const
Getter for current position of the Camers.
Definition Camera.h:49
void SetCameraUp(const glm::vec3 &up)
Set the up vector of Camera.
Definition Camera.h:118
const glm::mat4 & GetViewMatirx() const
Getter for ViewMatrix.
Definition Camera.h:172
float GetRotation() const
Getter for current rotation.
Definition Camera.h:57
void SetCameraFront(const glm::vec3 &front)
Set the front vector of Camera.
Definition Camera.h:110
const glm::mat4 & GetProjectionMatrix() const
Getter for ProjectionMatrix.
Definition Camera.h:165
void SetRotation(float rotation)
Sets the current rotation of the Camera.
Definition Camera.h:102