9 #ifndef OGLPLUS_EXAMPLE_RESOURCES_HPP // NOLINT(llvm-header-guard)
10 #define OGLPLUS_EXAMPLE_RESOURCES_HPP
27 void set_projection(example&);
38 class screen_program {
45 void set_screen_size(example&);
57 class shape_geometry {
62 static auto position_loc() noexcept {
71 oglp::owned_buffer_name _positions;
72 oglp::owned_buffer_name _indices;
74 oglp::owned_buffer_name _offsets;
76 std::vector<oglp::shape_draw_operation> _ops{};
79 class screen_geometry {
84 static auto position_loc() noexcept {
88 static auto tex_coord_loc() noexcept {
95 oglp::owned_buffer_name _positions;
96 oglp::owned_buffer_name _tex_coords;
98 std::vector<oglp::shape_draw_operation> _ops{};
106 void resize(example&);
108 void draw_offscreen(example&);
109 void draw_onscreen(example&);
Application harness / wrapper code is placed in this namespace.
Definition: eagine.hpp:72
GLsizei sizei_type
Signed integer size type.
Definition: config.hpp:88
prog_var_location< EAGINE_ID_V(Uniform)> uniform_location
Alias for shader program uniform location wrapper.
Definition: prog_var_loc.hpp:115
gl_owned_object_name< renderbuffer_tag > owned_renderbuffer_name
Alias for owned GL renderbuffer object handle.
Definition: object_name.hpp:198
gl_owned_object_name< texture_tag > owned_texture_name
Alias for owned GL texture object handle.
Definition: object_name.hpp:213
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
gl_owned_object_name< program_tag > owned_program_name
Alias for owned GL program object handle.
Definition: object_name.hpp:188
gl_owned_object_name< framebuffer_tag > owned_framebuffer_name
Alias for owned GL framebuffer object handle.
Definition: object_name.hpp:178