Struct Program

Inheritance Relationships

Base Type

Struct Documentation

struct Program : public CE::Rendering::Resources::Program

Declaration: final

Public Functions

explicit Program(Handle program)
virtual void use() override
virtual void bind_pass(const CE::Rendering::Parameters::PassSemantics &pass) override
virtual void bind_draw(const CE::Rendering::Parameters::DrawSemantics &draw) override
void set_material_bindings(MaterialBindings bindings)
inline void require_current() const
void require_linked() const
inline const ResourceLifetime *resource_domain() const noexcept

Declaration: [[nodiscard]]

std::vector<Variable> active_uniforms() const

Declaration: [[nodiscard]]

std::vector<Variable> active_attributes() const

Declaration: [[nodiscard]]

template<glm::length_t dim>
void set_uniform_vec(const char *name, const glm::vec<dim, glm::f32, glm::defaultp> &v)
template<glm::length_t dim>
void set_uniform_matrix(const char *name, const glm::mat<dim, dim, glm::f32, glm::defaultp> &m)
template<typename T>
void set_uniform_value(const char *name, const T &v)
inline virtual void set_uniform_value(const char *name, float value) override
inline virtual void set_uniform_value(const char *name, int value) override
inline virtual void set_uniform_value(const char *name, unsigned int value) override
inline virtual void set_uniform_value(const char *name, bool value) override
inline virtual void set_uniform_matrix(const char *name, const glm::mat4 &value) override
void print_active_uniforms() const
void print_active_attribs() const
int get_uniform_location(const char *name)
int get_attribute_location(const char *name)