From 25d5f5bc11fcecb47f9b2e6752be8ea561770d8e Mon Sep 17 00:00:00 2001 From: selim mustafaev Date: Sun, 26 Jul 2015 21:04:22 +0300 Subject: [PATCH] add class for camera (just stub for now) --- src/Camera.cpp | 20 ++++++++++++++++++++ src/Camera.h | 23 +++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/Camera.cpp create mode 100644 src/Camera.h diff --git a/src/Camera.cpp b/src/Camera.cpp new file mode 100644 index 0000000..265bfad --- /dev/null +++ b/src/Camera.cpp @@ -0,0 +1,20 @@ +#include "Camera.h" +#include + +Camera::Camera() { + glm::vec3 eye(0.0f, 0.0f, 4.0f), at(0.0f, 0.0f, 0.0f), up(0.0f, 1.0f, 0.0f); + _view = glm::lookAt(eye, at, up); + _projection = glm::perspective(45.0f, 1.0f, 2.0f, -2.0f); +} + +Camera *Camera::instance() { + static Camera camera; + return &camera; +} + +void Camera::storeUniformVars() { +// GLint view = glGetUniformLocation(program, "mView"); +// glUniformMatrix4fv(view, 1, GL_FALSE, glm::value_ptr(mView)); +// GLint projection = glGetUniformLocation(program, "mProjection"); +// glUniformMatrix4fv(projection, 1, GL_FALSE, glm::value_ptr(mProjection)); +} diff --git a/src/Camera.h b/src/Camera.h new file mode 100644 index 0000000..4b7550d --- /dev/null +++ b/src/Camera.h @@ -0,0 +1,23 @@ +#ifndef GLTEST_CAMERA_H +#define GLTEST_CAMERA_H + +#include +#include + +class Camera { +private: + glm::mat4 _view; + glm::mat4 _projection; + +private: + Camera(); + Camera(Camera&) = delete; + void operator=(Camera&) = delete; + void storeUniformVars(); + +public: + static Camera* instance(); +}; + + +#endif //GLTEST_CAMERA_H