]> git.localhorst.tv Git - blank.git/blob - src/app.hpp
c5a5098578c306a951c79d0157af6b7ce15c648b
[blank.git] / src / app.hpp
1 #ifndef BLANK_APP_HPP_
2 #define BLANK_APP_HPP_
3
4 #include <glm/glm.hpp>
5 #include <glm/gtc/matrix_transform.hpp>
6
7 #include "camera.hpp"
8 #include "init.hpp"
9 #include "model.hpp"
10 #include "shader.hpp"
11
12
13 namespace blank {
14
15 class Application {
16
17 public:
18         Application();
19         ~Application();
20
21         Application(const Application &) = delete;
22         Application &operator =(const Application &) = delete;
23
24         void Run();
25         void Loop(int dt);
26
27         void HandleEvents();
28         void Update(int dt);
29         void Render();
30
31 private:
32         InitSDL init_sdl;
33         InitIMG init_img;
34         InitGL init_gl;
35         Window window;
36         GLContext ctx;
37         InitGLEW init_glew;
38         Program program;
39
40         float move_velocity;
41         float pitch_sensitivity;
42         float yaw_sensitivity;
43
44         Camera cam;
45         Model model;
46
47         GLuint vtx_buf;
48         GLuint mvp_handle;
49
50         bool running;
51
52         bool front, back, left, right, up, down;
53
54 };
55
56 }
57
58 #endif