A class that represents a shader based program function. More...
#include <OgreShaderFunction.h>
Public Types | |
enum | FunctionType { FFT_INTERNAL, FFT_VS_MAIN, FFT_PS_MAIN } |
Public Member Functions | |
const String & | getName () const |
Get the name of this function. | |
const String & | getDescription () const |
Get the description of this function. | |
ParameterPtr | resolveInputParameter (Parameter::Semantic semantic, int index, const Parameter::Content content, GpuConstantType type) |
Resolve input parameter of this function. | |
ParameterPtr | resolveOutputParameter (Parameter::Semantic semantic, int index, const Parameter::Content content, GpuConstantType type) |
Resolve output parameter of this function. | |
ParameterPtr | resolveLocalParameter (Parameter::Semantic semantic, int index, const String &name, GpuConstantType type) |
Resolve local parameter of this function. | |
ParameterPtr | resolveLocalParameter (Parameter::Semantic semantic, int index, const Parameter::Content content, GpuConstantType type) |
Resolve local parameter of this function. | |
ParameterPtr | getParameterByContent (const ShaderParameterList ¶meterList, const Parameter::Content content, GpuConstantType type) |
Get parameter by a given content and type from the given parameter list. | |
const ShaderParameterList & | getInputParameters () const |
Return a list of input parameters. | |
const ShaderParameterList & | getOutputParameters () const |
Return a list of output parameters. | |
const ShaderParameterList & | getLocalParameters () const |
Return a list of local parameters. | |
void | addAtomInstace (FunctionAtom *atomInstance) |
Add a function atom instance to this function. | |
bool | deleteAtomInstance (FunctionAtom *atomInstance) |
Delete a function atom instance from this function. | |
void | sortAtomInstances () |
Sort all atom instances of this function. | |
FunctionAtomInstanceList & | getAtomInstances () |
Return list of atom instances composing this function. | |
const FunctionAtomInstanceList & | getAtomInstances () const |
Return list of atom instances composing this function. | |
void | addInputParameter (ParameterPtr parameter) |
Add input parameter to this function. | |
void | addOutputParameter (ParameterPtr parameter) |
Add output parameter to this function. | |
void | deleteInputParameter (ParameterPtr parameter) |
Delete input parameter from this function. | |
void | deleteOutputParameter (ParameterPtr parameter) |
Delete output parameter from this function. | |
void | deleteAllInputParameters () |
Delete all input parameters from this function. | |
void | deleteAllOutputParameters () |
Delete all output parameters from this function. | |
FunctionType | getFunctionType () const |
get function type. | |
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 *) |
Static Public Member Functions | |
static ParameterPtr | getParameterByName (const ShaderParameterList ¶meterList, const String &name) |
Get parameter by a given name from the given parameter list. | |
static ParameterPtr | getParameterBySemantic (const ShaderParameterList ¶meterList, const Parameter::Semantic semantic, int index) |
Get parameter by a given semantic and index from the given parameter list. | |
Protected Member Functions | |
Function (const String &name, const String &desc, const FunctionType functionType) | |
Class constructor. | |
~Function () | |
Class destructor. | |
void | addParameter (ShaderParameterList ¶meterList, ParameterPtr parameter) |
Add parameter to given list. | |
void | deleteParameter (ShaderParameterList ¶meterList, ParameterPtr parameter) |
Delete parameter from a given list. | |
Static Protected Member Functions | |
static int | sAtomInstanceCompare (const void *p0, const void *p1) |
Function atom comparison function used to sort atoms. | |
Protected Attributes | |
String | m_name |
String | m_description |
ShaderParameterList | mInputParameters |
ShaderParameterList | mOutputParameters |
ShaderParameterList | mLocalParameters |
FunctionAtomInstanceList | mAtomInstances |
FunctionType | m_functionType |
Friends | |
class | Program |
A class that represents a shader based program function.
Definition at line 46 of file OgreShaderFunction.h.
Definition at line 50 of file OgreShaderFunction.h.
Ogre::RTShader::Function::Function | ( | const String & | name, |
const String & | desc, | ||
const FunctionType | functionType | ||
) | [protected] |
Class constructor.
name | The name of this function. |
desc | The description of this function. |
Ogre::RTShader::Function::~Function | ( | ) | [protected] |
Class destructor.
void Ogre::RTShader::Function::addAtomInstace | ( | FunctionAtom * | atomInstance | ) |
Add a function atom instance to this function.
atomInstance | The atom instance to add. |
void Ogre::RTShader::Function::addInputParameter | ( | ParameterPtr | parameter | ) |
Add input parameter to this function.
void Ogre::RTShader::Function::addOutputParameter | ( | ParameterPtr | parameter | ) |
Add output parameter to this function.
void Ogre::RTShader::Function::addParameter | ( | ShaderParameterList & | parameterList, |
ParameterPtr | parameter | ||
) | [protected] |
Add parameter to given list.
void Ogre::RTShader::Function::deleteAllInputParameters | ( | ) |
Delete all input parameters from this function.
void Ogre::RTShader::Function::deleteAllOutputParameters | ( | ) |
Delete all output parameters from this function.
bool Ogre::RTShader::Function::deleteAtomInstance | ( | FunctionAtom * | atomInstance | ) |
Delete a function atom instance from this function.
atomInstance | The atom instance to OGRE_DELETE. |
void Ogre::RTShader::Function::deleteInputParameter | ( | ParameterPtr | parameter | ) |
Delete input parameter from this function.
void Ogre::RTShader::Function::deleteOutputParameter | ( | ParameterPtr | parameter | ) |
Delete output parameter from this function.
void Ogre::RTShader::Function::deleteParameter | ( | ShaderParameterList & | parameterList, |
ParameterPtr | parameter | ||
) | [protected] |
Delete parameter from a given list.
FunctionAtomInstanceList& Ogre::RTShader::Function::getAtomInstances | ( | ) |
Return list of atom instances composing this function.
Definition at line 156 of file OgreShaderFunction.h.
const FunctionAtomInstanceList& Ogre::RTShader::Function::getAtomInstances | ( | ) | const |
Return list of atom instances composing this function.
(Const version)
Definition at line 159 of file OgreShaderFunction.h.
const String& Ogre::RTShader::Function::getDescription | ( | ) | const |
Get the description of this function.
Definition at line 64 of file OgreShaderFunction.h.
FunctionType Ogre::RTShader::Function::getFunctionType | ( | ) | const |
get function type.
const ShaderParameterList& Ogre::RTShader::Function::getInputParameters | ( | ) | const |
Return a list of input parameters.
Definition at line 134 of file OgreShaderFunction.h.
const ShaderParameterList& Ogre::RTShader::Function::getLocalParameters | ( | ) | const |
Return a list of local parameters.
Definition at line 140 of file OgreShaderFunction.h.
const String& Ogre::RTShader::Function::getName | ( | void | ) | const |
Get the name of this function.
Definition at line 61 of file OgreShaderFunction.h.
const ShaderParameterList& Ogre::RTShader::Function::getOutputParameters | ( | ) | const |
Return a list of output parameters.
Definition at line 137 of file OgreShaderFunction.h.
ParameterPtr Ogre::RTShader::Function::getParameterByContent | ( | const ShaderParameterList & | parameterList, |
const Parameter::Content | content, | ||
GpuConstantType | type | ||
) |
Get parameter by a given content and type from the given parameter list.
parameterList | The parameters list to look in. |
content | The content of the parameter to search in the list. |
type | The type of the parameter to search in the list. |
static ParameterPtr Ogre::RTShader::Function::getParameterByName | ( | const ShaderParameterList & | parameterList, |
const String & | name | ||
) | [static] |
Get parameter by a given name from the given parameter list.
parameterList | The parameters list to look in. |
name | The name of the parameter to search in the list. |
static ParameterPtr Ogre::RTShader::Function::getParameterBySemantic | ( | const ShaderParameterList & | parameterList, |
const Parameter::Semantic | semantic, | ||
int | index | ||
) | [static] |
Get parameter by a given semantic and index from the given parameter list.
parameterList | The parameters list to look in. |
semantic | The semantic of the parameter to search in the list. |
index | The index of the parameter to search in the list. |
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
void * | |||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
const char * | , | ||
int | , | ||
const char * | |||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, |
const char * | , | ||
int | , | ||
const char * | |||
) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
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.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
void * | ptr | ||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
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::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
ParameterPtr Ogre::RTShader::Function::resolveInputParameter | ( | Parameter::Semantic | semantic, |
int | index, | ||
const Parameter::Content | content, | ||
GpuConstantType | type | ||
) |
Resolve input parameter of this function.
semantic | The desired parameter semantic. |
index | The index of the desired parameter. |
content | The content of the parameter. |
type | The type of the desired parameter. Return parameter instance in case of that resolve operation succeeded. |
ParameterPtr Ogre::RTShader::Function::resolveLocalParameter | ( | Parameter::Semantic | semantic, |
int | index, | ||
const String & | name, | ||
GpuConstantType | type | ||
) |
Resolve local parameter of this function.
semantic | The desired parameter semantic. |
index | The index of the desired parameter. |
name | The name of the parameter. |
type | The type of the desired parameter. Return parameter instance in case of that resolve operation succeeded. |
ParameterPtr Ogre::RTShader::Function::resolveLocalParameter | ( | Parameter::Semantic | semantic, |
int | index, | ||
const Parameter::Content | content, | ||
GpuConstantType | type | ||
) |
Resolve local parameter of this function.
semantic | The desired parameter semantic. |
index | The index of the desired parameter. |
content | The content of the parameter. |
type | The type of the desired parameter. Return parameter instance in case of that resolve operation succeeded. |
ParameterPtr Ogre::RTShader::Function::resolveOutputParameter | ( | Parameter::Semantic | semantic, |
int | index, | ||
const Parameter::Content | content, | ||
GpuConstantType | type | ||
) |
Resolve output parameter of this function.
semantic | The desired parameter semantic. |
index | The index of the desired parameter. |
content | The content of the parameter. |
type | The type of the desired parameter. Return parameter instance in case of that resolve operation succeeded. |
static int Ogre::RTShader::Function::sAtomInstanceCompare | ( | const void * | p0, |
const void * | p1 | ||
) | [static, protected] |
Function atom comparison function used to sort atoms.
void Ogre::RTShader::Function::sortAtomInstances | ( | ) |
Sort all atom instances of this function.
friend class Program [friend] |
Definition at line 214 of file OgreShaderFunction.h.
String Ogre::RTShader::Function::m_description [protected] |
Definition at line 206 of file OgreShaderFunction.h.
FunctionType Ogre::RTShader::Function::m_functionType [protected] |
Definition at line 211 of file OgreShaderFunction.h.
String Ogre::RTShader::Function::m_name [protected] |
Definition at line 205 of file OgreShaderFunction.h.
Definition at line 210 of file OgreShaderFunction.h.
Definition at line 207 of file OgreShaderFunction.h.
Definition at line 209 of file OgreShaderFunction.h.
Definition at line 208 of file OgreShaderFunction.h.
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sat Jan 14 2012 18:40:58