SoShaderParameter Class Reference
[Shaders]

VSG extension Abstract base class for all shader parameter nodes. More...

#include <Inventor/nodes/SoShaderParameter.h>

Inheritance diagram for SoShaderParameter:
SoNode SoFieldContainer SoBase SoRefCounter SoTypedObject SoShaderParameterBufferObject SoShaderParameterImage SoUniformShaderParameter SoVertexShaderParameter SoShaderParameter1f SoShaderParameter1i SoShaderParameter2f SoShaderParameter2i SoShaderParameter3f SoShaderParameter3i SoShaderParameter4f SoShaderParameter4i SoShaderParameterArray1f SoShaderParameterArray1i SoShaderParameterArray2f SoShaderParameterArray2i SoShaderParameterArray3f SoShaderParameterArray3i SoShaderParameterArray4f SoShaderParameterArray4i SoShaderParameterMatrix SoShaderParameterMatrix3 SoShaderParameterMatrixArray SoShaderParameterStruct SoShaderStateMatrixParameter SoVertexShaderParameter1f SoVertexShaderParameter1s SoVertexShaderParameter2f SoVertexShaderParameter2s SoVertexShaderParameter3f SoVertexShaderParameter3s SoVertexShaderParameter4b SoVertexShaderParameter4f SoVertexShaderParameter4i SoVertexShaderParameter4s SoVertexShaderParameter4ub SoVertexShaderParameter4ui SoVertexShaderParameter4us SoVertexShaderParameterBufferObject SoVertexShaderParameterMatrix

List of all members.

Public Member Functions

virtual SoType getTypeId () const

Static Public Member Functions

static SoType getClassTypeId ()

Public Attributes

SoSFString name
SoSFInt32 identifier

Detailed Description

VSG extension Abstract base class for all shader parameter nodes.

This is the abstract class from which all the shader parameter nodes are derived. There are two families of shader parameter nodes:

Each parameter is defined by one or both of the following properties:

There are two ways to specify the name of a parameter: using the field name to specify a string, or using the field identifier to specify an integer. This is because assembly languages (e.g., ARB_vertex_program/ARB_fragment_program) have index naming conventions rather than string naming conventions, whereas with Cg/GLSL, it is exactly the opposite. The two fields (name and identifier) allow specification of uniform parameters for both types of language. Depending on the language (ARB_, Cg, or GLSL), only one of the two fields will be used.

Specific subclasses add fields to hold a specific type of value.

FILE FORMAT/DEFAULT

ACTION BEHAVIOR

SEE ALSO

SoUniformShaderParameter, SoShaderParameter1f, SoShaderParameter1i, SoShaderParameter2f, SoShaderParameter2i, SoShaderParameter3f, SoShaderParameter3i, SoShaderParameter4f, SoShaderParameter4i, SoShaderParameterArray1f, SoShaderParameterArray1i, SoShaderParameterArray2f, SoShaderParameterArray2i, SoShaderParameterArray3f, SoShaderParameterArray3i, SoShaderParameterArray4f, SoShaderParameterArray4i, SoShaderParameterMatrix, SoShaderParameterMatrixArray, SoShaderStateMatrixParameter, SoVertexShaderParameter, SoVertexShaderParameter1f, SoVertexShaderParameter1s, SoVertexShaderParameter2f, SoVertexShaderParameter2s, SoVertexShaderParameter3f, SoVertexShaderParameter3s, SoVertexShaderParameter4f, SoVertexShaderParameter4i, SoVertexShaderParameter4s, SoVertexShaderParameter4b, SoVertexShaderParameter4ui, SoVertexShaderParameter4us, SoVertexShaderParameter4ub, SoVertexShaderParameterMatrix, SoShaderObject, SoShaderProgram.

See related examples:

AnimatedFlag, GeometryShader, PixelLighting, shadowShader, SimplePassthrough, TessellationShader, ToonShading, ShadersBrowser


Member Function Documentation

static SoType SoShaderParameter::getClassTypeId (  )  [static]
virtual SoType SoShaderParameter::getTypeId (  )  const [virtual]

Member Data Documentation

Specifies the parameter's integer name which is declared and used within low-level shading programs.

Specifies the parameter's string name which is declared and used within high-level shading programs.


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

Open Inventor Toolkit reference manual, generated on 15 Mar 2023
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/