Shader class which directly takes src for vertex, geometry and/or fragment shader, compiles and links it.  
 More...
 | 
|   | SoGLCompleteShader () | 
|   | 
|   | ~SoGLCompleteShader () override | 
|   | 
| bool  | create (const char *srcVert, const char *srcGeom, const char *srcFrag) | 
|   | Creates the shaders and links them. If one does not need a specific shader, just pass NULL.  
  | 
|   | 
| bool  | update (const char *srcVert, const char *srcGeom, const char *srcFrag) | 
|   | Updates the shaders source. Pass NULL for shaders that you don't want to update.  
  | 
|   | 
| void  | bindTexture (const char *name, SoGLTexture *texture, int unit=-1) | 
|   | binds the given texture, if unit == -1 a unit is automatically assigned by the shader  
  | 
|   | 
| void  | enable () | 
|   | enables the shader, resets the assigned texture units  
  | 
|   | 
|   | SoGLShaderProgram () | 
|   | Constructor.  
  | 
|   | 
|   | ~SoGLShaderProgram () override | 
|   | Destructor.  
  | 
|   | 
| void  | reset () override | 
|   | Free all resources (OpenGL too) and reset instance to initial state.  
  | 
|   | 
| void  | addShaderObject (SoGLShaderObject *shaderObject) | 
|   | 
| void  | removeShaderObject (SoGLShaderObject *shaderObject) | 
|   | 
| void  | removeAllShaderObjects () | 
|   | 
| void  | enable () | 
|   | 
| void  | disable () | 
|   | 
| void  | scheduleLinking () | 
|   | 
| void  | setGeometryInputType (GLint type) | 
|   | 
| void  | setGeometryOutputType (GLint type) | 
|   | 
| void  | setGeometryVerticesOut (GLint number) | 
|   | 
| virtual void  | updateUniformsFromState (SoState *) | 
|   | Update the shader uniforms according to the current Inventor state.  
  | 
|   | 
| virtual void  | preLinkSetup () | 
|   | 
| virtual void  | postLinkSetup () | 
|   | 
| virtual SbBool  | isActiveUniform (const SbString &name) | 
|   | 
| virtual void  | clearAssignedTextureUnits () | 
|   | Clears the assigned texture units to 0.  
  | 
|   | 
| int  | getNumAssignedTextureUnits () | 
|   | 
| void  | setNumAssignedTextureUnits (int num) | 
|   | 
| int  | addTextureSampler (const SbString &name) override | 
|   | Adds a new texture sampler with given name and returns the assigned texture unit.  
  | 
|   | 
| void  | set1f (const SbString &name, const float value) override | 
|   | 
| void  | set2f (const SbString &name, const float *value) override | 
|   | 
| void  | set3f (const SbString &name, const float *value) override | 
|   | 
| void  | set4f (const SbString &name, const float *value) override | 
|   | 
| void  | set2f (const SbString &name, const float value0, const float value1) override | 
|   | 
| void  | set3f (const SbString &name, const float value0, const float value1, const float value2) override | 
|   | 
| void  | set4f (const SbString &name, const float value0, const float value1, const float value2, const float value3) override | 
|   | 
| void  | set1fv (const SbString &name, const int num, const float *value) override | 
|   | 
| void  | set2fv (const SbString &name, const int num, const float *value) override | 
|   | 
| void  | set3fv (const SbString &name, const int num, const float *value) override | 
|   | 
| void  | set4fv (const SbString &name, const int num, const float *value) override | 
|   | 
| void  | set1i (const SbString &name, const int32_t value) override | 
|   | 
| void  | set2i (const SbString &name, const int32_t *value) override | 
|   | 
| void  | set2i (const SbString &name, const SbVec2s &value) override | 
|   | 
| void  | set3i (const SbString &name, const int32_t *value) override | 
|   | 
| void  | set3i (const SbString &name, const SbVec3s &value) override | 
|   | 
| void  | set4i (const SbString &name, const int32_t *value) override | 
|   | 
| void  | setMatrix3fv (const SbString &, int, const float *, SbBool=FALSE) override | 
|   | 
| void  | setMatrix4fv (const SbString &, int, const float *, SbBool=FALSE) override | 
|   | 
| void  | setName (const SbString &name) | 
|   | 
| const SbString &  | getName () const | 
|   | 
| int  | shaderVersion (SoShader::ShaderType type) const | 
|   | Get the used GLSL version for the given shader type.  
  | 
|   | 
| ml::GLSLProgram &  | getProgramResource () | 
|   | 
| GLuint  | getProgramHandle () const | 
|   | 
| bool  | isValid () | 
|   | returns if the shader is valid or needs re-creation  
  | 
|   | 
| SbBool  | isExecutable () const | 
|   | 
| SbBool  | shouldLink () const | 
|   | 
| LinkageResult  | link () | 
|   | 
| void  | updateUniformInfo (GLint programHandle) | 
|   | 
| void  | setAlwaysReadErrorLog (bool flag) | 
|   | 
| bool  | alwaysReadErrorLog () | 
|   | 
| bool  | hadLinkError () | 
|   | 
| const SbString &  | getErrorLog () | 
|   | 
| virtual void  | setMatrix3f (const SbString &name, const float *values, SbBool transpose=FALSE) | 
|   | 
| virtual void  | setMatrix4f (const SbString &name, const float *values, SbBool transpose=FALSE) | 
|   | 
| virtual void  | setSamplerInfo (const SbString &, SamplerType, uint32_t) | 
|   | 
Shader class which directly takes src for vertex, geometry and/or fragment shader, compiles and links it. 
Definition at line 29 of file SoGLCompleteShader.h.