emilib
Classes | Public Types | Public Member Functions | List of all members
gl::Program Class Reference

Classes

struct  Attribute
 
struct  Uniform
 

Public Types

using Uniforms = std::vector< Uniform >
 
using Attributes = std::vector< Attribute >
 

Public Member Functions

 Program (const std::string &vs, const std::string &fs, std::string debug_name)
 Shader format must match the current OpenGl version.
 
 Program (Program &&)
 
Programoperator= (Program &&)
 
void swap (Program &other)
 
const std::string & debug_name () const
 
unsigned id () const
 
void validate () const
 For debugging: call after binding uniforms. Ignored if not debug build.
 
void bind () const
 
int get_attribute_loc (const std::string &attrib_name) const
 
int get_uniform_loc (const std::string &attrib_name) const
 
bool has_attribute (const std::string &name) const
 
bool has_uniform (const std::string &name) const
 
template<typename T >
void set_uniform (const std::string &name, const T &value) const
 
template<typename T >
void set_uniform (int location, const T &value) const
 gl_lib does NOT implement this function! You have to do that yourself, e.g. for Vec2, Mat4
 

The documentation for this class was generated from the following file: