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_TRIANGLES()
override;
104 void setup_GLUP_QUADS()
override;
109 void setup_GLUP_TETRAHEDRA()
override;
114 void setup_GLUP_PRISMS()
override;
119 void setup_GLUP_HEXAHEDRA()
override;
124 void setup_GLUP_PYRAMIDS()
override;
129 void setup_GLUP_CONNECTORS()
override;
134 void setup_GLUP_SPHERES()
override;
139 void get_vertex_shader_preamble_pseudo_file(
140 std::vector<GLSL::Source>& sources
146 void get_fragment_shader_preamble_pseudo_file(
147 std::vector<GLSL::Source>& sources
153 void get_geometry_shader_preamble_pseudo_file(
154 std::vector<GLSL::Source>& sources
160 void get_primitive_pseudo_file(
161 std::vector<GLSL::Source>& sources
169 virtual void get_geometry_shader_layout(
170 std::vector<GLSL::Source>& sources
184 class Context_GLSL440 :
public Context_GLSL150 {
195 const char* profile_name()
const override;
201 void setup_GLUP_HEXAHEDRA()
override;
206 void setup_GLUP_PYRAMIDS()
override;
211 void get_vertex_shader_preamble_pseudo_file(
212 std::vector<GLSL::Source>& sources
218 void get_fragment_shader_preamble_pseudo_file(
219 std::vector<GLSL::Source>& sources
225 void get_geometry_shader_preamble_pseudo_file(
226 std::vector<GLSL::Source>& sources
232 void get_tess_evaluation_shader_preamble_pseudo_file(
233 std::vector<GLSL::Source>& sources
239 void get_primitive_pseudo_file(
240 std::vector<GLSL::Source>& sources
246 void get_geometry_shader_layout(
247 std::vector<GLSL::Source>& sources
250 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.