9#include <glm/gtc/matrix_transform.hpp>
17class SceneComponent2D;
51 virtual void Initialize();
57 virtual void Update(
float deltaTime);
68 void SetViewportSize(
float width,
float height);
78 glm::mat4 GetProjectionMatrix()
const;
84 void SetPosition(
const glm::vec2& position);
90 void SetRotation(
float angleDegrees);
96 void SetZoom(
float zoom);
107 glm::vec2 GetPosition()
const;
113 float GetRotation()
const;
119 float GetZoom()
const;
126 const glm::mat4& GetWorldView()
const;
129 glm::mat4 ComputeOrthographicMatrix(
130 float left,
float right,
131 float top,
float bottom,
132 float nearPlane,
float farPlane)
const;
Represents a 2D camera with position, rotation, and zoom control.
std::unique_ptr< SceneComponent2D > mSceneComponent
virtual ~Camera2D()=default
Virtual destructor.
Defines a generic application interface for rendering-based programs.