40 #ifndef GEOGRAM_GFX_GLUP_GLUP_CONTEXT_GLSL
41 #define GEOGRAM_GFX_GLUP_GLUP_CONTEXT_GLSL
67 class Context_GLSL150 :
public Context {
78 const char* profile_name()
const override;
83 void setup()
override;
89 void setup_GLUP_POINTS()
override;
94 void setup_GLUP_LINES()
override;
99 void setup_GLUP_THICK_LINES()
override;
104 void setup_GLUP_TRIANGLES()
override;
109 void setup_GLUP_QUADS()
override;
114 void setup_GLUP_TETRAHEDRA()
override;
119 void setup_GLUP_PRISMS()
override;
124 void setup_GLUP_HEXAHEDRA()
override;
129 void setup_GLUP_PYRAMIDS()
override;
134 void setup_GLUP_CONNECTORS()
override;
139 void setup_GLUP_SPHERES()
override;
144 void get_vertex_shader_preamble_pseudo_file(
145 std::vector<GLSL::Source>& sources
151 void get_fragment_shader_preamble_pseudo_file(
152 std::vector<GLSL::Source>& sources
158 void get_geometry_shader_preamble_pseudo_file(
159 std::vector<GLSL::Source>& sources
165 void get_primitive_pseudo_file(
166 std::vector<GLSL::Source>& sources
174 virtual void get_geometry_shader_layout(
175 std::vector<GLSL::Source>& sources
189 class Context_GLSL440 :
public Context_GLSL150 {
200 const char* profile_name()
const override;
206 void setup_GLUP_HEXAHEDRA()
override;
211 void setup_GLUP_PYRAMIDS()
override;
216 void get_vertex_shader_preamble_pseudo_file(
217 std::vector<GLSL::Source>& sources
223 void get_fragment_shader_preamble_pseudo_file(
224 std::vector<GLSL::Source>& sources
230 void get_geometry_shader_preamble_pseudo_file(
231 std::vector<GLSL::Source>& sources
237 void get_tess_evaluation_shader_preamble_pseudo_file(
238 std::vector<GLSL::Source>& sources
244 void get_primitive_pseudo_file(
245 std::vector<GLSL::Source>& sources
251 void get_geometry_shader_layout(
252 std::vector<GLSL::Source>& sources
255 bool use_tessellation_;
Internal implementation of GLUP context.
Common include file, providing basic definitions. Should be included before anything else by all head...
Global Vorpaline namespace.