sKit  0.0.9
camera.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <SDL3/SDL.h>
4 
5 #include <glm/mat4x4.hpp>
6 #include <glm/vec3.hpp>
7 
8 namespace sKit {
9 
10 class Camera {
11  public:
12  Camera() = default;
13  Camera(float width, float height);
14 
15  auto getProjectionMatrix() -> glm::mat4;
16  auto getViewMatrix() -> glm::mat4;
17  auto getPos() -> glm::vec3;
18  auto setPos(glm::vec3 pos) -> void;
19  auto update(SDL_Event *event) -> void;
20 
21  private:
23  float fov_ = 35.f;
24  float near_ = 0.1f;
25  float far_ = 100.0f;
26  glm::vec2 lastMousePos_ = {0.f, 0.f};
27  glm::vec3 pos_ = {0.f, 0.f, 10.f};
28  glm::vec3 up_ = {0.f, 1.f, 0.f};
29  glm::vec3 viewOrigin_ = {0.f, 0.f, 0.f};
30  glm::mat4 projectionMatrix_ = glm::mat4(1.f);
31  glm::mat4 viewMatrix_ = glm::mat4(1.f);
32 };
33 
34 } // namespace sKit
sKit::Camera
Definition: camera.hpp:10
sKit::Camera::Camera
Camera()=default
sKit::Camera::update
auto update(SDL_Event *event) -> void
Definition: camera.cpp:26
sKit::Camera::setPos
auto setPos(glm::vec3 pos) -> void
Definition: camera.cpp:21
sKit::Camera::getProjectionMatrix
auto getProjectionMatrix() -> glm::mat4
Definition: camera.cpp:13
sKit::Camera::getPos
auto getPos() -> glm::vec3
Definition: camera.cpp:19
sKit
Definition: camera.hpp:8
sKit::Camera::getViewMatrix
auto getViewMatrix() -> glm::mat4
Definition: camera.cpp:17