Ogre::RTShader::UniformParameter Class Reference
[RTShader]

Uniform parameter class. More...

#include <OgreShaderParameter.h>

Inheritance diagram for Ogre::RTShader::UniformParameter:
Inheritance graph
[legend]

List of all members.

Public Types

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
}
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_CUSTOM_CONTENT_BEGIN = 1000, SPC_CUSTOM_CONTENT_END = 2000
}

Public Member Functions

 UniformParameter (GpuConstantType type, const String &name, const Semantic &semantic, int index, const Content &content, uint16 variability, size_t size)
 Class constructor.
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, Real fAutoConstantData, size_t size)
 Class constructor.
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, Real fAutoConstantData, size_t size, GpuConstantType type)
 Class constructor.
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, size_t nAutoConstantData, size_t size)
 Class constructor.
 UniformParameter (GpuProgramParameters::AutoConstantType autoType, size_t nAutoConstantData, size_t size, GpuConstantType type)
 Class constructor.
size_t getAutoConstantIntData () const
 Get auto constant int data of this parameter, in case it is auto constant parameter.
Real getAutoConstantRealData () const
 Get auto constant real data of this parameter, in case it is auto constant parameter.
bool isFloat () const
 Return true if this parameter is a floating point type, false otherwise.
bool isSampler () const
 Return true if this parameter is a texture sampler type, false otherwise.
bool isAutoConstantParameter () const
 Return true if this parameter is an auto constant parameter, false otherwise.
bool isAutoConstantIntParameter () const
 Return true if this parameter an auto constant with int data type, false otherwise.
bool isAutoConstantRealParameter () const
 Return true if this parameter an auto constant with real data type, false otherwise.
GpuProgramParameters::AutoConstantType getAutoConstantType () const
 Return the auto constant type of this parameter.
uint16 getVariability () const
 Return the variability of this parameter.
void bind (GpuProgramParametersSharedPtr paramsPtr)
 Bind this parameter to the corresponding GPU parameter.
void setGpuParameter (int val)
 Update the GPU parameter with the given value.
void setGpuParameter (Real val)
 Update the GPU parameter with the given value.
void setGpuParameter (const ColourValue &val)
 Update the GPU parameter with the given value.
void setGpuParameter (const Vector2 &val)
 Update the GPU parameter with the given value.
void setGpuParameter (const Vector3 &val)
 Update the GPU parameter with the given value.
void setGpuParameter (const Vector4 &val)
 Update the GPU parameter with the given value.
void setGpuParameter (const Matrix4 &val)
 Update the GPU parameter with the given value.
void setGpuParameter (const float *val, size_t count, size_t multiple=4)
 Update the GPU parameter with the given value.
void setGpuParameter (const double *val, size_t count, size_t multiple=4)
 Update the GPU parameter with the given value.
void setGpuParameter (const int *val, size_t count, size_t multiple=4)
 Update the GPU parameter with the given value.
const StringgetName () const
 Get the name of this parameter.
GpuConstantType getType () const
 Get the type of this parameter.
const SemanticgetSemantic () const
 Get the semantic of this parameter.
int getIndex () const
 Get the index of this parameter.
Content getContent () const
 Return the content of this parameter.
virtual bool isConstParameter () const
 Returns true if this instance is a ConstParameter otherwise false.
virtual String toString () const
 Returns the string representation of this parameter.
bool isArray () const
 Returns Whether this parameter is an array.
size_t getSize () const
 Returns the number of elements in the parameter (for arrays).
void setSize (size_t size)
 Sets the number of elements in the parameter (for arrays).
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)

Protected Attributes

bool mIsAutoConstantReal
bool mIsAutoConstantInt
GpuProgramParameters::AutoConstantType mAutoConstantType
union {
   size_t   mAutoConstantIntData
   Real   mAutoConstantRealData
}; 
uint16 mVariability
GpuProgramParametersmParamsPtr
size_t mPhysicalIndex
String mName
GpuConstantType mType
Semantic mSemantic
int mIndex
Content mContent
size_t mSize

Detailed Description

Uniform parameter class.

Allow fast access to GPU parameter updates.

Definition at line 371 of file OgreShaderParameter.h.


Member Enumeration Documentation

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_CUSTOM_CONTENT_BEGIN 

Reserved custom content range to be used by user custom shader extensions.

SPC_CUSTOM_CONTENT_END 

Definition at line 76 of file OgreShaderParameter.h.

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).

Definition at line 53 of file OgreShaderParameter.h.


Constructor & Destructor Documentation

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:
type The type of this parameter.
name The name of this parameter.
semantic The semantic of this parameter.
index The index of this parameter.
content The content of this parameter.
variability How this parameter varies (bitwise combination of GpuProgramVariability).
size number of elements in the parameter.
Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
Real  fAutoConstantData,
size_t  size 
)

Class constructor.

Parameters:
autoType The auto type of this parameter.
fAutoConstantData The real data for this auto constant parameter.
size number of elements in the parameter.
Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
Real  fAutoConstantData,
size_t  size,
GpuConstantType  type 
)

Class constructor.

Parameters:
autoType The auto type of this parameter.
fAutoConstantData The real data for this auto constant parameter.
size number of elements in the parameter.
type The desired data type of this auto constant parameter.
Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
size_t  nAutoConstantData,
size_t  size 
)

Class constructor.

Parameters:
autoType The auto type of this parameter.
nAutoConstantData The int data for this auto constant parameter.
size number of elements in the parameter.
Ogre::RTShader::UniformParameter::UniformParameter ( GpuProgramParameters::AutoConstantType  autoType,
size_t  nAutoConstantData,
size_t  size,
GpuConstantType  type 
)

