A class that represents a function operand (its the combination of a parameter the in/out semantic and the used fields)
More...
#include <OgreShaderFunctionAtom.h>
|
| enum | OpMask : uchar {
OPM_NONE = 0
, OPM_X = 0x0001
, OPM_Y = 0x0002
, OPM_Z = 0x0004
,
OPM_W = 0x0008
, OPM_XY = OPM_X | OPM_Y
, OPM_XZ = OPM_X | OPM_Z
, OPM_XW = OPM_X | OPM_W
,
OPM_YZ = OPM_Y | OPM_Z
, OPM_YW = OPM_Y | OPM_W
, OPM_ZW = OPM_Z | OPM_W
, OPM_XYZ = OPM_X | OPM_Y | OPM_Z
,
OPM_XYW = OPM_X | OPM_Y | OPM_W
, OPM_XZW = OPM_X | OPM_Z | OPM_W
, OPM_YZW = OPM_Y | OPM_Z | OPM_W
, OPM_XYZW = OPM_X | OPM_Y | OPM_Z | OPM_W
,
OPM_ALL = OPM_XYZW
} |
| |
| enum | OpSemantic { OPS_IN
, OPS_OUT
, OPS_INOUT
} |
| |
A class that represents a function operand (its the combination of a parameter the in/out semantic and the used fields)
◆ OpSemantic
| Enumerator |
|---|
| OPS_IN | The parameter is a input parameter.
|
| OPS_OUT | The parameter is a output parameter.
|
| OPS_INOUT | The parameter is a input/output parameter.
|
◆ OpMask
| Enumerator |
|---|
| OPM_NONE | |
| OPM_X | |
| OPM_Y | |
| OPM_Z | |
| OPM_W | |
| OPM_XY | |
| OPM_XZ | |
| OPM_XW | |
| OPM_YZ | |
| OPM_YW | |
| OPM_ZW | |
| OPM_XYZ | |
| OPM_XYW | |
| OPM_XZW | |
| OPM_YZW | |
| OPM_XYZW | |
| OPM_ALL | |
◆ Operand() [1/2]
Class constructor.
- Parameters
-
| parameter | A function parameter. |
| opSemantic | The in/out semantic of the parameter. |
| opMask | The field mask of the parameter. |
| indirectionLevel | |
◆ Operand() [2/2]
| Ogre::RTShader::Operand::Operand |
( |
const Operand & | rhs | ) |
|
◆ ~Operand()
| Ogre::RTShader::Operand::~Operand |
( |
| ) |
|
◆ operator=()
◆ getParameter()
| const ParameterPtr & Ogre::RTShader::Operand::getParameter |
( |
| ) |
const |
|
inline |
Returns the parameter object as weak reference.
◆ hasFreeFields()
| bool Ogre::RTShader::Operand::hasFreeFields |
( |
| ) |
const |
|
inline |
Returns true if not all fields used.
(usage is described through semantic)
◆ getMask()
| OpMask Ogre::RTShader::Operand::getMask |
( |
| ) |
const |
|
inline |
Returns the mask bitfield.
◆ x()
| Operand & Ogre::RTShader::Operand::x |
( |
| ) |
|
|
inline |
◆ y()
| Operand & Ogre::RTShader::Operand::y |
( |
| ) |
|
|
inline |
◆ z()
| Operand & Ogre::RTShader::Operand::z |
( |
| ) |
|
|
inline |
◆ w()
| Operand & Ogre::RTShader::Operand::w |
( |
| ) |
|
|
inline |
◆ xy()
| Operand & Ogre::RTShader::Operand::xy |
( |
| ) |
|
|
inline |
◆ xyz()
| Operand & Ogre::RTShader::Operand::xyz |
( |
| ) |
|
|
inline |
◆ mask()
◆ setMaskToParamType()
| void Ogre::RTShader::Operand::setMaskToParamType |
( |
| ) |
|
automatically set swizzle to match parameter arity
◆ getSemantic()
| OpSemantic Ogre::RTShader::Operand::getSemantic |
( |
| ) |
const |
|
inline |
Returns the operand semantic (do we read/write or both with the parameter).
◆ getIndirectionLevel()
| ushort Ogre::RTShader::Operand::getIndirectionLevel |
( |
| ) |
const |
|
inline |
Returns the level of indirection.
The greater the indirection level the more the parameter needs to be nested in brackets. For example given 4 parameters x1...x4 with the indirections levels 0,1,1,2 respectively. The parameters should form the following string: x1[x2][x3[x4]].
◆ write()
| void Ogre::RTShader::Operand::write |
( |
std::ostream & | os | ) |
const |
write the parameter name and the usage mask like this 'color.xyz'
◆ getFloatCount()
| static int Ogre::RTShader::Operand::getFloatCount |
( |
int | mask | ) |
|
|
static |
Return the float count of the given mask.
The documentation for this class was generated from the following file: