]> git.localhorst.tv Git - blank.git/blob - src/app.hpp
begun extracting model class
[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         Camera cam;
40         Model model;
41
42         GLuint vtx_buf;
43         GLuint mvp_handle;
44
45         bool running;
46
47 };
48
49 }
50
51 #endif