54 #include <ACG/Config/ACGDefines.hh>
55 #include <ACG/Math/VectorT.hh>
56 #include <ACG/Math/GLMatrixT.hh>
57 #include <ACG/ShaderUtils/GLSLShader.hh>
85 void bind(GLuint _prog)
const;
87 void setUniform(
const char *_name, GLint _value);
88 void setUniform(
const char *_name,
const ACG::Vec2i &_value);
89 void setUniform(
const char *_name,
const ACG::Vec3i &_value);
90 void setUniform(
const char *_name,
const ACG::Vec4i &_value);
92 void setUniform(
const char *_name, GLuint _value);
93 void setUniform(
const char *_name,
const ACG::Vec2ui &_value);
94 void setUniform(
const char *_name,
const ACG::Vec3ui &_value);
95 void setUniform(
const char *_name,
const ACG::Vec4ui &_value);
97 void setUniform(
const char *_name, GLfloat _value);
98 void setUniform(
const char *_name,
const ACG::Vec2f &_value);
99 void setUniform(
const char *_name,
const ACG::Vec3f &_value);
100 void setUniform(
const char *_name,
const ACG::Vec4f &_value);
103 void setUniform(
const char *_name,
const ACG::GLMatrixf &_value,
bool _transposed =
false);
104 void setUniformMat3(
const char *_name,
const ACG::GLMatrixf &_value,
bool _transposed =
false);
107 void setUniform(
const char *_name, GLint *_values,
int _count);
108 void setUniform(
const char *_name, GLfloat *_values,
int _count);
132 virtual void bind(GLuint _progID)
const {}
139 void bind(GLuint _progID)
const;
147 void bind(GLuint _progID)
const;
154 void bind(GLuint _progID)
const;
164 void bind(GLuint _progID)
const;
176 void bind(GLuint _progID)
const;
180 typedef std::list<UniformBase*> UniformList;
181 typedef UniformList::iterator UniformListIt;
188 UniformListIt findEntry(std::string _name);
194 void addBuf(
const char *_name,
void *_values,
int _count,
bool _integer);
UniformList pool_
list of uniform params
This namespace contains all the classes and functions for handling GLSL shader and program objects...
bool bind(osg::GeometryPtr &_geo, Mesh &_mesh)