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 String & getName () const
 Get the name of this parameter.
GpuConstantType getType () const
 Get the type of this parameter.
const Semantic & getSemantic () 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