OGRE
1.11.6
Object-Oriented Graphics Rendering Engine
|
A class that represents function invocation code from shader based program function. More...
#include <OgreShaderFunctionAtom.h>
Classes | |
struct | FunctionInvocationCompare |
Comparator function to be used for comparisons. More... | |
struct | FunctionInvocationLessThan |
Comparator function to be used for sorting. More... | |
Public Types | |
typedef std::vector< Operand > | OperandVector |
Public Member Functions | |
FunctionInvocation (const String &functionName, int groupOrder, const String &returnType="void") | |
Class constructor. More... | |
FunctionInvocation (const FunctionInvocation &rhs) | |
Copy constructor. More... | |
virtual const String & | getFunctionAtomType () |
const String & | getFunctionName () const |
Return the function name. More... | |
int | getGroupExecutionOrder () const |
Get the group execution order of this function atom. More... | |
int | getInternalExecutionOrder () const |
Get an internal execution order within a group of this function atom. More... | |
OperandVector & | getOperandList () |
Get a list of parameters this function invocation will use in the function call as arguments. More... | |
const String & | getReturnType () const |
Return the return type. More... | |
bool | operator!= (const FunctionInvocation &rhs) const |
Determines if the current object is not equal to the compared one. More... | |
bool | operator< (const FunctionInvocation &rhs) const |
Determines if the current object is less than the compared one. More... | |
bool | operator== (const FunctionInvocation &rhs) const |
Determines if the current object is equal to the compared one. More... | |
void | pushOperand (ParameterPtr parameter, Operand::OpSemantic opSemantic, int opMask=Operand::OPM_ALL, int indirectionLevel=0) |
Push a new operand (on the end) to the function. More... | |
void | setOperands (const OperandVector &ops) |
virtual void | writeSourceCode (std::ostream &os, const String &targetLanguage) const |
Static Public Attributes | |
static String | Type |
The type of this class. More... | |
A class that represents function invocation code from shader based program function.
typedef std::vector<Operand> Ogre::RTShader::FunctionInvocation::OperandVector |
Ogre::RTShader::FunctionInvocation::FunctionInvocation | ( | const String & | functionName, |
int | groupOrder, | ||
const String & | returnType = "void" |
||
) |
Class constructor.
functionName | The name of the function to invoke. |
groupOrder | The group order of this invocation. |
returnType | The return type of the used function. |
Ogre::RTShader::FunctionInvocation::FunctionInvocation | ( | const FunctionInvocation & | rhs | ) |
Copy constructor.
|
virtual |
Implements Ogre::RTShader::FunctionAtom.
Reimplemented in Ogre::RTShader::SampleTextureAtom, and Ogre::RTShader::AssignmentAtom.
|
inlinevirtual |
Implements Ogre::RTShader::FunctionAtom.
Reimplemented in Ogre::RTShader::SampleTextureAtom, and Ogre::RTShader::AssignmentAtom.
|
inline |
Get a list of parameters this function invocation will use in the function call as arguments.
References Ogre::RTShader::Operand::OPM_ALL.
void Ogre::RTShader::FunctionInvocation::pushOperand | ( | ParameterPtr | parameter, |
Operand::OpSemantic | opSemantic, | ||
int | opMask = Operand::OPM_ALL , |
||
int | indirectionLevel = 0 |
||
) |
Push a new operand (on the end) to the function.
parameter | A function parameter. |
opSemantic | The in/out semantic of the parameter. |
opMask | The field mask of the parameter. |
indirectionLevel | The level of nesting inside brackets |
void Ogre::RTShader::FunctionInvocation::setOperands | ( | const OperandVector & | ops | ) |
|
inline |
Return the function name.
|
inline |
Return the return type.
References Ogre::operator!=(), Ogre::operator<(), and Ogre::operator==().
bool Ogre::RTShader::FunctionInvocation::operator== | ( | const FunctionInvocation & | rhs | ) | const |
Determines if the current object is equal to the compared one.
bool Ogre::RTShader::FunctionInvocation::operator!= | ( | const FunctionInvocation & | rhs | ) | const |
Determines if the current object is not equal to the compared one.
bool Ogre::RTShader::FunctionInvocation::operator< | ( | const FunctionInvocation & | rhs | ) | const |
Determines if the current object is less than the compared one.
|
inherited |
Get the group execution order of this function atom.
|
inlineinherited |
Get an internal execution order within a group of this function atom.
|
static |
The type of this class.