Ogre::RTShader::ConstParameter< valueType > Class Template Reference
[RTShader]

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

#include <OgreShaderParameter.h>

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

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_TANGENT, SPC_BINORMAL,
  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

 ConstParameter (valueType val, GpuConstantType type, const Semantic &semantic, const Content &content)
virtual ~ConstParameter ()
const valueType & getValue () const
 Returns the native value of this parameter.
virtual bool isConstParameter () const
virtual String toString () const =0
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.
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

valueType mValue
String mName
GpuConstantType mType
Semantic mSemantic
int mIndex
Content mContent


Detailed Description

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

Helper template which is the base for our ConstParameters.

Definition at line 488 of file OgreShaderParameter.h.


Member Enumeration Documentation

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.

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_TANGENT  Tangent vector.
SPC_BINORMAL  Binormal vector.
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.


Constructor & Destructor Documentation

template<class valueType>
Ogre::RTShader::ConstParameter< valueType >::ConstParameter ( valueType  val,
GpuConstantType  type,
const Semantic semantic,
const Content content 
)

template<class valueType>
virtual Ogre::RTShader::ConstParameter< valueType >::~ConstParameter (  )  [virtual]

Definition at line 501 of file OgreShaderParameter.h.


Member Function Documentation

template<class valueType>
const valueType& Ogre::RTShader::ConstParameter< valueType >::getValue ( void   )  const

Returns the native value of this parameter.

(for example a Vector3)

Definition at line 504 of file OgreShaderParameter.h.

References Ogre::RTShader::ConstParameter< valueType >::mValue.

template<class valueType>
virtual bool Ogre::RTShader::ConstParameter< valueType >::isConstParameter (  )  const [virtual]

See also:
Parameter::isConstParameter.

Reimplemented from Ogre::RTShader::Parameter.

Definition at line 509 of file OgreShaderParameter.h.

template<class valueType>
virtual String Ogre::RTShader::ConstParameter< valueType >::toString (  )  const [pure virtual]

See also:
Parameter::toString.

Reimplemented from Ogre::RTShader::Parameter.

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

Get the name of this parameter.

Definition at line 302 of file OgreShaderParameter.h.

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

Get the type of this parameter.

Definition at line 305 of file OgreShaderParameter.h.

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

Get the semantic of this parameter.

Definition at line 308 of file OgreShaderParameter.h.

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

Get the index of this parameter.

Definition at line 311 of file OgreShaderParameter.h.

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

Return the content of this parameter.

Definition at line 314 of file OgreShaderParameter.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 72 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,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 85 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 delete ( void *  ptr  )  [inherited]

Definition at line 95 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,
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  )  [inherited]

Definition at line 112 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.


Member Data Documentation

template<class valueType>
valueType Ogre::RTShader::ConstParameter< valueType >::mValue [protected]

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

Definition at line 324 of file OgreShaderParameter.h.

Definition at line 325 of file OgreShaderParameter.h.

Definition at line 326 of file OgreShaderParameter.h.

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

Definition at line 327 of file OgreShaderParameter.h.

Definition at line 328 of file OgreShaderParameter.h.


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

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 24 18:10:45 2010