]> git.localhorst.tv Git - blank.git/blob - src/app.hpp
8bafb2368d4f685c7b60f629e5bcd39e6b883fca
[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 Render();
29
30 private:
31         InitSDL init_sdl;
32         InitIMG init_img;
33         InitGL init_gl;
34         Window window;
35         GLContext ctx;
36         InitGLEW init_glew;
37         Program program;
38
39         float pitch_sensitivity;
40         float yaw_sensitivity;
41
42         Camera cam;
43         Model model;
44
45         GLuint vtx_buf;
46         GLuint mvp_handle;
47
48         bool running;
49
50 };
51
52 }
53
54 #endif