21 static_cast<float>(
mApp.GetScreenSettings().height);
92 static_cast<float>(
mApp.GetScreenSettings().height);
glm::vec3 GetForward() const
Gets the camera's forward direction vector.
const glm::mat4 & ViewMatrix() const
Gets the camera view matrix.
glm::quat GetRotationQuat() const
Gets the camera rotation as a quaternion.
virtual void Initialize()
Initializes camera parameters and matrices.
const glm::mat4 & ProjectionMatrix() const
Gets the camera projection matrix.
void SetRotation(const glm::quat &rotation)
Sets the camera rotation via quaternion.
glm::vec3 GetPosition() const
Gets the camera position.
static const float sDefaultFarPlaneDistance
glm::vec3 GetUp() const
Gets the camera's up direction vector.
glm::vec3 GetRight() const
Gets the camera's right direction vector.
static const float sDefaultFieldOfView
void SetPosition(const glm::vec3 &position)
Sets the camera position in world space.
std::unique_ptr< SceneComponent > mSceneComponent
glm::mat4 ViewProjectionMatrix() const
Gets the combined view-projection matrix.
glm::mat4 mProjectionMatrix
static const float sDefaultNearPlaneDistance
void Reset()
Resets the camera to the default position and rotation.
Camera(IApplication &app)
Constructs a camera for the given application context.
void UpdateProjectionMatrix()
Updates the camera's projection matrix (based on FOV, aspect, near/far).
virtual void Update(float deltaTime)
Updates camera logic, recalculates view/projection matrices as needed.
glm::vec3 GetRotation() const
Gets the camera rotation as Euler angles (degrees).
void UpdateViewMatrix()
Updates the camera's view matrix (based on position/orientation).
Defines a generic application interface for rendering-based programs.
Represents a 3D transformable scene component with position, rotation, and scale.