Ogre::RTShader::Function Class Reference
Core » RTShader

A class that represents a shader based program function. More...

`#include <OgreShaderFunction.h>`

Inheritance diagram for Ogre::RTShader::Function:
[legend]

## Public Types

enum | FunctionType { FFT_INTERNAL, FFT_VS_MAIN, FFT_PS_MAIN }

## Public Member Functions

void | addAtomInstance (FunctionAtom *atomInstance)
| Add a function atom instance to this function. More...
void | addInputParameter (ParameterPtr parameter)
| Add input parameter to this function. More...
void | addOutputParameter (ParameterPtr parameter)
| Add output parameter to this function. More...
void | deleteAllInputParameters ()
| Delete all input parameters from this function. More...
void | deleteAllOutputParameters ()
| Delete all output parameters from this function. More...
bool | deleteAtomInstance (FunctionAtom *atomInstance)
| Delete a function atom instance from this function. More...
void | deleteInputParameter (ParameterPtr parameter)
| Delete input parameter from this function. More...
void | deleteOutputParameter (ParameterPtr parameter)
| Delete output parameter from this function. More...
FunctionAtomInstanceList & | getAtomInstances ()
| Return list of atom instances composing this function. More...
const FunctionAtomInstanceList & | getAtomInstances () const
| Return list of atom instances composing this function. More...
const String & | getDescription () const
| Get the description of this function. More...
FunctionType | getFunctionType () const
| get function type. More...
const ShaderParameterList & | getInputParameters () const
| Return a list of input parameters. More...
const ShaderParameterList & | getLocalParameters () const
| Return a list of local parameters. More...
const String & | getName () const
| Get the name of this function. More...
const ShaderParameterList & | getOutputParameters () const
| Return a list of output parameters. More...
ParameterPtr | getParameterByContent (const ShaderParameterList &parameterList, const Parameter::Content content, GpuConstantType type)
| Get parameter by a given content and type from the given parameter list. More...
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 *)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void * | operator new[] (size_t sz)
ParameterPtr | resolveInputParameter (Parameter::Semantic semantic, int index, const Parameter::Content content, GpuConstantType type)
| Resolve input parameter of this function. More...
ParameterPtr | resolveLocalParameter (Parameter::Semantic semantic, int index, const String &name, GpuConstantType type)
| Resolve local parameter of this function. More...
ParameterPtr | resolveLocalParameter (Parameter::Semantic semantic, int index, const Parameter::Content content, GpuConstantType type)
| Resolve local parameter of this function. More...
ParameterPtr | resolveOutputParameter (Parameter::Semantic semantic, int index, const Parameter::Content content, GpuConstantType type)
| Resolve output parameter of this function. More...
void | sortAtomInstances ()
| Sort all atom instances of this function. More...

## Static Public Member Functions

static ParameterPtr | getParameterByName (const ShaderParameterList &parameterList, const String &name)
| Get parameter by a given name from the given parameter list. More...
static ParameterPtr | getParameterBySemantic (const ShaderParameterList &parameterList, const Parameter::Semantic semantic, int index)
| Get parameter by a given semantic and index from the given parameter list. More...

## Protected Member Functions

| Function (const String &name, const String &desc, const FunctionType functionType)
| Class constructor. More...
| ~Function ()
| Class destructor. More...
void | addParameter (ShaderParameterList &parameterList, ParameterPtr parameter)
| Add parameter to given list. More...
void | deleteParameter (ShaderParameterList &parameterList, ParameterPtr parameter)
| Delete parameter from a given list. More...

## Protected Attributes

FunctionAtomInstanceList | mAtomInstances
String | mDescription
FunctionType | mFunctionType
ShaderParameterList | mInputParameters
ShaderParameterList | mLocalParameters
String | mName
ShaderParameterList | mOutputParameters

## Friends

class | Program

## Detailed Description

A class that represents a shader based program function.

Definition at line 46 of file OgreShaderFunction.h.

## Member Enumeration Documentation

## FunctionType

enum Ogre::RTShader::Function::FunctionType

Enumerator
FFT_INTERNAL |
FFT_VS_MAIN |
FFT_PS_MAIN |

Definition at line 50 of file OgreShaderFunction.h.

## Constructor & Destructor Documentation

## Function()

Ogre::RTShader::Function::Function | ( | const String & | name,
|  | const String & | desc,
|  | const FunctionType | functionType
| ) |  |

protected

Class constructor.

Parameters

  name | The name of this function.
  desc | The description of this function.

Remarks
  This class is allocated via an instance of Program class.

## ~Function()

Ogre::RTShader::Function::~Function | ( |  | ) |

protected

Class destructor.

## Member Function Documentation

## addAtomInstance()

void Ogre::RTShader::Function::addAtomInstance | ( | FunctionAtom * | atomInstance | ) |

Add a function atom instance to this function.

Parameters

  atomInstance | The atom instance to add.

## addInputParameter()

void Ogre::RTShader::Function::addInputParameter | ( | ParameterPtr | parameter | ) |

Add input parameter to this function.

## addOutputParameter()

void Ogre::RTShader::Function::addOutputParameter | ( | ParameterPtr | parameter | ) |

Add output parameter to this function.

## addParameter()

void Ogre::RTShader::Function::addParameter | ( | ShaderParameterList & | parameterList,
|  | ParameterPtr | parameter
| ) |  |

protected

Add parameter to given list.

## deleteAllInputParameters()

void Ogre::RTShader::Function::deleteAllInputParameters | ( |  | ) |

Delete all input parameters from this function.

## deleteAllOutputParameters()

void Ogre::RTShader::Function::deleteAllOutputParameters | ( |  | ) |

