83 EXPORT
void move_up(
float delta);
100 EXPORT
void move_by(
float x,
float y,
float z);
105 EXPORT
void move_by(glm::vec3 vector);
110 EXPORT
void yaw(
float angle);
115 EXPORT
void roll(
float angle);
120 EXPORT
void pitch(
float angle);
206 EXPORT O_Camera(
const O_Camera& camera);
297 EXPORT IP_Camera(
const IP_Camera& camera);
303 EXPORT IP_Camera(glm::vec3
position,
315 EXPORT IP_Camera(glm::vec3
position,
float far_plane
The far plane of the camera frustum.
void move_forward(float delta)
Move the camera along the forward vector.
void move_by(float x, float y, float z)
Move the camera by the vector (x, y, z)
float height
Viewport height.
glm::vec3 right
The right vector of the camera.
float width
Viewport width.
glm::mat4 view_matrix
The view matrix.
glm::vec3 direction
The direction the camera is pointing.
void pitch(float angle)
Rotate the camera using the right vector as the axis.
glm::vec3 up
The up vector of the camera.
void roll(float angle)
Rotate the camera using the forward vector as the axis.
glm::vec3 position
The camera position.
Camera(glm::vec3 position, glm::vec3 direction, glm::vec3 up)
void move_right(float delta)
Move the camera along the right vector.
float near_plane
The near plane of the camera frustum.
float fovy
The vertical field of view angle of the camera.
void update_view_matrix()
Recalculates the view matrix.
void yaw(float angle)
Rotate the camera using the up vector as the axis.
glm::mat4 projection_matrix
The perspective projection matrix.
void move_up(float delta)
Move the camera along the up vector.
virtual void update_projection_matrix()=0
Recalculates the projection matrix.
std::vector< glm::vec3 > calculate_frustum_points()
Calculates the corner points of the camera's frustum.
std::vector< float > calculate_frustum_distance(glm::vec3 point)
Calculates the distances of a point to all planes of the camera's frustum. Positive values indicate t...
void update_projection_matrix()
Recalculates the projection matrix.
void update_projection_matrix()
Recalculates the projection matrix.
std::vector< glm::vec3 > calculate_frustum_points()
Calculates the corner points of the camera's frustum.
void calculate_bounding_frustum(O_Camera &camera, glm::vec3 direction, float offset)
Sets the camera parameters in such a way as to make the frustum of this camera the bounding box of th...
std::vector< float > calculate_frustum_distance(glm::vec3 point)
Calculates the distances of a point to all planes of the camera's frustum. Positive values indicate t...
Manages perspective cameras.
std::vector< glm::vec3 > calculate_frustum_points()
Calculates the corner points of the camera's frustum.
void update_projection_matrix()
Recalculates the projection matrix.
std::vector< float > calculate_frustum_distance(glm::vec3 point)
Calculates the distances of a point to all planes of the camera's frustum. Positive values indicate t...