40#ifndef GEOGRAM_GFX_GLUP_GLUP_CONTEXT_ES
41#define GEOGRAM_GFX_GLUP_GLUP_CONTEXT_ES
69 class Context_ES2 :
public Context {
80 ~Context_ES2()
override;
85 const char* profile_name()
const override;
90 void setup()
override;
95 bool primitive_supports_array_mode(
GLUPprimitive prim)
const override;
101 void get_primitive_pseudo_file(
102 std::vector<GLSL::Source>& sources
108 void get_vertex_shader_preamble_pseudo_file(
109 std::vector<GLSL::Source>& sources
115 void get_fragment_shader_preamble_pseudo_file(
116 std::vector<GLSL::Source>& sources
122 void get_toggles_pseudo_file(
123 std::vector<GLSL::Source>& sources
146 void do_update_uniform_buffer()
override;
151 void copy_uniform_state_to_current_program()
override;
156 void update_base_picking_id(GLint new_value)
override;
161 void setup_GLUP_POINTS()
override;
166 void setup_GLUP_LINES()
override;
184 void setup_primitive_generic(
185 index_t nb_elements_per_glup_primitive,
192 void setup_GLUP_TRIANGLES()
override;
197 void setup_GLUP_QUADS()
override;
202 void setup_GLUP_TETRAHEDRA()
override;
207 void setup_GLUP_PRISMS()
override;
212 void setup_GLUP_HEXAHEDRA()
override;
217 void setup_GLUP_PYRAMIDS()
override;
222 void setup_GLUP_CONNECTORS()
override;
227 void setup_GLUP_SPHERES()
override;
232 void flush_immediate_buffers()
override;
243 bool cell_by_cell_clipping()
const;
253 bool sliced_cells_clipping()
const;
261 void flush_immediate_buffers_with_cell_by_cell_clipping();
268 void flush_immediate_buffers_with_sliced_cells_clipping();
272 index_t nb_clip_cells_elements_;
275 GLuint clip_cells_elements_VBO_;
276 GLuint clip_cells_VAO_;
278 GLuint sliced_cells_elements_VBO_;
279 GLuint sliced_cells_vertex_attrib_VBO_[4];
280 GLuint sliced_cells_VAO_;
282 double GLSL_version_;
284 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.