42 void setViewDirection(glm::vec3 position, glm::vec3 direction, glm::vec3 up = {0.F, -1.F, 0.F});
43 void setViewTarget(
const glm::vec3 position,
const glm::vec3 target,
const glm::vec3 up = {0.F, -1.F, 0.F}) {
setViewDirection(position, target - position, up); }
44 void setViewXYZ(glm::vec3 position, glm::vec3 rotation);
const glm::mat4 & getView() const
Camera & operator=(Camera &&)=default
const glm::mat4 & getInverseView() const
void setViewTarget(const glm::vec3 position, const glm::vec3 target, const glm::vec3 up={0.F, -1.F, 0.F})
void setViewXYZ(glm::vec3 position, glm::vec3 rotation)
glm::mat4 m_inverseViewMatrix
Camera(const Camera &)=delete
Camera & operator=(const Camera &)=delete
void setMoveSpeed(const float moveSpeed)
const glm::mat4 & getProjection() const
Camera(Camera &&)=default
Camera(const float fov, const float near, const float far, const float moveSpeed, const float lookSpeed)
glm::mat4 m_projectionMatrix
float getMoveSpeed() const
float getLookSpeed() const
void setNear(const float near)
void setLookSpeed(const float lookSpeed)
void setPerspectiveProjection(float aspect)
void setViewDirection(glm::vec3 position, glm::vec3 direction, glm::vec3 up={0.F, -1.F, 0.F})
void setOrthographicProjection(float left, float right, float top, float bottom, float near, float far)
void setFov(const float fov)
void setFar(const float far)
static constexpr glm::vec3 DEFAULT_POSITION
static constexpr float DEFAULT_FOV
static constexpr float DEFAULT_LOOK_SPEED
static constexpr float DEFAULT_MOVE_SPEED
static constexpr float DEFAULT_NEAR
static constexpr glm::vec3 DEFAULT_ROTATION
static constexpr float DEFAULT_FAR