34 : Arch::IComponent(
"shader") ,
42 virtual void UseProgram(
void)=0;
44 virtual void Unused(
void)=0;
46 virtual void LinkProgram(
void)=0;
48 virtual void AttachShader( uint shader )=0;
50 virtual void BindUniform1i(
const char * location ,
int number ) =0 ;
52 virtual void BindUniform1f(
const char * location ,
float number ) =0;
54 virtual void BindMatrix(
const char * location , glm::mat4 matrix ) =0;
56 virtual void BindVec3i(
const char * location ,
const Vector3i & vector )=0;
58 virtual void BindVec3f(
const char * location ,
const Vector3f & vector )=0;
60 virtual void BindVec4i(
const char * location ,
const Vector4i & vector )=0;
62 virtual void BindVec4f(
const char * location ,
const Vector4f & vector )=0;
64 virtual void BindTexture(
Texture * texture ,
const char * location ,
int texture_unit )=0;
69 virtual void BindFragData(
const char * location ,
int frag_position)=0;
71 virtual void BindAttributeLocation(
const char * location ,
int attribute_id )=0;
80 void setUsing(
bool state )
85 void setLinked(
bool state )
90 void setSource(
bool state )
119 std::vector< uint > mShaders;
The Texture class.
Definition: texture.h:37
The IShader - abstract / interface class.
Definition: IShader.h:30