9 #ifndef OGLPLUS_EXAMPLE_RESOURCES_HPP // NOLINT(llvm-header-guard)
10 #define OGLPLUS_EXAMPLE_RESOURCES_HPP
26 void init(execution_context&, video_context&);
27 void clean_up(video_context&);
29 void set_projection(video_context&,
const oglp::tmat<float, 4, 4, true>&);
30 void update(execution_context&, video_context&);
43 radians_t<float> rad{0.F};
50 void init(execution_context&, video_context&);
51 void clean_up(video_context&);
52 void draw(video_context&);
54 static auto position_loc() noexcept {
58 static auto normal_loc() noexcept {
62 static auto tex_coord_loc() noexcept {
69 oglp::owned_buffer_name positions;
70 oglp::owned_buffer_name normals;
71 oglp::owned_buffer_name tex_coords;
72 oglp::owned_buffer_name indices;
74 std::vector<oglp::shape_draw_operation> ops;
79 class cube_draw_buffers {
81 void init(execution_context&, video_context&);
82 void clean_up(video_context&);
84 auto back_fbo() const noexcept {
88 auto front_tex_unit() const noexcept {
89 return objs.front().tex_unit;
92 auto side() const noexcept {
103 struct _buffer_objects {
110 double_buffer<_buffer_objects> objs{};
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
GLint int_type
Signed integer type.
Definition: config.hpp:70
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_object_name< framebuffer_tag > framebuffer_name
Alias for GL framebuffer object handle.
Definition: object_name.hpp:118
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