OGRE  13.6
Object-Oriented Graphics Rendering Engine
Ogre::RTShader::ConstParameter< valueType > Class Template Referenceabstract

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

#include <OgreShaderParameter.h>

+ Inheritance diagram for Ogre::RTShader::ConstParameter< valueType >:

Public Member Functions

 ConstParameter (valueType val, GpuConstantType type, const Semantic &semantic, const Content &content)
 
virtual ~ConstParameter ()
 
const valueType & getValue () const
 Returns the native value of this parameter. More...
 
bool isConstParameter () const override
 
String toString () const override=0
 
- 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...
 
const StringgetStructType () const
 
GpuConstantType getType () const
 Get the type of this parameter. More...
 
bool isArray () const
 Returns Whether this parameter is an array. More...
 
bool isHighP () const
 Is highp needed when using GLSL ES. More...
 
bool isUsed ()
 
void setHighP (bool highP)
 
void setSize (size_t size)
 Sets the number of elements in the parameter (for arrays). More...
 
void setStructType (const String &structType)
 
void setUsed (bool used)
 track whether this was used 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

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

Helper template which is the base for our ConstParameters.

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 ( )
inlinevirtual

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 >
bool Ogre::RTShader::ConstParameter< valueType >::isConstParameter ( ) const
inlineoverridevirtual

◆ toString()

template<class valueType >
String Ogre::RTShader::ConstParameter< valueType >::toString ( ) const
overridepure virtual
See also
Parameter::toString.

Reimplemented from Ogre::RTShader::Parameter.


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