Blackcomb  prealpha
Engine-ish
FreeMoveCamera.h
1 #ifndef BLACKCOMB_FREEMOVECAMERA_H
2 #define BLACKCOMB_FREEMOVECAMERA_H
3 
4 #include "Camera.h"
5 #include "../input/MouseWatcher.h"
6 
7 namespace blackcomb::entity {
11  class FreeMoveCamera : public Camera {
12  public:
13  void loadViewMatrix(renderer::Shader& shader) override;
14  void processInput(base::Window& window, float deltaTime);
15  float speed = 5.0f;
16  private:
17  glm::vec3 front = glm::vec3(0.0f, 0.0f, -1.0f);
18  glm::vec3 up = glm::vec3(0.0f, 1.0f, 0.0f);
19  };
20 }
21 
22 #endif //BLACKCOMB_FREEMOVECAMERA_H
A camera that can be used to look around a scene freely.
Definition: FreeMoveCamera.h:11
An entity that can be used as a camera.
Definition: Camera.h:13
Loads and stores shaders.
Definition: Shader.h:42
void processInput(base::Window &window, float deltaTime)
Process input and move the camera accordingly.
Definition: FreeMoveCamera.cpp:18
Object-oriented wrapper for GLFW's window functions.
Definition: Window.h:17
void loadViewMatrix(renderer::Shader &shader) override
Generate a view matrix and load it into a shader.
Definition: FreeMoveCamera.cpp:6
float speed
The speed at which the camera moves.
Definition: FreeMoveCamera.h:15
Definition: BaseEntity.h:7