| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Types | Public Member Functions | List of all members
Ogre::RTShader::ConstParameter< valueType > Class Template Referenceabstract
Optional Components » RTShaderSystem

Helper template which is the base for our ConstParameters. More...

`#include <OgreShaderParameter.h>`

Inheritance diagram for Ogre::RTShader::ConstParameter< valueType >:
[legend]

## Public Types
enum | Content { SPC_UNKNOWN, SPC_POSITION_OBJECT_SPACE, SPC_POSITION_WORLD_SPACE, SPC_POSITION_VIEW_SPACE, SPC_POSITION_PROJECTIVE_SPACE, SPC_POSITION_LIGHT_SPACE0, SPC_POSITION_LIGHT_SPACE1, SPC_POSITION_LIGHT_SPACE2, SPC_POSITION_LIGHT_SPACE3, SPC_POSITION_LIGHT_SPACE4, SPC_POSITION_LIGHT_SPACE5, SPC_POSITION_LIGHT_SPACE6, SPC_POSITION_LIGHT_SPACE7, SPC_NORMAL_OBJECT_SPACE, SPC_NORMAL_WORLD_SPACE, SPC_NORMAL_VIEW_SPACE, SPC_NORMAL_TANGENT_SPACE, SPC_POSTOCAMERA_OBJECT_SPACE, SPC_POSTOCAMERA_WORLD_SPACE, SPC_POSTOCAMERA_VIEW_SPACE, SPC_POSTOCAMERA_TANGENT_SPACE, SPC_POSTOLIGHT_OBJECT_SPACE0, SPC_POSTOLIGHT_OBJECT_SPACE1, SPC_POSTOLIGHT_OBJECT_SPACE2, SPC_POSTOLIGHT_OBJECT_SPACE3, SPC_POSTOLIGHT_OBJECT_SPACE4, SPC_POSTOLIGHT_OBJECT_SPACE5, SPC_POSTOLIGHT_OBJECT_SPACE6, SPC_POSTOLIGHT_OBJECT_SPACE7, SPC_POSTOLIGHT_WORLD_SPACE0, SPC_POSTOLIGHT_WORLD_SPACE1, SPC_POSTOLIGHT_WORLD_SPACE2, SPC_POSTOLIGHT_WORLD_SPACE3, SPC_POSTOLIGHT_WORLD_SPACE4, SPC_POSTOLIGHT_WORLD_SPACE5, SPC_POSTOLIGHT_WORLD_SPACE6, SPC_POSTOLIGHT_WORLD_SPACE7, SPC_POSTOLIGHT_VIEW_SPACE0, SPC_POSTOLIGHT_VIEW_SPACE1, SPC_POSTOLIGHT_VIEW_SPACE2, SPC_POSTOLIGHT_VIEW_SPACE3, SPC_POSTOLIGHT_VIEW_SPACE4, SPC_POSTOLIGHT_VIEW_SPACE5, SPC_POSTOLIGHT_VIEW_SPACE6, SPC_POSTOLIGHT_VIEW_SPACE7, SPC_POSTOLIGHT_TANGENT_SPACE0, SPC_POSTOLIGHT_TANGENT_SPACE1, SPC_POSTOLIGHT_TANGENT_SPACE2, SPC_POSTOLIGHT_TANGENT_SPACE3, SPC_POSTOLIGHT_TANGENT_SPACE4, SPC_POSTOLIGHT_TANGENT_SPACE5, SPC_POSTOLIGHT_TANGENT_SPACE6, SPC_POSTOLIGHT_TANGENT_SPACE7, SPC_LIGHTDIRECTION_OBJECT_SPACE0, SPC_LIGHTDIRECTION_OBJECT_SPACE1, SPC_LIGHTDIRECTION_OBJECT_SPACE2, SPC_LIGHTDIRECTION_OBJECT_SPACE3, SPC_LIGHTDIRECTION_OBJECT_SPACE4, SPC_LIGHTDIRECTION_OBJECT_SPACE5, SPC_LIGHTDIRECTION_OBJECT_SPACE6, SPC_LIGHTDIRECTION_OBJECT_SPACE7, SPC_LIGHTDIRECTION_WORLD_SPACE0, SPC_LIGHTDIRECTION_WORLD_SPACE1, SPC_LIGHTDIRECTION_WORLD_SPACE2, SPC_LIGHTDIRECTION_WORLD_SPACE3, SPC_LIGHTDIRECTION_WORLD_SPACE4, SPC_LIGHTDIRECTION_WORLD_SPACE5, SPC_LIGHTDIRECTION_WORLD_SPACE6, SPC_LIGHTDIRECTION_WORLD_SPACE7, SPC_LIGHTDIRECTION_VIEW_SPACE0, SPC_LIGHTDIRECTION_VIEW_SPACE1, SPC_LIGHTDIRECTION_VIEW_SPACE2, SPC_LIGHTDIRECTION_VIEW_SPACE3, SPC_LIGHTDIRECTION_VIEW_SPACE4, SPC_LIGHTDIRECTION_VIEW_SPACE5, SPC_LIGHTDIRECTION_VIEW_SPACE6, SPC_LIGHTDIRECTION_VIEW_SPACE7, SPC_LIGHTDIRECTION_TANGENT_SPACE0, SPC_LIGHTDIRECTION_TANGENT_SPACE1, SPC_LIGHTDIRECTION_TANGENT_SPACE2, SPC_LIGHTDIRECTION_TANGENT_SPACE3, SPC_LIGHTDIRECTION_TANGENT_SPACE4, SPC_LIGHTDIRECTION_TANGENT_SPACE5, SPC_LIGHTDIRECTION_TANGENT_SPACE6, SPC_LIGHTDIRECTION_TANGENT_SPACE7, SPC_LIGHTPOSITION_OBJECT_SPACE0, SPC_LIGHTPOSITION_OBJECT_SPACE1, SPC_LIGHTPOSITION_OBJECT_SPACE2, SPC_LIGHTPOSITION_OBJECT_SPACE3, SPC_LIGHTPOSITION_OBJECT_SPACE4, SPC_LIGHTPOSITION_OBJECT_SPACE5, SPC_LIGHTPOSITION_OBJECT_SPACE6, SPC_LIGHTPOSITION_OBJECT_SPACE7, SPC_LIGHTPOSITION_WORLD_SPACE0, SPC_LIGHTPOSITION_WORLD_SPACE1, SPC_LIGHTPOSITION_WORLD_SPACE2, SPC_LIGHTPOSITION_WORLD_SPACE3, SPC_LIGHTPOSITION_WORLD_SPACE4, SPC_LIGHTPOSITION_WORLD_SPACE5, SPC_LIGHTPOSITION_WORLD_SPACE6, SPC_LIGHTPOSITION_WORLD_SPACE7, SPC_LIGHTPOSITIONVIEW_SPACE0, SPC_LIGHTPOSITIONVIEW_SPACE1, SPC_LIGHTPOSITIONVIEW_SPACE2, SPC_LIGHTPOSITIONVIEW_SPACE3, SPC_LIGHTPOSITIONVIEW_SPACE4, SPC_LIGHTPOSITIONVIEW_SPACE5, SPC_LIGHTPOSITIONVIEW_SPACE6, SPC_LIGHTPOSITIONVIEW_SPACE7, SPC_LIGHTPOSITION_TANGENT_SPACE, SPC_BLEND_WEIGHTS, SPC_BLEND_INDICES, SPC_TANGENT_OBJECT_SPACE, SPC_TANGENT_WORLD_SPACE, SPC_TANGENT_VIEW_SPACE, SPC_TANGENT_TANGENT_SPACE, SPC_BINORMAL_OBJECT_SPACE, SPC_BINORMAL_WORLD_SPACE, SPC_BINORMAL_VIEW_SPACE, SPC_BINORMAL_TANGENT_SPACE, SPC_COLOR_DIFFUSE, SPC_COLOR_SPECULAR, SPC_DEPTH_OBJECT_SPACE, SPC_DEPTH_WORLD_SPACE, SPC_DEPTH_VIEW_SPACE, SPC_DEPTH_PROJECTIVE_SPACE, SPC_TEXTURE_COORDINATE0, SPC_TEXTURE_COORDINATE1, SPC_TEXTURE_COORDINATE2, SPC_TEXTURE_COORDINATE3, SPC_TEXTURE_COORDINATE4, SPC_TEXTURE_COORDINATE5, SPC_TEXTURE_COORDINATE6, SPC_TEXTURE_COORDINATE7, SPC_POINTSPRITE_COORDINATE, SPC_POINTSPRITE_SIZE, SPC_CUSTOM_CONTENT_BEGIN = 1000, SPC_CUSTOM_CONTENT_END = 2000 }
enum | Semantic { SPS_UNKNOWN = 0, SPS_POSITION = 1, SPS_BLEND_WEIGHTS = 2, SPS_BLEND_INDICES = 3, SPS_NORMAL = 4, SPS_COLOR = 5, SPS_TEXTURE_COORDINATES = 7, SPS_BINORMAL = 8, SPS_TANGENT = 9 }

