SoUniformShaderParameter Class Reference

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

#include <Inventor/nodes/SoShaderParameter.h>

Inheritance diagram for SoUniformShaderParameter:
SoShaderParameter SoNode SoFieldContainer SoBase SoRefCounter SoTypedObject SoShaderParameter1f SoShaderParameter1i SoShaderParameter2f SoShaderParameter2i SoShaderParameter3f SoShaderParameter3i SoShaderParameter4f SoShaderParameter4i SoShaderParameterArray1f SoShaderParameterArray1i SoShaderParameterArray2f SoShaderParameterArray2i SoShaderParameterArray3f SoShaderParameterArray3i SoShaderParameterArray4f SoShaderParameterArray4i SoShaderParameterMatrix SoShaderParameterMatrixArray SoShaderParameterStruct SoShaderStateMatrixParameter

List of all members.

Public Types

enum  ShaderType {

Public Member Functions

virtual SoType getTypeId () const
virtual bool isEqual (const SoUniformShaderParameter *param) const =0

Static Public Member Functions

static SoType getClassTypeId ()

Public Attributes

SoSFEnum SoDEPRECATED shaderType

Detailed Description

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

This is the abstract class from which all the uniform shader parameter nodes, e.g. SoShaderParameter1i, are derived.

These nodes allow users to provide uniform parameters to a given 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. They can also be inserted in the scene graph after an SoShaderProgram. In this case they affect whatever shader program is in effect when a shape is rendered.

Each parameter is defined by the following properties:

See the base class SoShaderParameter to get information about how to specify the name and/or identifier of a parameter.

The following examples show how to set a parameter named "scale" in two different ways.





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

Member Enumeration Documentation

Shader language.


Deprecated since Open Inventor 9500
This enum will not be supported in Open Inventor 10.

Parameters of the vertex shader will be modified by this node when the shader source type is ARB/CG_PROGRAM.


Parameters of the fragment shader will be modified by this node when the shader source type is ARB/CG_PROGRAM.

Member Function Documentation

static SoType SoUniformShaderParameter::getClassTypeId (  )  [static]
virtual SoType SoUniformShaderParameter::getTypeId (  )  const [virtual]
virtual bool SoUniformShaderParameter::isEqual ( const SoUniformShaderParameter param  )  const [pure virtual]

Member Data Documentation

ARB and CG shaders allow a vertex and a shader program to use the same name for a parameter.

When the SoShaderParameter is inserted in the scene graph, this field allows you to specify if this parameter applies to the vertex shader or the fragment shader. It has no effect on GLSL shaders. Use enum ShaderType. Default is VERTEX.

NOTE: field available since Open Inventor 6.0


Deprecated since Open Inventor 9500
CG and ARB shaders will not be supported in OIV 10, please use GLSL instead.

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

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