SoShaderStateMatrixParameter Class Reference
[Shaders]

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 {
  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

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.

FILE FORMAT/DEFAULT

SEE ALSO

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.

Enumerator:
IDENTITY 

The state matrix is unchanged (default).

TRANSPOSE 

Transpose the state matrix.

INVERSE 

Invert the state matrix.

INVERSE_TRANSPOSE 

Invert the transposed state matrix.

Matrix type possible values.

Enumerator:
MODELVIEW 

The state matrix is the modelview matrix.

PROJECTION 

The state matrix is the the projection matrix.

TEXTURE 

The state matrix is the current texture matrix.

MODELVIEW_PROJECTION 

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


Constructor & Destructor Documentation

SoShaderStateMatrixParameter::SoShaderStateMatrixParameter (  ) 

Constructor.


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 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/