## Public Member Functions
| ConstParameter (valueType val, GpuConstantType type, const Semantic &semantic, const Content &content)
virtual | ~ConstParameter ()
void | _rename (const String &newName)
| internal function for aliasing to GLSL builtins e.g. gl_Position More...
Content | getContent () const
| Return the content of this parameter. More...
int | getIndex () const
| Get the index of this parameter. More...
const String & | getName () const
| Get the name of this parameter. More...
const Semantic & | getSemantic () const
| Get the semantic of this parameter. More...
size_t | getSize () const
| Returns the number of elements in the parameter (for arrays). More...
GpuConstantType | getType () const
| Get the type of this parameter. More...
const valueType & | getValue () const
| Returns the native value of this parameter. More...
bool | isArray () const
| Returns Whether this parameter is an array. More...
virtual bool | isConstParameter () const
| More...
void | setSize (size_t size)
| Sets the number of elements in the parameter (for arrays). More...
virtual String | toString () const =0
| More...

## Detailed Description

### template<class valueType>
class Ogre::RTShader::ConstParameter< valueType >

Helper template which is the base for our ConstParameters.

## Member Enumeration Documentation

## ◆ Semantic

enum Ogre::RTShader::Parameter::Semantic
| inherited

Enumerator
SPS_UNKNOWN | Unknown semantic.
SPS_POSITION | Position.
SPS_BLEND_WEIGHTS | Blending weights.
SPS_BLEND_INDICES | Blending indices.
SPS_NORMAL | Normal, 3 reals per vertex.
SPS_COLOR | General floating point color.
SPS_TEXTURE_COORDINATES | Texture coordinates.
SPS_BINORMAL | Binormal (Y axis if normal is Z)
SPS_TANGENT | Tangent (X axis if normal is Z)

