OGRE  1.11.6
Object-Oriented Graphics Rendering Engine
Ogre::RTShader::InOut Struct Reference

#include <OgreShaderFunctionAtom.h>

+ Inheritance diagram for Ogre::RTShader::InOut:

Public Types

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 }
 

Public Member Functions

 InOut (const Operand &rhs)
 
 InOut (ParameterPtr p)
 
 InOut (UniformParameterPtr p)
 
ushort getIndirectionLevel () const
 Returns the level of indirection. More...
 
int getMask () const
 Returns the mask bitfield. More...
 
const ParameterPtrgetParameter () const
 Returns the parameter object as weak reference. More...
 
OpSemantic getSemantic () const
 Returns the operand semantic (do we read/write or both with the parameter). More...
 
bool hasFreeFields () const
 Returns true if not all fields used. More...
 
Operandmask (int opMask)
 
void setMaskToParamType ()
 automatically set swizzle to match parameter arity More...
 
String toString () const
 Returns the parameter name and the usage mask like this 'color.xyz'. More...
 
Operandw ()
 
Operandx ()
 
Operandxy ()
 
Operandxyz ()
 
Operandy ()
 
Operandz ()
 

Static Public Member Functions

static int getFloatCount (int mask)
 Return the float count of the given mask. More...
 
static GpuConstantType getGpuConstantType (int mask)
 Return the gpu constant type of the given mask. More...
 
static String getMaskAsString (int mask)
 Returns the given mask as string representation. More...
 

Member Enumeration Documentation

◆ 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 

Constructor & Destructor Documentation

◆ InOut() [1/3]

Ogre::RTShader::InOut::InOut ( const Operand rhs)
inline

References OgreAssert.

◆ InOut() [2/3]

Ogre::RTShader::InOut::InOut ( ParameterPtr  p)
inline

◆ InOut() [3/3]

Ogre::RTShader::InOut::InOut ( UniformParameterPtr  p)
inline

Member Function Documentation

◆ getParameter()

const ParameterPtr& Ogre::RTShader::Operand::getParameter ( ) const
inlineinherited

Returns the parameter object as weak reference.

◆ hasFreeFields()

bool Ogre::RTShader::Operand::hasFreeFields ( ) const
inlineinherited

Returns true if not all fields used.

(usage is described through semantic)

◆ getMask()

int Ogre::RTShader::Operand::getMask ( ) const
inlineinherited

Returns the mask bitfield.

◆ x()

Operand& Ogre::RTShader::Operand::x ( )
inlineinherited

◆ y()

Operand& Ogre::RTShader::Operand::y ( )
inlineinherited

◆ z()

Operand& Ogre::RTShader::Operand::z ( )
inlineinherited

◆ w()

Operand& Ogre::RTShader::Operand::w ( )
inlineinherited

◆ xy()

Operand& Ogre::RTShader::Operand::xy ( )
inlineinherited

◆ xyz()

Operand& Ogre::RTShader::Operand::xyz ( )
inlineinherited

◆ mask()

Operand& Ogre::RTShader::Operand::mask ( int  opMask)
inlineinherited

◆ setMaskToParamType()

void Ogre::RTShader::Operand::setMaskToParamType ( )
inherited

automatically set swizzle to match parameter arity

◆ getSemantic()

OpSemantic Ogre::RTShader::Operand::getSemantic ( ) const
inlineinherited

Returns the operand semantic (do we read/write or both with the parameter).

◆ getIndirectionLevel()

ushort Ogre::RTShader::Operand::getIndirectionLevel ( ) const
inlineinherited

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
inherited

Returns the parameter name and the usage mask like this 'color.xyz'.

◆ getMaskAsString()

static String Ogre::RTShader::Operand::getMaskAsString ( int  mask)
staticinherited

Returns the given mask as string representation.

◆ getFloatCount()

static int Ogre::RTShader::Operand::getFloatCount ( int  mask)
staticinherited

Return the float count of the given mask.

◆ getGpuConstantType()

static GpuConstantType Ogre::RTShader::Operand::getGpuConstantType ( int  mask)
staticinherited

Return the gpu constant type of the given mask.


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