Uniform shader parameter node storing an OpenGL state matrix. More...
#include <Inventor/nodes/SoShaderParameter.h>
Public Types | |
enum | MatrixType { MODELVIEW, PROJECTION, TEXTURE, MODELVIEW_PROJECTION } |
enum | MatrixTransform { IDENTITY, TRANSPOSE, INVERSE, INVERSE_TRANSPOSE } |
Public Member Functions | |
virtual SoType | getTypeId () const |
SoShaderStateMatrixParameter () | |
virtual bool | isEqual (const SoUniformShaderParameter *param) const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoSFEnum | matrixType |
SoSFEnum | matrixTransform |
This node allows the application to provide a uniform parameter of type OpenGL state matrix to a shader object, e.g. SoFragmentShader.
Uniform shader parameter nodes are usually added to the shader object's parameter field to affect only that specific shader program, but can also be inserted in the scene graph and affect all subsequent shader programs.
See the base classes SoShaderParameter and SoUniformShaderParameter for details.
This parameter should be only used with NVIDIA Cg (has no effect otherwise) and only if the profile is neither arbvp1 nor arbfp1. With either of the profiles arbvp1 and arbfp1, the OpenGL state matrix is directly accessible from the variable glstate.matrix.
NOTE: Using this parameter may slow down the rendering process because each SoTransform node in the scene graph below the SoShaderProgram will break the render cache.
name | "" |
identifier | 0 |
matrixType | MODELVIEW |
matrixTransform | 1 0 0 0 |
0 1 0 0 | |
0 0 1 0 | |
0 0 0 1 | |
shaderType | VERTEX |
SoShaderParameter, SoUniformShaderParameter, SoShaderParameter1f, SoShaderParameter1i, SoShaderParameter2f, SoShaderParameter2i, SoShaderParameter3f, SoShaderParameter3i, SoShaderParameter4f, SoShaderParameter4i, SoShaderParameterArray1f, SoShaderParameterArray1i, SoShaderParameterArray2f, SoShaderParameterArray2i, SoShaderParameterArray3f, SoShaderParameterArray3i, SoShaderParameterArray4f, SoShaderParameter4i, SoShaderParameterMatrix, SoShaderParameterMatrixArray, SoShaderObject, SoShaderProgram.
SoShaderStateMatrixParameter::SoShaderStateMatrixParameter | ( | ) |
Constructor.
static SoType SoShaderStateMatrixParameter::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoUniformShaderParameter.
virtual SoType SoShaderStateMatrixParameter::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoUniformShaderParameter.
virtual bool SoShaderStateMatrixParameter::isEqual | ( | const SoUniformShaderParameter * | param | ) | const [virtual] |
Specifies the transformation to be applied to the state matrix.
Specifies the type of the state matrix.