122 virtual void set_uniform3i(
int location,
int value_a,
int value_b,
int value_c)=0;
123 virtual void set_uniform4i(
int location,
int value_a,
int value_b,
int value_c,
int value_d)=0;
124 virtual void set_uniformiv(
int location,
int size,
int count,
const int *data)=0;
127 virtual void set_uniform3f(
int location,
float value_a,
float value_b,
float value_c)=0;
128 virtual void set_uniform4f(
int location,
float value_a,
float value_b,
float value_c,
float value_d)=0;
129 virtual void set_uniformfv(
int location,
int size,
int count,
const float *data)=0;
130 virtual void set_uniform_matrix(
int location,
int size,
int count,
bool transpose,
const float *data)=0;
virtual bool get_validate_status() const =0
Returns true if validation succeeded.
virtual void set_uniform2f(int location, float value_a, float value_b)=0
virtual void link()=0
Link program.
virtual std::string get_info_log() const =0
Returns the current info log for the program object.
virtual void set_uniformfv(int location, int size, int count, const float *data)=0
virtual bool get_link_status() const =0
Returns true if the link succeeded.
virtual unsigned int get_handle() const =0
Returns the OpenGL program object handle.
virtual int get_uniform_buffer_index(const std::string &block_name) const =0
Get the uniform block index.
virtual void detach(const ShaderObject &obj)=0
Remove shader from program object.
virtual void set_uniform3i(int location, int value_a, int value_b, int value_c)=0
virtual void set_uniform_buffer_index(int block_index, int bind_index)=0
virtual void set_uniform4f(int location, float value_a, float value_b, float value_c, float value_d)=0
Program Object provider.
Definition: program_object_provider.h:44
virtual void bind_attribute_location(int index, const std::string &name)=0
Bind attribute to specific location.
virtual void set_uniform3f(int location, float value_a, float value_b, float value_c)=0
virtual int get_uniform_location(const std::string &name) const =0
Returns the location of a named uniform variable.
virtual void set_uniform4i(int location, int value_a, int value_b, int value_c, int value_d)=0
virtual void set_uniform1f(int location, float value_a)=0
virtual void bind_frag_data_location(int color_number, const std::string &name)=0
Bind shader out variable a specific color buffer location.
virtual int get_storage_buffer_index(const std::string &name) const =0
Get the storage block index.
virtual int get_attribute_location(const std::string &name) const =0
Returns the location of a named active attribute.
virtual void set_uniform2i(int location, int value_a, int value_b)=0
virtual ~ProgramObjectProvider()
Definition: program_object_provider.h:48
virtual void attach(const ShaderObject &obj)=0
Add shader to program object.
virtual void set_uniform_matrix(int location, int size, int count, bool transpose, const float *data)=0
virtual void set_storage_buffer_index(int buffer_index, int bind_unit_index)=0
Shader Object.
Definition: shader_object.h:69
virtual std::vector< ShaderObject > get_shaders() const =0
Returns the shaders used in this program.
virtual void validate()=0
Validate program.
virtual int get_uniform_buffer_size(int block_index) const =0
Get the uniform block size.
virtual void set_uniform1i(int location, int value_a)=0
Set uniform variable(s).
virtual void set_uniformiv(int location, int size, int count, const int *data)=0