9 #ifndef OGLPLUS_EXAMPLE_RESOURCES_HPP // NOLINT(llvm-header-guard)
10 #define OGLPLUS_EXAMPLE_RESOURCES_HPP
22 class sphere_program {
24 void init(execution_context&, video_context&);
25 void clean_up(video_context&);
26 void set_projection(video_context&, orbiting_camera&);
41 class icosahedron_geometry {
43 void init(execution_context&, video_context&);
44 void clean_up(video_context&);
45 void draw(video_context&);
47 static auto position_loc() noexcept {
51 static auto offsets_binding() noexcept {
60 oglp::owned_buffer_name positions;
61 oglp::owned_buffer_name indices;
62 oglp::owned_buffer_name offsets;
64 std::vector<oglp::shape_draw_operation> ops;
Application harness / wrapper code is placed in this namespace.
Definition: eagine.hpp:72
prog_var_location< EAGINE_ID_V(Uniform)> uniform_location
Alias for shader program uniform location wrapper.
Definition: prog_var_loc.hpp:115
GLuint uint_type
Unsigned integer type.
Definition: config.hpp:73
gl_owned_object_name< vertex_array_tag > owned_vertex_array_name
Alias for owned GL vertex array object handle.
Definition: object_name.hpp:224
prog_var_location< EAGINE_ID_V(VertexAttr)> vertex_attrib_location
Alias for program vertex attribute location wrapper.
Definition: prog_var_loc.hpp:104
prog_var_location< EAGINE_ID_V(UniformBlk)> uniform_block_index
Alias for shader program uniform block location wrapper.
Definition: prog_var_loc.hpp:159
gl_owned_object_name< program_tag > owned_program_name
Alias for owned GL program object handle.
Definition: object_name.hpp:188