| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
Ogre::RTShader::LayeredBlending Class Reference

Texturing sub render state implementation of layered blending. More...

`#include <OgreShaderExLayeredBlending.h>`

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

## Classes
struct | TextureBlend

## Public Types
enum | BlendMode { LB_Invalid = -1, LB_FFPBlend, LB_BlendNormal, LB_BlendLighten, LB_BlendDarken, LB_BlendMultiply, LB_BlendAverage, LB_BlendAdd, LB_BlendSubtract, LB_BlendDifference, LB_BlendNegation, LB_BlendExclusion, LB_BlendScreen, LB_BlendOverlay, LB_BlendSoftLight, LB_BlendHardLight, LB_BlendColorDodge, LB_BlendColorBurn, LB_BlendLinearDodge, LB_BlendLinearBurn, LB_BlendLinearLight, LB_BlendVividLight, LB_BlendPinLight, LB_BlendHardMix, LB_BlendReflect, LB_BlendGlow, LB_BlendPhoenix, LB_BlendSaturation, LB_BlendColor, LB_BlendLuminosity, LB_MaxBlendModes }
enum | SourceModifier { SM_Invalid = -1, SM_None, SM_Source1Modulate, SM_Source2Modulate, SM_Source1InvModulate, SM_Source2InvModulate, SM_MaxSourceModifiers }

## Public Member Functions
| LayeredBlending ()
| Class default constructor. More...
virtual void | copyFrom (const SubRenderState &rhs)
| More...
virtual bool | createCpuSubPrograms (ProgramSet *programSet)
| Create sub programs that represents this sub render state as part of a program set. More...
SubRenderStateAccessorPtr | getAccessor ()
| Return the accessor object to this sub render state. More...
SubRenderStateAccessorPtr | getAccessor () const
| Return the accessor object to this sub render state. More...
BlendMode | getBlendMode (unsigned short index) const
| Return the blend mode of the given texture unit index. More...
virtual int | getExecutionOrder () const
| More...
bool | getSourceModifier (unsigned short index, SourceModifier &modType, int &customNum) const
| Returns the source modifier parameters for a given texture unit More...
virtual const Ogre::String & | getType () const
| More...
virtual bool | preAddToRenderState (const RenderState *renderState, Pass *srcPass, Pass *dstPass)
| More...
void | setBlendMode (unsigned short index, BlendMode mode)
| Set the blend mode of the given texture unit layer with the previous layer. More...
void | setSourceModifier (unsigned short index, SourceModifier modType, int customNum)
| Set the source modifier parameters for a given texture unit More...
virtual void | updateGpuProgramsParams (Renderable *rend, Pass *pass, const AutoParamDataSource *source, const LightList *pLightList)
| More...

## Static Public Attributes
static String | Type

## Detailed Description

Texturing sub render state implementation of layered blending.

Derives from FFPTexturing class which derives from SubRenderState class.

## Member Enumeration Documentation

## ◆ BlendMode

enum Ogre::RTShader::LayeredBlending::BlendMode

Enumerator
LB_Invalid |
LB_FFPBlend |
LB_BlendNormal |
LB_BlendLighten |
LB_BlendDarken |
LB_BlendMultiply |
LB_BlendAverage |
LB_BlendAdd |
LB_BlendSubtract |
LB_BlendDifference |
LB_BlendNegation |
LB_BlendExclusion |
LB_BlendScreen |
LB_BlendOverlay |
LB_BlendSoftLight |
LB_BlendHardLight |
LB_BlendColorDodge |
LB_BlendColorBurn |
LB_BlendLinearDodge |
LB_BlendLinearBurn |
LB_BlendLinearLight |
LB_BlendVividLight |
LB_BlendPinLight |
LB_BlendHardMix |
LB_BlendReflect |
LB_BlendGlow |
LB_BlendPhoenix |
LB_BlendSaturation |
LB_BlendColor |
LB_BlendLuminosity |
LB_MaxBlendModes |

## ◆ SourceModifier

enum Ogre::RTShader::LayeredBlending::SourceModifier

Enumerator
SM_Invalid |
SM_None |
SM_Source1Modulate |
SM_Source2Modulate |
SM_Source1InvModulate |
SM_Source2InvModulate |
SM_MaxSourceModifiers |

## Constructor & Destructor Documentation

