1 #pragma once 2 #include <epoxy/gl.h> 3 4 namespace horizon { 5 class SelectablesRenderer { 6 public: 7 SelectablesRenderer(const class CanvasGL &ca, const class Selectables &sel); 8 void realize(); 9 void render(); 10 void push(); 11 12 private: 13 const CanvasGL &ca; 14 const Selectables &sel; 15 16 GLuint program; 17 GLuint program_arc; 18 GLuint vao; 19 GLuint vbo; 20 GLuint ubo; 21 GLuint ebo; 22 unsigned int n_arc = 0; 23 unsigned int n_box = 0; 24 }; 25 } // namespace horizon 26