11#include <glm/gtc/matrix_transform.hpp>
26 Camera(
const glm::vec3 position,
const glm::vec3 rotation,
const glm::vec3 direction,
79 void move(
const glm::vec3 &direction,
const float deltaTime)
90 void rotate(
const float yawOffset,
const float pitchOffset,
const float deltaTime)
118 const float pitch = glm::radians(
m_rotation.x);
const glm::vec3 & getDirection() const
const float & getLookSpeed() const
const glm::vec3 & getRotation() const
Camera & operator=(const Camera &)=delete
Camera(const glm::vec3 position, const glm::vec3 rotation, const glm::vec3 direction, const float moveSpeed=CAMERA::MOVE_SPEED, const float lookSpeed=CAMERA::LOOK_SPEED, const float fov=CAMERA::FOV, const float nearPlane=CAMERA::NEAR_PLANE, const float farPlane=CAMERA::FAR_PLANE)
const float & getFov() const
void setMoveSpeed(const float speed)
void rotate(const float yawOffset, const float pitchOffset, const float deltaTime)
Rotate the camera by given yaw and pitch offsets.
glm::mat4 getViewMatrix() const
void setFar(const float farPlane)
const std::string & getName() const
const float & getFar() const
void setPosition(const glm::vec3 &position)
void setNear(const float nearPlane)
const float & getMoveSpeed() const
void move(const glm::vec3 &direction, const float deltaTime)
Move the camera in a given direction.
glm::mat4 getProjectionMatrix(const float aspectRatio) const
glm::mat4 getViewProjection(const float aspectRatio) const
void setRotation(const glm::vec3 &rotation)
void setName(const std::string &name)
void setFov(const float fov)
const float & getNear() const
void setDirection(const glm::vec3 &direction)
void updateDirectionFromRotation()
Camera(const Camera &)=delete
void setLookSpeed(const float speed)
Camera & operator=(Camera &&)=delete
const glm::vec3 & getPosition() const
This file contains common constants used across the engine.
constexpr auto NEAR_PLANE
constexpr auto MOVE_SPEED
constexpr auto LOOK_SPEED