Class constructor.

Parameters:
autoType The auto type of this parameter.
nAutoConstantData The int data for this auto constant parameter.
size number of elements in the parameter.
type The desired data type of this auto constant parameter.

Member Function Documentation

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

Bind this parameter to the corresponding GPU parameter.

size_t Ogre::RTShader::UniformParameter::getAutoConstantIntData (  )  const

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

Definition at line 421 of file OgreShaderParameter.h.

References mAutoConstantIntData.

Real Ogre::RTShader::UniformParameter::getAutoConstantRealData (  )  const

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

Definition at line 424 of file OgreShaderParameter.h.

References mAutoConstantRealData.

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

Return the auto constant type of this parameter.

Definition at line 442 of file OgreShaderParameter.h.

References mAutoConstantType.

Content Ogre::RTShader::Parameter::getContent (  )  const [inherited]

Return the content of this parameter.

Definition at line 336 of file OgreShaderParameter.h.

int Ogre::RTShader::Parameter::getIndex (  )  const [inherited]

Get the index of this parameter.

Definition at line 333 of file OgreShaderParameter.h.

const String& Ogre::RTShader::Parameter::getName ( void   )  const [inherited]

Get the name of this parameter.

Definition at line 324 of file OgreShaderParameter.h.

const Semantic& Ogre::RTShader::Parameter::getSemantic (  )  const [inherited]

Get the semantic of this parameter.

Definition at line 330 of file OgreShaderParameter.h.

size_t Ogre::RTShader::Parameter::getSize (  )  const [inherited]

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

Definition at line 348 of file OgreShaderParameter.h.

GpuConstantType Ogre::RTShader::Parameter::getType ( void   )  const [inherited]

Get the type of this parameter.

Definition at line 327 of file OgreShaderParameter.h.

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

Return the variability of this parameter.

Definition at line 445 of file OgreShaderParameter.h.

References mVariability.

bool Ogre::RTShader::Parameter::isArray (  )  const [inherited]

Returns Whether this parameter is an array.

Definition at line 345 of file OgreShaderParameter.h.

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

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

Definition at line 436 of file OgreShaderParameter.h.

References mIsAutoConstantInt.

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

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

Definition at line 433 of file OgreShaderParameter.h.

References mIsAutoConstantInt, and mIsAutoConstantReal.

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

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

Definition at line 439 of file OgreShaderParameter.h.

References mIsAutoConstantReal.

virtual bool Ogre::RTShader::Parameter::isConstParameter (  )  const [virtual, inherited]

Returns true if this instance is a ConstParameter otherwise false.

Reimplemented in Ogre::RTShader::ConstParameter< valueType >.

Definition at line 339 of file OgreShaderParameter.h.

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

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

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

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

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [inherited]

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr  )  [inherited]

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr  )  [inherited]

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
) [inherited]

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz  )  [inherited]

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz  )  [inherited]

Definition at line 90 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

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

Update the GPU parameter with the given value.

Definition at line 534 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstants(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 525 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstants(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 516 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstants(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 507 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstant(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 498 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstant(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 489 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstant(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 480 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstants(), mParamsPtr, mPhysicalIndex, and Ogre::Vector2::ptr().

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

Update the GPU parameter with the given value.

Definition at line 471 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstant(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 462 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstant(), mParamsPtr, and mPhysicalIndex.

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

Update the GPU parameter with the given value.

Definition at line 453 of file OgreShaderParameter.h.

References Ogre::GpuProgramParameters::_writeRawConstant(), mParamsPtr, and mPhysicalIndex.

void Ogre::RTShader::Parameter::setSize ( size_t  size  )  [inherited]

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

Definition at line 351 of file OgreShaderParameter.h.

virtual String Ogre::RTShader::Parameter::toString (  )  const [virtual, inherited]

Returns the string representation of this parameter.

Reimplemented in Ogre::RTShader::ConstParameter< valueType >.

Definition at line 342 of file OgreShaderParameter.h.


Member Data Documentation

union { ... } [protected]

Definition at line 548 of file OgreShaderParameter.h.

Referenced by getAutoConstantIntData().

Definition at line 549 of file OgreShaderParameter.h.

Referenced by getAutoConstantRealData().

Definition at line 545 of file OgreShaderParameter.h.

Referenced by getAutoConstantType().

Definition at line 359 of file OgreShaderParameter.h.

int Ogre::RTShader::Parameter::mIndex [protected, inherited]

Definition at line 358 of file OgreShaderParameter.h.

Definition at line 544 of file OgreShaderParameter.h.

Referenced by isAutoConstantIntParameter(), and isAutoConstantParameter().

Definition at line 543 of file OgreShaderParameter.h.

Referenced by isAutoConstantParameter(), and isAutoConstantRealParameter().

String Ogre::RTShader::Parameter::mName [protected, inherited]

Definition at line 355 of file OgreShaderParameter.h.

Definition at line 552 of file OgreShaderParameter.h.

Referenced by setGpuParameter().

Definition at line 553 of file OgreShaderParameter.h.

Referenced by setGpuParameter().

Definition at line 357 of file OgreShaderParameter.h.

size_t Ogre::RTShader::Parameter::mSize [protected, inherited]

Definition at line 360 of file OgreShaderParameter.h.

Definition at line 356 of file OgreShaderParameter.h.

Definition at line 551 of file OgreShaderParameter.h.

Referenced by getVariability().


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:42:58 2012