Loading...
Searching...
No Matches
Ogre::RTShader::FunctionAtom Class Referenceabstract
Optional Components » RTShaderSystem

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

`#include <OgreShaderFunctionAtom.h>`

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

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

## Detailed Description

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

## Member Typedef Documentation

## OperandVector

typedef std::vector<Operand> Ogre::RTShader::FunctionAtom::OperandVector

## Constructor & Destructor Documentation

## ~FunctionAtom()

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

inline virtual

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

  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.

## 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::AssignmentAtom, Ogre::RTShader::BinaryOpAtom, Ogre::RTShader::BuiltinFunctionAtom, Ogre::RTShader::FunctionInvocation, and Ogre::RTShader::SampleTextureAtom.

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

- OgreShaderFunctionAtom.h