SoShaderStateMatrixParameter Class Reference

VSG extension Uniform shader parameter node storing an OpenGL state matrix. More...

#include <Inventor/nodes/SoShaderParameter.h>

Inheritance diagram for SoShaderStateMatrixParameter:
SoUniformShaderParameter SoShaderParameter SoNode SoFieldContainer SoBase SoRefCounter SoTypedObject

List of all members.

Public Types

enum  MatrixType {
enum  MatrixTransform {

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

Detailed Description

VSG extension Uniform shader parameter node storing an OpenGL state matrix.

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.



SoShaderParameter, SoUniformShaderParameter, SoShaderParameter1f, SoShaderParameter1i, SoShaderParameter2f, SoShaderParameter2i, SoShaderParameter3f, SoShaderParameter3i, SoShaderParameter4f, SoShaderParameter4i, SoShaderParameterArray1f, SoShaderParameterArray1i, SoShaderParameterArray2f, SoShaderParameterArray2i, SoShaderParameterArray3f, SoShaderParameterArray3i, SoShaderParameterArray4f, SoShaderParameter4i, SoShaderParameterMatrix, SoShaderParameterMatrixArray, SoShaderObject, SoShaderProgram.

Member Enumeration Documentation

Matrix transformation possible values.


The state matrix is unchanged (default).


Transpose the state matrix.


Invert the state matrix.


Invert the transposed state matrix.

Matrix type possible values.


The state matrix is the modelview matrix.


The state matrix is the the projection matrix.


The state matrix is the current texture matrix.


The state matrix is the modelview projection matrix (default value).

Constructor & Destructor Documentation

SoShaderStateMatrixParameter::SoShaderStateMatrixParameter (  ) 


Member Function Documentation

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]

Member Data Documentation

Specifies the transformation to be applied to the state matrix.

Specifies the type of the state matrix.

The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 12 Sep 2022
Copyright © Thermo Fisher Scientific All rights reserved.