diff options
Diffstat (limited to 'camera.cpp')
-rw-r--r-- | camera.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/camera.cpp b/camera.cpp new file mode 100644 index 0000000..59a604e --- /dev/null +++ b/camera.cpp @@ -0,0 +1,25 @@ +#include "camera.hpp" + +void Camera::init(float vfov, const v3f& f, const v3f& p) { + fov = vfov; + forward = f; + position = p; + near = 0.1f; + far = 1000.0f; + asp = 1.0f; +} + +void Camera::update() { + v3f up(0.0f, 1.0f, 0.0f); + view = m4f::lookat(position, position + forward, up); + proj = m4f::pers(fov, asp, near, far); +} + +const m4f& Camera::get_view() const { + return view; +} + +const m4f& Camera::get_proj() const { + return proj; +} + |