Camera.hpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Copyright (C) 2018 Ortega Froysa, Nicolás <nortega@themusicinnoise.net> All rights reserved.
  3. * Author: Ortega Froysa, Nicolás <nortega@themusicinnoise.net>
  4. *
  5. * This software is provided 'as-is', without any express or implied
  6. * warranty. In no event will the authors be held liable for any damages
  7. * arising from the use of this software.
  8. *
  9. * Permission is granted to anyone to use this software for any purpose,
  10. * including commercial applications, and to alter it and redistribute it
  11. * freely, subject to the following restrictions:
  12. *
  13. * 1. The origin of this software must not be misrepresented; you must not
  14. * claim that you wrote the original software. If you use this software
  15. * in a product, an acknowledgment in the product documentation would be
  16. * appreciated but is not required.
  17. *
  18. * 2. Altered source versions must be plainly marked as such, and must not be
  19. * misrepresented as being the original software.
  20. *
  21. * 3. This notice may not be removed or altered from any source
  22. * distribution.
  23. */
  24. #pragma once
  25. #include <GL/gl.h>
  26. #include <tuple>
  27. #include <glm/gtc/matrix_transform.hpp>
  28. class Camera {
  29. public:
  30. Camera();
  31. inline glm::vec3 get_pos() {
  32. return pos;
  33. }
  34. inline void setPosition(glm::vec3 _pos) {
  35. this->pos = _pos;
  36. }
  37. private:
  38. glm::vec3 pos;
  39. float yaw;
  40. float angle;
  41. float dist; // distance from origin
  42. };