7 Camera::Camera(glm::vec3 position_, glm::vec3 up_,
float yaw_,
float pitch_)
27 return delta_x * delta_x + delta_y * delta_y + delta_z * delta_z;
32 glm::vec3 new_pos(x, y, z);
108 front.x = -sin(glm::radians(
yaw)) * cos(glm::radians(
pitch));
114 const glm::vec3 right = glm::normalize(glm::cross(
front,
worldUp));
115 const glm::vec3 up = glm::normalize(glm::cross(right,
front));
126 frustum[0] = clip_matrix[3] - clip_matrix[0];
127 frustum[1] = clip_matrix[3] + clip_matrix[0];
128 frustum[2] = clip_matrix[3] + clip_matrix[1];
129 frustum[3] = clip_matrix[3] - clip_matrix[1];
130 frustum[4] = clip_matrix[3] + clip_matrix[2];
131 frustum[5] = clip_matrix[3] - clip_matrix[2];
void ResetHasChangedOrientation()
void SetPosition(const float x, const float y, const float z)
void UpdateCameraViewMatrix()
bool GetHasChangedPosition() const
const std::array< glm::vec4, 6 > & GetFrustumPlanes() const
bool has_changed_position
bool has_changed_orientation
const glm::vec3 & GetFront() const
void ComputeFrustumPlanes()
Camera(glm::vec3 position_=glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3 up_=glm::vec3(0.0f, 1.0f, 0.0f), float yaw_=0.0f, float pitch_=0.0f)
void SetRotation(const float pitch_, const float yaw_)
const glm::vec3 & GetPosition() const
void ResetHasChangedPosition()
const glm::mat4 & GetViewMatrix() const
glm::mat4 projection_matrix
float GetDistance(const float x_, const float y_, const float z_) const
std::array< glm::vec4, 6 > frustum
void SetProjection(const glm::mat4 &projection)
bool GetHasChangedOrientation() const