## ◆ Content

enum Ogre::RTShader::Parameter::Content
| inherited

Enumerator
SPC_UNKNOWN | Unknown content.
SPC_POSITION_OBJECT_SPACE | Position in object space.
SPC_POSITION_WORLD_SPACE | Position in world space.
SPC_POSITION_VIEW_SPACE | Position in view space.
SPC_POSITION_PROJECTIVE_SPACE | Position in projective space.
SPC_POSITION_LIGHT_SPACE0 | Position in light space index 0-7.
SPC_POSITION_LIGHT_SPACE1 |
SPC_POSITION_LIGHT_SPACE2 |
SPC_POSITION_LIGHT_SPACE3 |
SPC_POSITION_LIGHT_SPACE4 |
SPC_POSITION_LIGHT_SPACE5 |
SPC_POSITION_LIGHT_SPACE6 |
SPC_POSITION_LIGHT_SPACE7 |
SPC_NORMAL_OBJECT_SPACE | Normal in object space.
SPC_NORMAL_WORLD_SPACE | Normal in world space.
SPC_NORMAL_VIEW_SPACE | Normal in view space.
SPC_NORMAL_TANGENT_SPACE | Normal in tangent space.
SPC_POSTOCAMERA_OBJECT_SPACE | View vector in object space.
SPC_POSTOCAMERA_WORLD_SPACE | View vector in world space.
SPC_POSTOCAMERA_VIEW_SPACE | View vector in view space.
SPC_POSTOCAMERA_TANGENT_SPACE | View vector in tangent space.
SPC_POSTOLIGHT_OBJECT_SPACE0 | Light vector in object space index 0-7.
SPC_POSTOLIGHT_OBJECT_SPACE1 |
SPC_POSTOLIGHT_OBJECT_SPACE2 |
SPC_POSTOLIGHT_OBJECT_SPACE3 |
SPC_POSTOLIGHT_OBJECT_SPACE4 |
SPC_POSTOLIGHT_OBJECT_SPACE5 |
SPC_POSTOLIGHT_OBJECT_SPACE6 |
SPC_POSTOLIGHT_OBJECT_SPACE7 |
SPC_POSTOLIGHT_WORLD_SPACE0 | Light vector in world space index 0-7.
SPC_POSTOLIGHT_WORLD_SPACE1 |
SPC_POSTOLIGHT_WORLD_SPACE2 |
SPC_POSTOLIGHT_WORLD_SPACE3 |
SPC_POSTOLIGHT_WORLD_SPACE4 |
SPC_POSTOLIGHT_WORLD_SPACE5 |
SPC_POSTOLIGHT_WORLD_SPACE6 |
SPC_POSTOLIGHT_WORLD_SPACE7 |
SPC_POSTOLIGHT_VIEW_SPACE0 | Light vector in view space index 0-7.
SPC_POSTOLIGHT_VIEW_SPACE1 |
SPC_POSTOLIGHT_VIEW_SPACE2 |
SPC_POSTOLIGHT_VIEW_SPACE3 |
SPC_POSTOLIGHT_VIEW_SPACE4 |
SPC_POSTOLIGHT_VIEW_SPACE5 |
SPC_POSTOLIGHT_VIEW_SPACE6 |
SPC_POSTOLIGHT_VIEW_SPACE7 |
SPC_POSTOLIGHT_TANGENT_SPACE0 | Light vector in tangent space index 0-7.
SPC_POSTOLIGHT_TANGENT_SPACE1 |
SPC_POSTOLIGHT_TANGENT_SPACE2 |
SPC_POSTOLIGHT_TANGENT_SPACE3 |
SPC_POSTOLIGHT_TANGENT_SPACE4 |
SPC_POSTOLIGHT_TANGENT_SPACE5 |
SPC_POSTOLIGHT_TANGENT_SPACE6 |
SPC_POSTOLIGHT_TANGENT_SPACE7 |
SPC_LIGHTDIRECTION_OBJECT_SPACE0 | Light direction in object space index 0-7.
SPC_LIGHTDIRECTION_OBJECT_SPACE1 |
SPC_LIGHTDIRECTION_OBJECT_SPACE2 |
SPC_LIGHTDIRECTION_OBJECT_SPACE3 |
SPC_LIGHTDIRECTION_OBJECT_SPACE4 |
SPC_LIGHTDIRECTION_OBJECT_SPACE5 |
SPC_LIGHTDIRECTION_OBJECT_SPACE6 |
SPC_LIGHTDIRECTION_OBJECT_SPACE7 |
SPC_LIGHTDIRECTION_WORLD_SPACE0 | Light direction in world space index 0-7.
SPC_LIGHTDIRECTION_WORLD_SPACE1 |
SPC_LIGHTDIRECTION_WORLD_SPACE2 |
SPC_LIGHTDIRECTION_WORLD_SPACE3 |
SPC_LIGHTDIRECTION_WORLD_SPACE4 |
SPC_LIGHTDIRECTION_WORLD_SPACE5 |
SPC_LIGHTDIRECTION_WORLD_SPACE6 |
SPC_LIGHTDIRECTION_WORLD_SPACE7 |
SPC_LIGHTDIRECTION_VIEW_SPACE0 | Light direction in view space index 0-7.
SPC_LIGHTDIRECTION_VIEW_SPACE1 |
SPC_LIGHTDIRECTION_VIEW_SPACE2 |
SPC_LIGHTDIRECTION_VIEW_SPACE3 |
SPC_LIGHTDIRECTION_VIEW_SPACE4 |
SPC_LIGHTDIRECTION_VIEW_SPACE5 |
SPC_LIGHTDIRECTION_VIEW_SPACE6 |
SPC_LIGHTDIRECTION_VIEW_SPACE7 |
SPC_LIGHTDIRECTION_TANGENT_SPACE0 | Light direction in tangent space index 0-7.
SPC_LIGHTDIRECTION_TANGENT_SPACE1 |
SPC_LIGHTDIRECTION_TANGENT_SPACE2 |
SPC_LIGHTDIRECTION_TANGENT_SPACE3 |
SPC_LIGHTDIRECTION_TANGENT_SPACE4 |
SPC_LIGHTDIRECTION_TANGENT_SPACE5 |
SPC_LIGHTDIRECTION_TANGENT_SPACE6 |
SPC_LIGHTDIRECTION_TANGENT_SPACE7 |
SPC_LIGHTPOSITION_OBJECT_SPACE0 | Light position in object space index 0-7.
SPC_LIGHTPOSITION_OBJECT_SPACE1 |
SPC_LIGHTPOSITION_OBJECT_SPACE2 |
SPC_LIGHTPOSITION_OBJECT_SPACE3 |
SPC_LIGHTPOSITION_OBJECT_SPACE4 |
SPC_LIGHTPOSITION_OBJECT_SPACE5 |
SPC_LIGHTPOSITION_OBJECT_SPACE6 |
SPC_LIGHTPOSITION_OBJECT_SPACE7 |
SPC_LIGHTPOSITION_WORLD_SPACE0 | Light position in world space index 0-7.
SPC_LIGHTPOSITION_WORLD_SPACE1 |
SPC_LIGHTPOSITION_WORLD_SPACE2 |
SPC_LIGHTPOSITION_WORLD_SPACE3 |
SPC_LIGHTPOSITION_WORLD_SPACE4 |
SPC_LIGHTPOSITION_WORLD_SPACE5 |
SPC_LIGHTPOSITION_WORLD_SPACE6 |
SPC_LIGHTPOSITION_WORLD_SPACE7 |
SPC_LIGHTPOSITIONVIEW_SPACE0 | Light position in view space index 0-7.
SPC_LIGHTPOSITIONVIEW_SPACE1 |
SPC_LIGHTPOSITIONVIEW_SPACE2 |
SPC_LIGHTPOSITIONVIEW_SPACE3 |
SPC_LIGHTPOSITIONVIEW_SPACE4 |
SPC_LIGHTPOSITIONVIEW_SPACE5 |
SPC_LIGHTPOSITIONVIEW_SPACE6 |
SPC_LIGHTPOSITIONVIEW_SPACE7 |
SPC_LIGHTPOSITION_TANGENT_SPACE | Light position in tangent space index 0-7.
SPC_BLEND_WEIGHTS | Blending weights.
SPC_BLEND_INDICES | Blending indices.
SPC_TANGENT_OBJECT_SPACE | Tangent in object space.
SPC_TANGENT_WORLD_SPACE | Tangent in world space.
SPC_TANGENT_VIEW_SPACE | Tangent in view space.
SPC_TANGENT_TANGENT_SPACE | Tangent in tangent space.
SPC_BINORMAL_OBJECT_SPACE | Binormal in object space.
SPC_BINORMAL_WORLD_SPACE | Binormal in world space.
SPC_BINORMAL_VIEW_SPACE | Binormal in view space.
SPC_BINORMAL_TANGENT_SPACE | Binormal in tangent space.
SPC_COLOR_DIFFUSE | Diffuse color.
SPC_COLOR_SPECULAR | Specular color.
SPC_DEPTH_OBJECT_SPACE | Depth in object space.
SPC_DEPTH_WORLD_SPACE | Depth in world space.
SPC_DEPTH_VIEW_SPACE | Depth in view space.
SPC_DEPTH_PROJECTIVE_SPACE | Depth in projective space.
SPC_TEXTURE_COORDINATE0 | Texture coordinate set index 0-7.
SPC_TEXTURE_COORDINATE1 |
SPC_TEXTURE_COORDINATE2 |
SPC_TEXTURE_COORDINATE3 |
SPC_TEXTURE_COORDINATE4 |
SPC_TEXTURE_COORDINATE5 |
SPC_TEXTURE_COORDINATE6 |
SPC_TEXTURE_COORDINATE7 |
SPC_POINTSPRITE_COORDINATE | point sprite coordinates
SPC_POINTSPRITE_SIZE | point sprite size
SPC_CUSTOM_CONTENT_BEGIN | Reserved custom content range to be used by user custom shader extensions.
SPC_CUSTOM_CONTENT_END |

