Copyright Matus Chochlik. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
#ifndef OGLPLUS_EXAMPLE_RESOURCES_HPP // NOLINT(llvm-header-guard)
#define OGLPLUS_EXAMPLE_RESOURCES_HPP
class depth_program {
public:
void init(execution_context&, video_context&, cleanup_group&);
void set_camera(video_context& ctx, orbiting_camera& camera);
void update(video_context&);
private:
};
class draw_program {
public:
void init(execution_context&, video_context&, cleanup_group&);
void set_camera(video_context&, orbiting_camera& camera);
void update(execution_context&, video_context&);
private:
radians_t<float> rad{0.F};
};
class arrow_geometry {
public:
void init(execution_context&, video_context&, cleanup_group&);
void draw(video_context&);
auto bounding_sphere() noexcept {
return bound_sphere;
}
static auto position_loc() noexcept {
}
static auto normal_loc() noexcept {
}
private:
oglp::owned_buffer_name positions;
oglp::owned_buffer_name normals;
oglp::owned_buffer_name indices;
std::vector<oglp::shape_draw_operation> ops;
};
class depth_texture {
public:
void init(execution_context&, video_context&, cleanup_group&);
void reshape(video_context&);
void copy_from_fb(video_context&);
auto texture_unit() const noexcept {
return tex_unit;
}
private:
};
}
#endif