18 Camera(
const glm::vec3& position,
const glm::vec3& target,
const glm::vec3& up,
int width,
int height,
float nearPlane,
float farPlane,
float fov);
24 void setPerspective(
int width,
int height,
float nearPlane,
float farPlane,
float fov);
29 void setWindowSize(
int width,
int height);
30 void setPosition(
const glm::vec3& position);
31 void setTarget(
const glm::vec3& target);
32 void setUp(
const glm::vec3& up);
33 void setView(
const glm::vec3& position,
const glm::vec3& target,
const glm::vec3& up);
36 const glm::vec3& getPosition()
const;
37 const glm::vec3& getTarget()
const;
38 const glm::vec3& getUp()
const;
40 const glm::mat4& getView()
const;
41 const glm::mat4& getInverseView()
const;
42 const glm::mat4& getPerspective()
const;
47 const glm::mat4&
getVP()
const;
54 float getNearPlane()
const;
55 float getFarPlane()
const;
62 int getHeight()
const;
73 void getMouseRay(
float mouseX,
float mouseY, glm::vec3& rayOrigin, glm::vec3& rayDirection);
82 float _nearPlane, _farPlane;
91 glm::mat4 _perspective;
94 bool _changedView, _changedPerspective;