12#ifndef GAMP_GLARRAYHANDLER_HPP_
13#define GAMP_GLARRAYHANDLER_HPP_
21 template<
typename Value_type>
24 template<
typename Value_type>
28namespace gamp::render::gl::data::impl {
29 using namespace gamp::render::gl;
30 using namespace gamp::render::gl::data;
43 template <
typename Value_type>
44 class GLArrayHandler {
49 GLArrayHandler() noexcept = default;
50 virtual ~GLArrayHandler() noexcept = default;
67 bool bindBuffer(
GL& gl,
bool bind);
81 virtual void enableState(
GL& gl,
bool enable, ShaderState* st) = 0;
90 virtual void addSubHandler(GLSLSubArrayHandler&& handler) = 0;
92 virtual void setSubArrayVBOName(GLuint vboName) = 0;
94 template<
typename Value_type>
95 using GLArrayHandlerPtr = std::unique_ptr<GLArrayHandler<Value_type>>;
Client data buffer for non VBO GLArrayData usage of given template-type Value_type.
std::shared_ptr< GLArrayDataClient< Value_type > > GLArrayDataClientSRef