#ifndef CAMERA_H #define CAMERA_H #include "vector.h" namespace vb01{ class Camera{ public: Camera(); ~Camera(); void update(); void setPosition(Vector3 position){this->position = position;} void lookAt(Vector3, Vector3 = Vector3::VEC_J); inline Vector3 getPosition(){return position;} inline Vector3 getDirection(){return direction;} inline Vector3 getLeft(){return left;} inline Vector3 getUp(){return up;} inline void setNearPlane(float near){this->nearPlane = near;} inline void setFarPlane(float far){this->farPlane = far;} inline void setFov(float fov){this->fov = fov;} inline float getFov(){return fov;} inline float getNearPlane(){return nearPlane;} inline float getFarPlane(){return farPlane;} private: Vector3 position = Vector3::VEC_ZERO, direction = Vector3(0,0,-1), left = Vector3::VEC_I, up = Vector3::VEC_J; float fov = 45, nearPlane = .1, farPlane = 100; }; } #endif