## Constructor & Destructor Documentation

## ◆ ConstParameter()

template<class valueType >

Ogre::RTShader::ConstParameter< valueType >::ConstParameter | ( | valueType | val,
|  | GpuConstantType | type,
|  | const Semantic & | semantic,
|  | const Content & | content
| ) |  |
| inline

## ◆ ~ConstParameter()

template<class valueType >

virtual Ogre::RTShader::ConstParameter< valueType >::~ConstParameter | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ getValue()

template<class valueType >

const valueType& Ogre::RTShader::ConstParameter< valueType >::getValue | ( | void |  | ) | const
| inline

Returns the native value of this parameter.

(for example a Vector3)

## ◆ isConstParameter()

template<class valueType >

virtual bool Ogre::RTShader::ConstParameter< valueType >::isConstParameter | ( |  | ) | const
| inline virtual

See also
  Parameter::isConstParameter.

Reimplemented from Ogre::RTShader::Parameter.

## ◆ toString()

template<class valueType >

virtual String Ogre::RTShader::ConstParameter< valueType >::toString | ( |  | ) | const
| pure virtual

See also
  Parameter::toString.

Reimplemented from Ogre::RTShader::Parameter.

## ◆ getName()

const String& Ogre::RTShader::Parameter::getName | ( | void |  | ) | const
| inline inherited

