]> git.localhorst.tv Git - blank.git/blob - src/hud.hpp
move human I/O related stuff into separate file
[blank.git] / src / hud.hpp
1 #ifndef BLANK_HUD_H_
2 #define BLANK_HUD_H_
3
4 #include "model.hpp"
5 #include "shader.hpp"
6 #include "world.hpp"
7
8 #include <glm/glm.hpp>
9
10
11 namespace blank {
12
13 class HUD {
14
15 public:
16         HUD();
17
18         HUD(const HUD &) = delete;
19         HUD &operator =(const HUD &) = delete;
20
21         void Viewport(float width, float height);
22         void Viewport(float x, float y, float width, float height);
23
24         void Display(const BlockType &);
25
26         void Render(DirectionalLighting &);
27
28 private:
29         Model block;
30         Model::Buffer block_buf;
31         glm::mat4 block_transform;
32         bool block_visible;
33
34         OutlineModel crosshair;
35         glm::mat4 crosshair_transform;
36
37         float near, far;
38         glm::mat4 projection;
39         glm::mat4 view;
40
41 };
42
43 }
44
45 #endif