OGRE  1.12.13
Object-Oriented Graphics Rendering Engine
Ogre::RTShader::FunctionAtom Class Referenceabstract

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< OperandOperandVector
 

Public Member Functions

virtual ~FunctionAtom ()
 Class default destructor. More...
 
int getGroupExecutionOrder () const
 Get the group execution order of this function atom. More...
 
OperandVectorgetOperandList ()
 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...
 

Detailed Description

A class that represents an atomic code section of shader based program function.

Member Typedef Documentation

◆ OperandVector

Constructor & Destructor Documentation

◆ ~FunctionAtom()

virtual Ogre::RTShader::FunctionAtom::~FunctionAtom ( )
inlinevirtual

Class default destructor.

Member Function Documentation

◆ getGroupExecutionOrder()

int Ogre::RTShader::FunctionAtom::getGroupExecutionOrder ( ) const

Get the group execution order of this function atom.

◆ getOperandList()

OperandVector& Ogre::RTShader::FunctionAtom::getOperandList ( )
inline

Get a list of parameters this function invocation will use in the function call as arguments.

◆ pushOperand()

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.

Parameters
parameterA function parameter.
opSemanticThe in/out semantic of the parameter.
opMaskThe field mask of the parameter.
indirectionLevelThe level of nesting inside brackets

◆ setOperands()

void Ogre::RTShader::FunctionAtom::setOperands ( const OperandVector ops)

◆ writeSourceCode()

virtual void Ogre::RTShader::FunctionAtom::writeSourceCode ( std::ostream &  os,
const String targetLanguage 
) const
pure virtual

Abstract method that writes a source code to the given output stream in the target shader language.

Implemented in Ogre::RTShader::BinaryOpAtom, Ogre::RTShader::SampleTextureAtom, Ogre::RTShader::AssignmentAtom, and Ogre::RTShader::FunctionInvocation.


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