#ifndef TRACKBALLCAMERA_H #define TRACKBALLCAMERA_H #include "camera.h" #include #include class TrackBallCamera : public BasicCamera { private: // camera position glm::vec3 m_center; glm::vec3 m_direction; float m_dist; void computeView(); public: TrackBallCamera(float myFov = 70.f, float myNear = 0.1f, float myFar = 1000.f); void rotateCamera(float dx, float dy); void moveCamera(float dx, float dy); void moveCamera(const glm::vec3 &diff); void lookAt(const glm::vec3 &pos); void zoom(int nbScrolls); void reset(); glm::vec3 getDefaultPxInfo(); }; #endif // TRACKBALLCAMERA_H