Loading...
Searching...
No Matches
Ogre::RTShader::Function Class Reference
Optional Components » RTShaderSystem

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

`#include <OgreShaderFunction.h>`

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

## Public Member Functions

| Function (GpuProgramType type=GPT_VERTEX_PROGRAM)
void | addAtomInstance (FunctionAtom *atomInstance)
| Add a function atom instance to this function.
void | addInputParameter (ParameterPtr parameter)
| Add input parameter to this function.
void | addOutputParameter (ParameterPtr parameter)
| Add output parameter to this function.
void | deleteAllInputParameters ()
| Delete all input parameters from this function.
void | deleteAllOutputParameters ()
| Delete all output parameters from this function.
bool | deleteAtomInstance (FunctionAtom *atomInstance)
| Delete a function atom instance from this function.
void | deleteInputParameter (ParameterPtr parameter)
| Delete input parameter from this function.
void | deleteOutputParameter (ParameterPtr parameter)
| Delete output parameter from this function.
const FunctionAtomInstanceList & | getAtomInstances ()
| Return list of atom instances composing this function.
ParameterPtr | getInputParameter (int content, GpuConstantType type=GCT_UNKNOWN)
| get input parameter by content
const ShaderParameterList & | getInputParameters () const
| Return a list of input parameters.
ParameterPtr | getLocalParameter (const String &name)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ParameterPtr | getLocalParameter (int content)
| get local parameter by content
const ShaderParameterList & | getLocalParameters () const
| Return a list of local parameters.
ParameterPtr | getOutputParameter (int content, GpuConstantType type=GCT_UNKNOWN)
| get output parameter by content
const ShaderParameterList & | getOutputParameters () const
| Return a list of output parameters.
FunctionStageRef | getStage (uint32 s)
| get a FFPShaderStage of this function
ParameterPtr | resolveInputParameter (const ParameterPtr &out)
| resolve input parameter from previous output
ParameterPtr | resolveInputParameter (int content, GpuConstantType type=GCT_UNKNOWN)
| Resolve input parameter of this function.
ParameterPtr | resolveInputParameter (Parameter::Semantic semantic, int index, int content, GpuConstantType type)
ParameterPtr | resolveLocalParameter (GpuConstantType type, const String &name, size_t arraySize=0)
| Resolve local parameter of this function.
ParameterPtr | resolveLocalParameter (int content, GpuConstantType type=GCT_UNKNOWN)
| Resolve local parameter of this function.
ParameterPtr | resolveLocalStructParameter (const String &type, const String &name)
ParameterPtr | resolveOutputParameter (int content, GpuConstantType type=GCT_UNKNOWN)
| Resolve output parameter of this function.
ParameterPtr | resolveOutputParameter (Parameter::Semantic semantic, int index, int content, GpuConstantType type)

## Detailed Description

A class that represents a shader based program function.

## Constructor & Destructor Documentation

## Function()

Ogre::RTShader::Function::Function | ( | GpuProgramType | type = GPT_VERTEX_PROGRAM | ) |

explicit

References Function(), and Ogre::GPT_VERTEX_PROGRAM.

Referenced by Function().

## Member Function Documentation

## resolveInputParameter() [1/3]

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

Deprecated

Referenced by resolveInputParameter(), and resolveInputParameter().

## resolveInputParameter() [2/3]

ParameterPtr Ogre::RTShader::Function::resolveInputParameter | ( | int | content,
|  | GpuConstantType | type = GCT_UNKNOWN )

inline

Resolve input parameter of this function.

Parameters

  content | The content of the parameter.
  type | The type of the desired parameter.

Returns
  parameter instance in case of that resolve operation succeeded.

References Ogre::GCT_UNKNOWN, resolveInputParameter(), and Ogre::RTShader::Parameter::SPS_UNKNOWN.

## resolveInputParameter() [3/3]

ParameterPtr Ogre::RTShader::Function::resolveInputParameter | ( | const ParameterPtr & | out | ) |

inline

resolve input parameter from previous output

References OgreAssert, and resolveInputParameter().

## getInputParameter()

ParameterPtr Ogre::RTShader::Function::getInputParameter | ( | int | content,
|  | GpuConstantType | type = GCT_UNKNOWN )

inline

get input parameter by content

Parameters

  content |
  type | The type of the desired parameter.

Returns
  parameter or NULL if not found

References Ogre::GCT_UNKNOWN.

## resolveOutputParameter() [1/2]

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

Deprecated

Referenced by resolveOutputParameter().

## resolveOutputParameter() [2/2]

ParameterPtr Ogre::RTShader::Function::resolveOutputParameter | ( | int | content,
|  | GpuConstantType | type = GCT_UNKNOWN )

inline

Resolve output parameter of this function.

Parameters

  content | The content of the parameter.
  type | The type of the desired parameter.

Returns
  parameter instance in case of that resolve operation succeeded.

References Ogre::GCT_UNKNOWN, resolveOutputParameter(), and Ogre::RTShader::Parameter::SPS_UNKNOWN.

## getOutputParameter()

ParameterPtr Ogre::RTShader::Function::getOutputParameter | ( | int | content,
|  | GpuConstantType | type = GCT_UNKNOWN )

inline

get output parameter by content

Parameters

  content |
  type | The type of the desired parameter.

Returns
  parameter or NULL if not found

References Ogre::GCT_UNKNOWN.

## resolveLocalParameter() [1/2]

ParameterPtr Ogre::RTShader::Function::resolveLocalParameter | ( | GpuConstantType | type,
|  | const String & | name,
|  | size_t | arraySize = 0 )

Resolve local parameter of this function.

local parameters do not have index or semantic.

Parameters

  name | The name of the parameter.
  type | The type of the desired parameter.
  arraySize | If > 0, the parameter will be an array of the given size.

Returns
  parameter instance in case of that resolve operation succeeded.

## resolveLocalParameter() [2/2]

ParameterPtr Ogre::RTShader::Function::resolveLocalParameter | ( | int | content,
|  | GpuConstantType | type = GCT_UNKNOWN )

Resolve local parameter of this function.

local parameters do not have index or semantic.

Parameters

  content | The content of the parameter.
  type | The type of the desired parameter.

Returns
  parameter instance in case of that resolve operation succeeded.

References Ogre::GCT_UNKNOWN.

## resolveLocalStructParameter()

ParameterPtr Ogre::RTShader::Function::resolveLocalStructParameter | ( | const String & | type,
|  | const String & | name )

## getLocalParameter() [1/2]

ParameterPtr Ogre::RTShader::Function::getLocalParameter | ( | int | content | ) |

inline

get local parameter by content

Parameters

  content |

Returns
  parameter or NULL if not found

References Ogre::GCT_UNKNOWN.

## getLocalParameter() [2/2]

ParameterPtr Ogre::RTShader::Function::getLocalParameter | ( | const String & | name | ) |

inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## getInputParameters()

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

inline

Return a list of input parameters.

## getOutputParameters()

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

inline

Return a list of output parameters.

## getLocalParameters()

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

inline

Return a list of local parameters.

## addAtomInstance()

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

Add a function atom instance to this function.

Parameters

  atomInstance | The atom instance to add.

## getStage()

FunctionStageRef Ogre::RTShader::Function::getStage | ( | uint32 | s | ) |

inline

get a FFPShaderStage of 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.

## getAtomInstances()

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

Return list of atom instances composing this function.

(Const version)

## 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.

## 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.

## 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.

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

- OgreShaderFunction.h