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.