1 #include <glm/gtc/matrix_transform.hpp>
5 using namespace dragonblocks;
7 mat4 Camera::getViewMatrix() const
9 return lookAt(pos, pos + m_front, m_up);
12 void Camera::toggleMode()
14 m_third_person = ! m_third_person;
17 void Camera::update(double yaw, double pitch, const vec3 &p)
20 pitch = radians(pitch);
22 m_front = normalize(vec3(cos(yaw) * cos(pitch), sin(pitch), sin(yaw) * cos(pitch)));
23 m_right = normalize(cross(m_front, m_world_up));
24 m_up = normalize(cross(m_right, m_front));
29 pos -= m_front * 2.0f;
33 vec3 Camera::up() const
38 vec3 Camera::front() const
43 vec3 Camera::right() const
48 bool Camera::thirdPerson() const
50 return m_third_person;
53 Camera::Camera() : pos(0, 0, 0), m_up(0, 1, 0), m_world_up(0, 1, 0), m_front(0, 0, -1)