nuclear@0: #include "camera.h" nuclear@0: nuclear@0: Camera::Camera() nuclear@0: : pos(0, 0, 10) nuclear@0: { nuclear@0: fov = M_PI; nuclear@0: } nuclear@0: nuclear@0: void Camera::set_position(const Vector3 &pos) nuclear@0: { nuclear@0: this->pos = pos; nuclear@0: } nuclear@0: nuclear@0: const Vector3 &Camera::get_position() const nuclear@0: { nuclear@0: return pos; nuclear@0: } nuclear@0: nuclear@0: void Camera::set_target(const Vector3 &target) nuclear@0: { nuclear@0: this->target = target; nuclear@0: } nuclear@0: nuclear@0: const Vector3 &Camera::get_target() const nuclear@0: { nuclear@0: return target; nuclear@0: } nuclear@0: nuclear@0: void Camera::set_fov(float fov) nuclear@0: { nuclear@0: this->fov = fov; nuclear@0: } nuclear@0: nuclear@0: float Camera::get_fov() const nuclear@0: { nuclear@0: return fov; nuclear@0: } nuclear@0: nuclear@0: Matrix4x4 Camera::get_matrix() const nuclear@0: { nuclear@0: Matrix4x4 res; nuclear@0: res.lookat(pos, target, Vector3(0, 1, 0)); nuclear@0: return res; nuclear@0: } nuclear@0: nuclear@0: Matrix4x4 Camera::get_inv_matrix() const nuclear@0: { nuclear@0: Matrix4x4 res; nuclear@0: return res; // TODO nuclear@0: }