9 #ifndef OGLPLUS_EXAMPLE_RESOURCES_HPP // NOLINT(llvm-header-guard)
10 #define OGLPLUS_EXAMPLE_RESOURCES_HPP
23 class sketch_program {
25 void init(execution_context&, video_context&);
26 void clean_up(video_context&);
27 void prepare_frame(video_context&, orbiting_camera& camera,
float t);
43 class shape_geometry {
45 void init(execution_context&, video_context&);
46 void clean_up(video_context&);
47 void draw(execution_context&, video_context&);
49 static auto position_loc() noexcept {
53 static auto normal_loc() noexcept {
57 static auto coord_loc() noexcept {
64 oglp::owned_buffer_name _positions;
65 oglp::owned_buffer_name _normals;
66 oglp::owned_buffer_name _coords;
67 oglp::owned_buffer_name _indices;
69 std::vector<oglp::shape_draw_operation> _ops;
74 class sketch_texture {
76 void init(execution_context&, video_context&);
77 void clean_up(execution_context&, video_context&);
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
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