![]() |
Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
The SoShaderStateMatrixParameter class is used to define a matrix as shader parameter whose content is derived from the traversal state. More...
#include <Inventor/nodes/SoShaderParameter.h>
Public Types | |
enum | MatrixType { MODELVIEW , PROJECTION , TEXTURE , MODELVIEW_PROJECTION } |
enum | MatrixTransform { IDENTITY , TRANSPOSE , INVERSE , INVERSE_TRANSPOSE } |
![]() | |
enum | NodeType { INVENTOR = 0x0000 , VRML1 = 0x0001 , VRML2 = 0x0002 , INVENTOR_1 = 0x0004 , INVENTOR_2_0 = 0x0008 , INVENTOR_2_1 = 0x0010 , INVENTOR_2_5 = 0x0020 , INVENTOR_2_6 = 0x0040 , COIN_1_0 = 0x0080 , COIN_2_0 = 0x0100 , EXTENSION = 0x0200 , COIN_2_2 = 0x0400 , COIN_2_3 = 0x0800 , COIN_2_4 = 0x1000 , INVENTOR_5_0 = 0x2000 , COIN_2_5 = 0x4000 , COIN_3_0 = 0x8000 , INVENTOR_6_0 = 0x10000 , COIN_4_0 = 0x20000 } |
Public Attributes | |
SoSFEnum | matrixType |
SoSFEnum | matrixTransform |
![]() | |
SoSFString | name |
SoSFInt32 | identifier |
Protected Member Functions | |
virtual const SoFieldData * | getFieldData (void) const |
![]() | |
SoGLShaderParameter * | getGLShaderParameter (const uint32_t cachecontext) |
void | ensureParameter (SoGLShaderObject *shader) |
![]() | |
SoShaderParameter () | |
virtual | ~SoShaderParameter () |
![]() | |
SoNode (void) | |
virtual | ~SoNode () |
virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
![]() | |
SoFieldContainer (void) | |
virtual | ~SoFieldContainer () |
![]() | |
SoBase (void) | |
virtual | ~SoBase () |
virtual void | destroy (void) |
SbBool | hasMultipleWriteRefs (void) const |
SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const |
void | writeFooter (SoOutput *out) const |
virtual const char * | getFileFormatName (void) const |
virtual SoNotRec | createNotRec (void) |
Static Protected Member Functions | |
static const SoFieldData ** | getFieldDataPtr (void) |
![]() | |
static const SoFieldData ** | getFieldDataPtr (void) |
![]() | |
static const SoFieldData ** | getFieldDataPtr (void) |
![]() | |
static const SoFieldData ** | getFieldDataPtr (void) |
static void | setNextActionMethodIndex (int index) |
static int | getNextActionMethodIndex (void) |
static void | incNextActionMethodIndex (void) |
static void | setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) |
![]() | |
static uint32_t | getCurrentWriteCounter (void) |
static void | staticDataLock (void) |
static void | staticDataUnlock (void) |
Protected Attributes | |
SbMatrix | value |
![]() | |
SbUniqueId | uniqueId |
![]() | |
SbBool | isBuiltIn |
Additional Inherited Members | |
![]() | |
enum | BaseFlags { IS_ENGINE = 0x01 , IS_GROUP = 0x02 } |
![]() | |
static SbUniqueId | nextUniqueId = 1 |
static int | nextActionMethodIndex = 0 |
The SoShaderStateMatrixParameter class is used to define a matrix as shader parameter whose content is derived from the traversal state.
Unlike other parameter classes, SoShaderStateMatrixParameter does not have a value field. The value member is protected and updated automatically from the traversal state.
Defines the different matrix types.
Defines different transformations that can be applied to a matrix.
Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and "downward" casting.
Usage example:
For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on.
For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups.
Reimplemented from SoUniformShaderParameter.
|
protectedvirtual |
Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL
.
Reimplemented from SoUniformShaderParameter.
|
virtual |
Updates the shader parameter in the OpenGL state with the content of the value field.
Implements SoUniformShaderParameter.
Updates matrix value from state
SoSFEnum SoShaderStateMatrixParameter::matrixType |
Defines the matrix type value for the uniform shader variable.
SoSFEnum SoShaderStateMatrixParameter::matrixTransform |
Defines a transformation that is applied to the matrix value. The default value of IDENTITY keeps the value unchanged.