![]() |
OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
A class that represents an atomic code section of shader based program function. More...
#include <OgreShaderFunctionAtom.h>
Inheritance diagram for Ogre::RTShader::FunctionAtom:Public Types | |
| typedef std::vector< Operand > | OperandVector |
Public Member Functions | |
| virtual | ~FunctionAtom () |
| Class default destructor. | |
| int | getGroupExecutionOrder () const |
| Get the group execution order of this function atom. | |
| OperandVector & | getOperandList () |
| Get a list of parameters this function invocation will use in the function call as arguments. | |
| 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. | |
| 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. | |
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 |
References Ogre::RTShader::Operand::OPM_ALL.
| 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::AssignmentAtom, Ogre::RTShader::BinaryOpAtom, Ogre::RTShader::BuiltinFunctionAtom, Ogre::RTShader::FunctionInvocation, and Ogre::RTShader::SampleTextureAtom.