diff options
Diffstat (limited to 'include/ThirdPersonCamera.hpp')
-rw-r--r-- | include/ThirdPersonCamera.hpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/ThirdPersonCamera.hpp b/include/ThirdPersonCamera.hpp new file mode 100644 index 0000000..00a22a4 --- /dev/null +++ b/include/ThirdPersonCamera.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include <glm/glm.hpp> + +namespace amalgine { + class ThirdPersonCamera { + public: + ThirdPersonCamera(); + + void zoom(float distance); + void rotate_horizontal(float radians); + void rotate_vertical(float radians); + void set_target_position(const glm::vec3 &target_pos); + glm::mat4 get_matrix() const; + glm::vec3 get_forward_vector() const; + glm::vec3 get_right_vector() const; + private: + glm::vec3 target_pos; + float camera_distance; + float angle_horizontal; + float angle_vertical; + }; +}
\ No newline at end of file |