40 #ifndef GEOGRAM_GFX_GLUP_GLUP_CONTEXT_ES
41 #define GEOGRAM_GFX_GLUP_GLUP_CONTEXT_ES
68 class Context_ES2 :
public Context {
79 ~Context_ES2()
override;
94 const char* profile_name()
const override;
99 void setup()
override;
104 bool primitive_supports_array_mode(
GLUPprimitive prim)
const override;
110 void get_primitive_pseudo_file(
111 std::vector<GLSL::Source>& sources
117 void get_vertex_shader_preamble_pseudo_file(
118 std::vector<GLSL::Source>& sources
124 void get_fragment_shader_preamble_pseudo_file(
125 std::vector<GLSL::Source>& sources
131 void get_toggles_pseudo_file(
132 std::vector<GLSL::Source>& sources
155 void do_update_uniform_buffer()
override;
160 void copy_uniform_state_to_current_program()
override;
165 void update_base_picking_id(GLint new_value)
override;
170 void setup_GLUP_POINTS()
override;
175 void setup_GLUP_LINES()
override;
180 void setup_GLUP_THICK_LINES()
override;
197 void setup_primitive_generic(
198 index_t nb_elements_per_glup_primitive,
205 void setup_GLUP_TRIANGLES()
override;
210 void setup_GLUP_QUADS()
override;
215 void setup_GLUP_TETRAHEDRA()
override;
220 void setup_GLUP_PRISMS()
override;
225 void setup_GLUP_HEXAHEDRA()
override;
230 void setup_GLUP_PYRAMIDS()
override;
235 void setup_GLUP_CONNECTORS()
override;
240 void setup_GLUP_SPHERES()
override;
245 void flush_immediate_buffers()
override;
256 bool cell_by_cell_clipping()
const;
266 bool sliced_cells_clipping()
const;
274 void flush_immediate_buffers_with_cell_by_cell_clipping();
281 void flush_immediate_buffers_with_sliced_cells_clipping();
285 index_t nb_clip_cells_elements_;
288 GLuint clip_cells_elements_VBO_;
289 GLuint clip_cells_VAO_;
291 GLuint sliced_cells_elements_VBO_;
292 GLuint sliced_cells_vertex_attrib_VBO_[4];
293 GLuint sliced_cells_VAO_;
295 double GLSL_version_;
297 bool vertex_id_VBO_bound_;
GLUPprimitive
Symbolic values corresponding to GLUP primitive types.
Internal implementation of GLUP context.
Common include file, providing basic definitions. Should be included before anything else by all head...
byte * pointer
Pointer to unsigned byte(s)
Global Vorpaline namespace.
geo_index_t index_t
The type for storing and manipulating indices.