Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ACG::SceneGraph::GLSL::Program Class Reference

GLSL program class. More...

Public Member Functions

GLuint getProgramId ()
 
Compilation/Linking
void attach (PtrConstShader _shader)
 
void detach (PtrConstShader _shader)
 
void link ()
 
Localizations
int getAttributeLocation (const char *_name)
 
int getUniformLocation (const char *_name)
 
int getFragDataLocation (const char *_name)
 
void bindAttributeLocation (unsigned int _index, const char *_name)
 
void bindFragDataLocation (unsigned int _index, const char *_name)
 
Uniform setters
void setUniform (const char *_name, GLint _value)
 
void setUniform (const char *_name, const ACG::Vec2i &_value)
 
void setUniform (const char *_name, const ACG::Vec3i &_value)
 
void setUniform (const char *_name, const ACG::Vec4i &_value)
 
void setUniform (const char *_name, GLuint _value)
 
void setUniform (const char *_name, const ACG::Vec2ui &_value)
 
void setUniform (const char *_name, const ACG::Vec3ui &_value)
 
void setUniform (const char *_name, const ACG::Vec4ui &_value)
 
void setUniform (const char *_name, GLfloat _value)
 
void setUniform (const char *_name, const ACG::Vec2f &_value)
 
void setUniform (const char *_name, const ACG::Vec3f &_value)
 
void setUniform (const char *_name, const ACG::Vec4f &_value)
 
void setUniform (const char *_name, const ACG::GLMatrixf &_value, bool _transposed=false)
 
void setUniformMat3 (const char *_name, const ACG::GLMatrixf &_value, bool _transposed=false)
 
void setUniform (const char *_name, const GLint *_values, int _count)
 
void setUniform (const char *_name, const GLfloat *_values, int _count)
 
void setUniform (const char *_name, const ACG::Vec2f *_values, int _count)
 
void setUniform (const char *_name, const ACG::Vec3f *_values, int _count)
 
void setUniform (const char *_name, const ACG::Vec4f *_values, int _count)
 
void setUniform (const char *_name, int _index, bool _value)
 
void setUniform (const char *_name, int _index, int _value)
 
void setUniform (const char *_name, int _index, float _value)
 
Uniform buffer blocks
GLuint getUniformBlockIndex (const char *_name)
 
void setUniformBlockBinding (GLuint _index, int _binding)
 
void setUniformBlockBinding (const char *_name, int _binding)
 
int getUniformBlockSize (GLuint _index)
 
int getUniformBlockSize (const char *_name)
 
void getUniformBlockOffsets (int _numUniforms, const char **_names, int *_outOffsets)
 
Geometry shader parameters
void setGeometryInputType (GLint _type)
 
void setGeometryOutputType (GLint _type)
 
void setGeometryVertexCount (GLint _numVerticesOut)
 
Enable/disable functions
void use ()
 
void disable ()
 
bool isActive ()
 
bool isLinked ()
 

Private Attributes

std::list< PtrConstShaderm_linkedShaders
 
GLint m_programId
 
GLint m_linkStatus
 

Detailed Description

GLSL program class.

A GLSL program links together the vertex and fragment shaders.

Definition at line 217 of file MeshNode2T.cc.


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