OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
A class that represents an atomic code section of shader based program function. More...
#include <OgreShaderFunctionAtom.h>
Public Types | |
typedef std::vector< Operand > | OperandVector |
Public Member Functions | |
virtual | ~FunctionAtom () |
Class default destructor. More... | |
int | getGroupExecutionOrder () const |
Get the group execution order of this function atom. More... | |
OperandVector & | getOperandList () |
Get a list of parameters this function invocation will use in the function call as arguments. More... | |
void | pushOperand (ParameterPtr parameter, Operand::OpSemantic opSemantic, Operand::OpMask 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 =0 |
Abstract method that writes a source code to the given output stream in the target shader language. More... | |
A class that represents an atomic code section of shader based program function.
typedef std::vector<Operand> Ogre::RTShader::FunctionAtom::OperandVector |
|
inlinevirtual |
Class default destructor.
int Ogre::RTShader::FunctionAtom::getGroupExecutionOrder | ( | ) | const |
Get the group execution order of this function atom.
|
inline |
Get a list of parameters this function invocation will use in the function call as arguments.
void Ogre::RTShader::FunctionAtom::pushOperand | ( | ParameterPtr | parameter, |
Operand::OpSemantic | opSemantic, | ||
Operand::OpMask | 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::FunctionAtom::setOperands | ( | const OperandVector & | ops | ) |
|
pure virtual |
Abstract method that writes a source code to the given output stream in the target shader language.
Implemented in Ogre::RTShader::BuiltinFunctionAtom, Ogre::RTShader::BinaryOpAtom, Ogre::RTShader::SampleTextureAtom, Ogre::RTShader::AssignmentAtom, and Ogre::RTShader::FunctionInvocation.