47 #include <ACG/Config/ACGDefines.hh> 48 #include <ACG/Math/VectorT.hh> 49 #include <ACG/Math/GLMatrixT.hh> 50 #include <ACG/ShaderUtils/GLSLShader.hh> 78 void bind(GLuint _prog)
const;
80 void setUniform(
const char *_name, GLint _value);
81 void setUniform(
const char *_name,
const ACG::Vec2i &_value);
82 void setUniform(
const char *_name,
const ACG::Vec3i &_value);
83 void setUniform(
const char *_name,
const ACG::Vec4i &_value);
85 void setUniform(
const char *_name, GLuint _value);
86 void setUniform(
const char *_name,
const ACG::Vec2ui &_value);
87 void setUniform(
const char *_name,
const ACG::Vec3ui &_value);
88 void setUniform(
const char *_name,
const ACG::Vec4ui &_value);
90 void setUniform(
const char *_name, GLfloat _value);
91 void setUniform(
const char *_name,
const ACG::Vec2f &_value);
92 void setUniform(
const char *_name,
const ACG::Vec3f &_value);
93 void setUniform(
const char *_name,
const ACG::Vec4f &_value);
96 void setUniform(
const char *_name,
const ACG::GLMatrixf &_value,
bool _transposed =
false);
97 void setUniformMat3(
const char *_name,
const ACG::GLMatrixf &_value,
bool _transposed =
false);
100 void setUniform(
const char *_name, GLint *_values,
int _count);
101 void setUniform(
const char *_name, GLfloat *_values,
int _count);
120 QString toString()
const;
135 virtual void bind(GLuint _progID)
const {}
137 virtual QString toString()
const {
return QString(
""); }
144 void bind(GLuint _progID)
const override;
146 virtual QString toString()
const override;
154 void bind(GLuint _progID)
const override;
156 virtual QString toString()
const override;
163 void bind(GLuint _progID)
const override;
165 virtual QString toString()
const override;
175 void bind(GLuint _progID)
const override;
177 virtual QString toString()
const override;
189 void bind(GLuint _progID)
const override;
191 virtual QString toString()
const override;
195 typedef std::list<UniformBase*> UniformList;
196 typedef UniformList::iterator UniformListIt;
203 UniformListIt findEntry(std::string _name);
209 void addBuf(
const char *_name,
void *_values,
int _count,
bool _integer);
This namespace contains all the classes and functions for handling GLSL shader and program objects...
bool bind(osg::GeometryPtr &_geo, Mesh &_mesh)