## ◆ LayeredBlending()

Ogre::RTShader::LayeredBlending::LayeredBlending | ( |  | ) |

Class default constructor.

## Member Function Documentation

## ◆ getType()

virtual const Ogre::String& Ogre::RTShader::LayeredBlending::getType | ( |  | ) | const
| virtual

See also
  SubRenderState::getType.

Reimplemented from Ogre::RTShader::FFPTexturing.

## ◆ setBlendMode()

void Ogre::RTShader::LayeredBlending::setBlendMode | ( | unsigned short | index,
|  | BlendMode | mode
| ) |  |

Set the blend mode of the given texture unit layer with the previous layer.

Parameters

  index | The texture unit texture. Textures units (index-1) and (index) will be blended.
  mode | The blend mode to apply.

## ◆ getBlendMode()

BlendMode Ogre::RTShader::LayeredBlending::getBlendMode | ( | unsigned short | index | ) | const

Return the blend mode of the given texture unit index.

## ◆ setSourceModifier()

void Ogre::RTShader::LayeredBlending::setSourceModifier | ( | unsigned short | index,
|  | SourceModifier | modType,
|  | int | customNum
| ) |  |

Set the source modifier parameters for a given texture unit

Parameters

  index | Texture blend index
  modType | The source modification type to use
  customNum | The custom parameter number used to control the modification

## ◆ getSourceModifier()

bool Ogre::RTShader::LayeredBlending::getSourceModifier | ( | unsigned short | index,
|  | SourceModifier & | modType,
|  | int & | customNum
| ) |  | const

Returns the source modifier parameters for a given texture unit

Returns
  True if a valid modifier exist for the given texture unit

Parameters

  index | Texture blend index
  modType | The source modification type to use
  customNum | The custom parameter number used to control the modification

## ◆ copyFrom()

virtual void Ogre::RTShader::LayeredBlending::copyFrom | ( | const SubRenderState & | rhs | ) |
| virtual

See also
  SubRenderState::copyFrom.

Reimplemented from Ogre::RTShader::FFPTexturing.

## ◆ getExecutionOrder()

virtual int Ogre::RTShader::FFPTexturing::getExecutionOrder | ( |  | ) | const
| virtual inherited

See also
  SubRenderState::getType.

Implements Ogre::RTShader::SubRenderState.

## ◆ updateGpuProgramsParams()

virtual void Ogre::RTShader::FFPTexturing::updateGpuProgramsParams | ( | Renderable * | rend,
|  | Pass * | pass,
|  | const AutoParamDataSource * | source,
|  | const LightList * | pLightList
| ) |  |
| virtual inherited

See also
  SubRenderState::updateGpuProgramsParams.

Reimplemented from Ogre::RTShader::SubRenderState.

## ◆ preAddToRenderState()

virtual bool Ogre::RTShader::FFPTexturing::preAddToRenderState | ( | const RenderState * | renderState,
|  | Pass * | srcPass,
|  | Pass * | dstPass
| ) |  |
| virtual inherited

See also
  SubRenderState::preAddToRenderState.

Reimplemented from Ogre::RTShader::SubRenderState.

## ◆ createCpuSubPrograms()

virtual bool Ogre::RTShader::SubRenderState::createCpuSubPrograms | ( | ProgramSet * | programSet | ) |
| virtual inherited

Create sub programs that represents this sub render state as part of a program set.

The given program set contains CPU programs that represents a vertex shader and pixel shader. One should use these program class API to create a representation of the sub state he wished to implement.

Parameters

  programSet | container class of CPU and GPU programs that this sub state will affect on.

Reimplemented in Ogre::RTShader::FFPTransform.

## ◆ getAccessor() [1/2]

SubRenderStateAccessorPtr Ogre::RTShader::SubRenderState::getAccessor | ( |  | ) |
| inherited

Return the accessor object to this sub render state.

See also
  SubRenderStateAccessor.

## ◆ getAccessor() [2/2]

SubRenderStateAccessorPtr Ogre::RTShader::SubRenderState::getAccessor | ( |  | ) | const
| inherited

Return the accessor object to this sub render state.

See also
  SubRenderStateAccessor.

## Member Data Documentation

## ◆ Type

String Ogre::RTShader::LayeredBlending::Type
| static

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

- OgreShaderExLayeredBlending.h