SparrowRenderer/src/trackballcamera.h
2016-07-22 17:31:30 +02:00

31 lines
670 B
C++

#ifndef TRACKBALLCAMERA_H
#define TRACKBALLCAMERA_H
#include "camera.h"
#include <glm/vec2.hpp>
#include <glm/vec3.hpp>
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