9 #ifndef OGLPLUS_EXAMPLE_RESOURCES_HPP // NOLINT(llvm-header-guard)
10 #define OGLPLUS_EXAMPLE_RESOURCES_HPP
27 void init(execution_context&, video_context&, cleanup_group&);
28 void set_camera(video_context& ctx, orbiting_camera& camera);
29 void update(video_context&);
41 void init(execution_context&, video_context&, cleanup_group&);
43 void set_camera(video_context&, orbiting_camera& camera);
44 void update(execution_context&, video_context&);
56 radians_t<float> rad{0.F};
61 class arrow_geometry {
63 void init(execution_context&, video_context&, cleanup_group&);
64 void draw(video_context&);
66 auto bounding_sphere() noexcept {
70 static auto position_loc() noexcept {
74 static auto normal_loc() noexcept {
81 oglp::owned_buffer_name positions;
82 oglp::owned_buffer_name normals;
83 oglp::owned_buffer_name indices;
85 std::vector<oglp::shape_draw_operation> ops;
92 void init(execution_context&, video_context&, cleanup_group&);
93 void reshape(video_context&);
94 void copy_from_fb(video_context&);
96 auto texture_unit() const noexcept {
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
GLint int_type
Signed integer type.
Definition: config.hpp:70
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
basic_sphere< T, 3, V > sphere
Alias for spheres in 3D space.
Definition: primitives.hpp:148
gl_owned_object_name< program_tag > owned_program_name
Alias for owned GL program object handle.
Definition: object_name.hpp:188