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.