Delete all output parameters from this function.

## deleteAtomInstance()

bool Ogre::RTShader::Function::deleteAtomInstance | ( | FunctionAtom * | atomInstance | ) |

Delete a function atom instance from this function.

Parameters

  atomInstance | The atom instance to OGRE_DELETE.

## deleteInputParameter()

void Ogre::RTShader::Function::deleteInputParameter | ( | ParameterPtr | parameter | ) |

Delete input parameter from this function.

## deleteOutputParameter()

void Ogre::RTShader::Function::deleteOutputParameter | ( | ParameterPtr | parameter | ) |

Delete output parameter from this function.

## deleteParameter()

void Ogre::RTShader::Function::deleteParameter | ( | ShaderParameterList & | parameterList,
|  | ParameterPtr | parameter
| ) |  |

protected

Delete parameter from a given list.

## getAtomInstances() [1/2]

FunctionAtomInstanceList& Ogre::RTShader::Function::getAtomInstances | ( |  | ) |

Return list of atom instances composing this function.

Definition at line 156 of file OgreShaderFunction.h.

## getAtomInstances() [2/2]

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.

## getDescription()

const String& Ogre::RTShader::Function::getDescription | ( |  | ) | const

Get the description of this function.

Definition at line 64 of file OgreShaderFunction.h.

## getFunctionType()

FunctionType Ogre::RTShader::Function::getFunctionType | ( |  | ) | const

get function type.

## getInputParameters()

const ShaderParameterList& Ogre::RTShader::Function::getInputParameters | ( |  | ) | const

Return a list of input parameters.

Definition at line 134 of file OgreShaderFunction.h.

## getLocalParameters()

const ShaderParameterList& Ogre::RTShader::Function::getLocalParameters | ( |  | ) | const

Return a list of local parameters.

Definition at line 140 of file OgreShaderFunction.h.

## getName()

const String& Ogre::RTShader::Function::getName | ( | void |  | ) | const

Get the name of this function.

Definition at line 61 of file OgreShaderFunction.h.

## getOutputParameters()

const ShaderParameterList& Ogre::RTShader::Function::getOutputParameters | ( |  | ) | const

Return a list of output parameters.

Definition at line 137 of file OgreShaderFunction.h.

## getParameterByContent()

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.

Parameters

  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.

Remarks
  Return NULL if no matching parameter found.

## getParameterByName()

static ParameterPtr Ogre::RTShader::Function::getParameterByName | ( | const ShaderParameterList & | parameterList,
|  | const String & | name
| ) |  |

static

Get parameter by a given name from the given parameter list.

Parameters

  parameterList | The parameters list to look in.
  name | The name of the parameter to search in the list.

Remarks
  Return NULL if no matching parameter found.

## getParameterBySemantic()

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.

Parameters

  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.

Remarks
  Return NULL if no matching parameter found.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

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 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

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 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## resolveInputParameter()

ParameterPtr Ogre::RTShader::Function::resolveInputParameter | ( | Parameter::Semantic | semantic,
|  | int | index,
|  | const Parameter::Content | content,
|  | GpuConstantType | type
| ) |  |

Resolve input parameter of this function.

Parameters

  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.

Remarks
  Pass -1 as index parameter to create a new parameter with the desired semantic and type.

## resolveLocalParameter() [1/2]

ParameterPtr Ogre::RTShader::Function::resolveLocalParameter | ( | Parameter::Semantic | semantic,
|  | int | index,
|  | const String & | name,
|  | GpuConstantType | type
| ) |  |

Resolve local parameter of this function.

Parameters

  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.

## resolveLocalParameter() [2/2]

ParameterPtr Ogre::RTShader::Function::resolveLocalParameter | ( | Parameter::Semantic | semantic,
|  | int | index,
|  | const Parameter::Content | content,
|  | GpuConstantType | type
| ) |  |

Resolve local parameter of this function.

Parameters

  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.

## resolveOutputParameter()

ParameterPtr Ogre::RTShader::Function::resolveOutputParameter | ( | Parameter::Semantic | semantic,
|  | int | index,
|  | const Parameter::Content | content,
|  | GpuConstantType | type
| ) |  |

Resolve output parameter of this function.

Parameters

  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.

Remarks
  Pass -1 as index parameter to create a new parameter with the desired semantic and type.

## sortAtomInstances()

void Ogre::RTShader::Function::sortAtomInstances | ( |  | ) |

Sort all atom instances of this function.

## Friends And Related Function Documentation

## Program

friend class Program

friend

Definition at line 218 of file OgreShaderFunction.h.

## Member Data Documentation

## mAtomInstances

FunctionAtomInstanceList Ogre::RTShader::Function::mAtomInstances

protected

Definition at line 213 of file OgreShaderFunction.h.

## mDescription

String Ogre::RTShader::Function::mDescription

protected

Definition at line 205 of file OgreShaderFunction.h.

## mFunctionType

FunctionType Ogre::RTShader::Function::mFunctionType

protected

Definition at line 215 of file OgreShaderFunction.h.

## mInputParameters

ShaderParameterList Ogre::RTShader::Function::mInputParameters

protected

Definition at line 207 of file OgreShaderFunction.h.

## mLocalParameters

ShaderParameterList Ogre::RTShader::Function::mLocalParameters

protected

Definition at line 211 of file OgreShaderFunction.h.

## mName

String Ogre::RTShader::Function::mName

protected

Definition at line 203 of file OgreShaderFunction.h.

## mOutputParameters

ShaderParameterList Ogre::RTShader::Function::mOutputParameters

protected

Definition at line 209 of file OgreShaderFunction.h.

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

- OgreShaderFunction.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.