OGRE  13.3
Object-Oriented Graphics Rendering Engine
Ogre::RTShader::UniformParameter Class Reference

Uniform parameter class. More...

#include <OgreShaderParameter.h>

+ Inheritance diagram for Ogre::RTShader::UniformParameter:

Public Member Functions

 UniformParameter (GpuConstantType type, const String &name, const Semantic &semantic, int index, const Content &content, uint16 variability, size_t size)
 Class constructor. More...
 
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, float fAutoConstantData, size_t size)
 Class constructor. More...
 
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, float fAutoConstantData, size_t size, GpuConstantType type)
 Class constructor. More...
 
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, uint32 nAutoConstantData, size_t size)
 Class constructor. More...
 
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, uint32 nAutoConstantData, size_t size, GpuConstantType type)
 Class constructor. More...
 
void bind (GpuProgramParametersSharedPtr paramsPtr)
 Bind this parameter to the corresponding GPU parameter. More...
 
uint32 getAutoConstantIntData () const
 Get auto constant int data of this parameter, in case it is auto constant parameter. More...
 
float getAutoConstantRealData () const
 Get auto constant real data of this parameter, in case it is auto constant parameter. More...
 
GpuProgramParameters::AutoConstantType getAutoConstantType () const
 Return the auto constant type of this parameter. More...
 
uint16 getVariability () const
 Return the variability of this parameter. More...
 
bool isAutoConstantIntParameter () const
 Return true if this parameter an auto constant with int data type, false otherwise. More...
 
bool isAutoConstantParameter () const
 Return true if this parameter is an auto constant parameter, false otherwise. More...
 
bool isAutoConstantRealParameter () const
 Return true if this parameter an auto constant with real data type, false otherwise. More...
 
bool isFloat () const
 Return true if this parameter is a floating point type, false otherwise. More...
 
bool isSampler () const
 Return true if this parameter is a texture sampler type, false otherwise. More...
 
void setGpuParameter (const ColourValue &val)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (const double *val, size_t count, size_t multiple=4)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (const float *val, size_t count, size_t multiple=4)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (const int *val, size_t count, size_t multiple=4)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (const Matrix3 &val)
 
void setGpuParameter (const Matrix4 &val)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (const Vector2 &val)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (const Vector3 &val)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (const Vector4 &val)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (int val)
 Update the GPU parameter with the given value. More...
 
void setGpuParameter (Real val)
 Update the GPU parameter with the given value. More...
 
void updateExtraInfo (uint32 data)
 light index or array size More...
 
- Public Member Functions inherited from Ogre::RTShader::Parameter
 Parameter ()
 
 Parameter (GpuConstantType type, const String &name, const Semantic &semantic, int index, const Content &content, size_t size=0)
 Class constructor. More...
 
virtual ~Parameter ()
 Class destructor. More...
 
void _rename (const String &newName, bool onlyLocal=false)
 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 StringgetName () const
 Get the name of this parameter. More...
 
const SemanticgetSemantic () 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...
 
bool isArray () const
 Returns Whether this parameter is an array. More...
 
virtual bool isConstParameter () const
 Returns true if this instance is a ConstParameter otherwise false. More...
 
bool isUsed ()
 
void setSize (size_t size)
 Sets the number of elements in the parameter (for arrays). More...
 
void setUsed (bool used)
 track whether this was used More...
 
virtual String toString () const
 Returns the string representation of this parameter. More...
 

Additional Inherited Members

- Public Types inherited from Ogre::RTShader::Parameter
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_FRONT_FACING, SPC_CUSTOM_CONTENT_BEGIN = 1000, SPC_CUSTOM_CONTENT_END = 2000
}
 Shader parameter content. More...
 
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, SPS_FRONT_FACING
}
 

Detailed Description

Uniform parameter class.

Allow fast access to GPU parameter updates.

Constructor & Destructor Documentation

◆ UniformParameter() [1/5]

Ogre::RTShader::UniformParameter::UniformParameter ( GpuConstantType  type,
const String name,
const Semantic semantic,
int  index,
const Content content,
uint16  variability,
size_t  size 
)

Class constructor.

Parameters
typeThe type of this parameter.
nameThe name of this parameter.
semanticThe semantic of this parameter.
indexThe index of this parameter.
contentThe content of this parameter.
variabilityHow this parameter varies (bitwise combination of GpuProgramVariability).
sizenumber of elements in the parameter.

