Horizon
face.hpp
1 #pragma once
2 #include <epoxy/gl.h>
3 #include <unordered_map>
4 
5 namespace horizon {
6 class FaceRenderer {
7 public:
8  FaceRenderer(class Canvas3D *c);
9  void realize();
10  void render();
11  void push();
12 
13 private:
14  Canvas3D *ca;
15 
16  GLuint program;
17  GLuint vao;
18  GLuint vbo;
19  GLuint vbo_instance;
20  GLuint ebo;
21 
22  GLuint view_loc;
23  GLuint proj_loc;
24  GLuint cam_normal_loc;
25  GLuint z_top_loc;
26  GLuint z_bottom_loc;
27  GLuint highlight_intensity_loc;
28 };
29 } // namespace horizon
horizon::Canvas3D
Definition: canvas3d.hpp:17
horizon::FaceRenderer
Definition: face.hpp:6