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 {
OPM_ALL = 0x0001,
OPM_X = 0x0002,
OPM_Y = 0x0004,
OPM_Z = 0x0008,
OPM_W = 0x0010,
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
} |
|
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_ALL | |
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 | |
◆ 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()
int Ogre::RTShader::Operand::getMask |
( |
| ) |
const |
|
inline |
Returns the mask bitfield.
◆ 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]].
◆ toString()
String Ogre::RTShader::Operand::toString |
( |
| ) |
const |
Returns the parameter name and the usage mask like this 'color.xyz'.
◆ getMaskAsString()
static String Ogre::RTShader::Operand::getMaskAsString |
( |
int |
mask | ) |
|
|
static |
Returns the given mask as string representation.
◆ getFloatCount()
static int Ogre::RTShader::Operand::getFloatCount |
( |
int |
mask | ) |
|
|
static |
Return the float count of the given mask.
◆ getGpuConstantType()
static GpuConstantType Ogre::RTShader::Operand::getGpuConstantType |
( |
int |
mask | ) |
|
|
static |
Return the gpu constant type of the given mask.
The documentation for this class was generated from the following file: