rayzor

annotate src/camera.cc @ 0:2a5340a6eee4

rayzor first commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 05 Apr 2014 08:46:27 +0300
parents
children a826bf0fb169
rev   line source
nuclear@0 1 #include "camera.h"
nuclear@0 2
nuclear@0 3 Camera::Camera()
nuclear@0 4 : pos(0, 0, 10)
nuclear@0 5 {
nuclear@0 6 fov = M_PI;
nuclear@0 7 }
nuclear@0 8
nuclear@0 9 void Camera::set_position(const Vector3 &pos)
nuclear@0 10 {
nuclear@0 11 this->pos = pos;
nuclear@0 12 }
nuclear@0 13
nuclear@0 14 const Vector3 &Camera::get_position() const
nuclear@0 15 {
nuclear@0 16 return pos;
nuclear@0 17 }
nuclear@0 18
nuclear@0 19 void Camera::set_target(const Vector3 &target)
nuclear@0 20 {
nuclear@0 21 this->target = target;
nuclear@0 22 }
nuclear@0 23
nuclear@0 24 const Vector3 &Camera::get_target() const
nuclear@0 25 {
nuclear@0 26 return target;
nuclear@0 27 }
nuclear@0 28
nuclear@0 29 void Camera::set_fov(float fov)
nuclear@0 30 {
nuclear@0 31 this->fov = fov;
nuclear@0 32 }
nuclear@0 33
nuclear@0 34 float Camera::get_fov() const
nuclear@0 35 {
nuclear@0 36 return fov;
nuclear@0 37 }
nuclear@0 38
nuclear@0 39 Matrix4x4 Camera::get_matrix() const
nuclear@0 40 {
nuclear@0 41 Matrix4x4 res;
nuclear@0 42 res.lookat(pos, target, Vector3(0, 1, 0));
nuclear@0 43 return res;
nuclear@0 44 }
nuclear@0 45
nuclear@0 46 Matrix4x4 Camera::get_inv_matrix() const
nuclear@0 47 {
nuclear@0 48 Matrix4x4 res;
nuclear@0 49 return res; // TODO
nuclear@0 50 }