◆ UniformParameter() [2/5]

Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
float  fAutoConstantData,
size_t  size 
)

Class constructor.

Parameters
autoTypeThe auto type of this parameter.
fAutoConstantDataThe real data for this auto constant parameter.
sizenumber of elements in the parameter.

◆ UniformParameter() [3/5]

Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
float  fAutoConstantData,
size_t  size,
GpuConstantType  type 
)

Class constructor.

Parameters
autoTypeThe auto type of this parameter.
fAutoConstantDataThe real data for this auto constant parameter.
sizenumber of elements in the parameter.
typeThe desired data type of this auto constant parameter.

◆ UniformParameter() [4/5]

Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
uint32  nAutoConstantData,
size_t  size 
)

Class constructor.

Parameters
autoTypeThe auto type of this parameter.
nAutoConstantDataThe int data for this auto constant parameter.
sizenumber of elements in the parameter.

◆ UniformParameter() [5/5]

Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
uint32  nAutoConstantData,
size_t  size,
GpuConstantType  type 
)

Class constructor.

Parameters
autoTypeThe auto type of this parameter.
nAutoConstantDataThe int data for this auto constant parameter.
sizenumber of elements in the parameter.
typeThe desired data type of this auto constant parameter.

Member Function Documentation

◆ getAutoConstantIntData()

uint32 Ogre::RTShader::UniformParameter::getAutoConstantIntData ( ) const
inline

Get auto constant int data of this parameter, in case it is auto constant parameter.

◆ getAutoConstantRealData()

float Ogre::RTShader::UniformParameter::getAutoConstantRealData ( ) const
inline

Get auto constant real data of this parameter, in case it is auto constant parameter.

◆ isFloat()

bool Ogre::RTShader::UniformParameter::isFloat ( ) const
inline

Return true if this parameter is a floating point type, false otherwise.

References Ogre::GpuConstantDefinition::isFloat().

◆ isSampler()

bool Ogre::RTShader::UniformParameter::isSampler ( ) const
inline

Return true if this parameter is a texture sampler type, false otherwise.

References Ogre::GpuConstantDefinition::isSampler().

◆ isAutoConstantParameter()

bool Ogre::RTShader::UniformParameter::isAutoConstantParameter ( ) const
inline

Return true if this parameter is an auto constant parameter, false otherwise.

◆ isAutoConstantIntParameter()

bool Ogre::RTShader::UniformParameter::isAutoConstantIntParameter ( ) const
inline

Return true if this parameter an auto constant with int data type, false otherwise.

◆ isAutoConstantRealParameter()

bool Ogre::RTShader::UniformParameter::isAutoConstantRealParameter ( ) const
inline

Return true if this parameter an auto constant with real data type, false otherwise.

◆ getAutoConstantType()

GpuProgramParameters::AutoConstantType Ogre::RTShader::UniformParameter::getAutoConstantType ( ) const
inline

Return the auto constant type of this parameter.

◆ getVariability()

uint16 Ogre::RTShader::UniformParameter::getVariability ( ) const
inline

Return the variability of this parameter.

◆ bind()

void Ogre::RTShader::UniformParameter::bind ( GpuProgramParametersSharedPtr  paramsPtr)

Bind this parameter to the corresponding GPU parameter.

◆ setGpuParameter() [1/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( int  val)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [2/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( Real  val)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [3/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const ColourValue val)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [4/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const Vector2 val)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [5/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const Vector3 val)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [6/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const Vector4 val)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [7/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const Matrix3 val)
inline

◆ setGpuParameter() [8/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const Matrix4 val)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [9/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const float *  val,
size_t  count,
size_t  multiple = 4 
)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [10/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const double *  val,
size_t  count,
size_t  multiple = 4 
)
inline

Update the GPU parameter with the given value.

◆ setGpuParameter() [11/11]

void Ogre::RTShader::UniformParameter::setGpuParameter ( const int *  val,
size_t  count,
size_t  multiple = 4 
)
inline

Update the GPU parameter with the given value.

◆ updateExtraInfo()

void Ogre::RTShader::UniformParameter::updateExtraInfo ( uint32  data)
inline

light index or array size

Member Data Documentation

◆ mAutoConstantIntData

uint32 Ogre::RTShader::UniformParameter::mAutoConstantIntData

◆ mAutoConstantRealData

float Ogre::RTShader::UniformParameter::mAutoConstantRealData

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