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 example;
class particles {
public:
void init(example&);
void emit(example&);
void draw(example&);
static auto origin_loc() noexcept {
}
static auto cursors_binding() noexcept {
return 0U;
}
static auto random_binding() noexcept {
return 0U;
}
static auto offsets_binding() noexcept {
return 1U;
}
static auto velocities_binding() noexcept {
return 2U;
}
static auto ages_binding() noexcept {
return 3U;
}
private:
const unsigned _count{4096U};
oglp::owned_buffer_name _origin;
oglp::owned_buffer_name _cursors;
oglp::owned_buffer_name _random;
oglp::owned_buffer_name _offsets;
oglp::owned_buffer_name _velocities;
oglp::owned_buffer_name _ages;
};
class emit_program {
public:
void init(example&);
void prepare_frame(example&);
void use(example&);
private:
};
class draw_program {
public:
void init(example&);
void prepare_frame(example&);
void use(example&);
private:
};
}
#endif
prog_var_location< EAGINE_ID_V(Uniform)> uniform_location
Alias for shader program uniform location wrapper.
Definition: prog_var_loc.hpp:115
prog_var_location< EAGINE_ID_V(VertexAttr)> vertex_attrib_location
Alias for program vertex attribute location wrapper.
Definition: prog_var_loc.hpp:104