OGRE: Ogre::RTShader::FunctionAtom Class Reference

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

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 | ( |  | ) |
| 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

  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