Get the name of this parameter.

## ◆ _rename()

void Ogre::RTShader::Parameter::_rename | ( | const String & | newName | ) |
| inline inherited

internal function for aliasing to GLSL builtins e.g. gl_Position

## ◆ getType()

GpuConstantType Ogre::RTShader::Parameter::getType | ( | void |  | ) | const
| inline inherited

Get the type of this parameter.

## ◆ getSemantic()

const Semantic& Ogre::RTShader::Parameter::getSemantic | ( |  | ) | const
| inline inherited

Get the semantic of this parameter.

## ◆ getIndex()

int Ogre::RTShader::Parameter::getIndex | ( |  | ) | const
| inline inherited

Get the index of this parameter.

## ◆ getContent()

Content Ogre::RTShader::Parameter::getContent | ( |  | ) | const
| inline inherited

Return the content of this parameter.

## ◆ isArray()

bool Ogre::RTShader::Parameter::isArray | ( |  | ) | const
| inline inherited

Returns Whether this parameter is an array.

## ◆ getSize()

size_t Ogre::RTShader::Parameter::getSize | ( | void |  | ) | const
| inline inherited

Returns the number of elements in the parameter (for arrays).

## ◆ setSize()

void Ogre::RTShader::Parameter::setSize | ( | size_t | size | ) |
| inline inherited

Sets the number of elements in the parameter (for arrays).

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

- OgreShaderParameter.h