OGRE: Ogre::RTShader::HardwareSkinning Class Reference

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Classes | Public Member Functions | Static Public Attributes | List of all members
Ogre::RTShader::HardwareSkinning Class Reference
Core » RTShader

Implement a sub render state which performs hardware skinning. More...

`#include <OgreShaderExHardwareSkinning.h>`

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

## Classes
struct | SkinningData

## Public Member Functions
| HardwareSkinning ()
| Class default constructor. More...
void | _setCreator (const HardwareSkinningFactory *pCreator)
| Set the factory which created this sub render state. More...
virtual void | copyFrom (const SubRenderState &rhs)
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...
ushort | getBoneCount ()
| Returns the number of bones in the model assigned to the material. More...
virtual int | getExecutionOrder () const
SkinningType | getSkinningType ()
| Returns the current skinning type in use. More...
virtual const String & | getType () const
ushort | getWeightCount ()
| Returns the number of weights/bones affecting a vertex. More...
bool | hasCorrectAntipodalityHandling ()
| Only applicable for dual quaternion skinning. More...
bool | hasScalingShearingSupport ()
| Only applicable for dual quaternion skinning. More...
void | operator delete (void *ptr)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete (void *ptr, void *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)
void * | operator new (size_t sz)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz)
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
virtual bool | preAddToRenderState (const RenderState *renderState, Pass *srcPass, Pass *dstPass)
void | setHardwareSkinningParam (ushort boneCount, ushort weightCount, SkinningType skinningType=ST_LINEAR, bool correctAntipodalityHandling=false, bool scalingShearingSupport=false)
| Set the hardware skinning parameters. More...
virtual void | updateGpuProgramsParams (Renderable *rend, Pass *pass, const AutoParamDataSource *source, const LightList *pLightList)
| Update GPU programs parameters before a rendering operation occurs. More...

## Static Public Attributes
static String | Type

## Detailed Description

Implement a sub render state which performs hardware skinning.

Meaning, this sub render states adds calculations which multiply the points and normals by their assigned bone matricies.

## Constructor & Destructor Documentation

## ◆ HardwareSkinning()

Ogre::RTShader::HardwareSkinning::HardwareSkinning | ( |  | ) |

Class default constructor.

## Member Function Documentation

## ◆ _setCreator()

void Ogre::RTShader::HardwareSkinning::_setCreator | ( | const HardwareSkinningFactory * | pCreator | ) |
| inline

Set the factory which created this sub render state.

## ◆ copyFrom()

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

See also
  SubRenderState::copyFrom.

Implements Ogre::RTShader::SubRenderState.

## ◆ createCpuSubPrograms()

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

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.

## ◆ getBoneCount()

ushort Ogre::RTShader::HardwareSkinning::getBoneCount | ( |  | ) |

Returns the number of bones in the model assigned to the material.

See also
  setHardwareSkinningParam()

## ◆ getExecutionOrder()

virtual int Ogre::RTShader::HardwareSkinning::getExecutionOrder | ( |  | ) | const
| virtual

See also
  SubRenderState::getType.

Implements Ogre::RTShader::SubRenderState.

## ◆ getSkinningType()

SkinningType Ogre::RTShader::HardwareSkinning::getSkinningType | ( |  | ) |

Returns the current skinning type in use.

See also
  setHardwareSkinningParam()

## ◆ getType()

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

See also
  SubRenderState::getType.

Implements Ogre::RTShader::SubRenderState.

## ◆ getWeightCount()

ushort Ogre::RTShader::HardwareSkinning::getWeightCount | ( |  | ) |

Returns the number of weights/bones affecting a vertex.

See also
  setHardwareSkinningParam()

## ◆ hasCorrectAntipodalityHandling()

bool Ogre::RTShader::HardwareSkinning::hasCorrectAntipodalityHandling | ( |  | ) |

Only applicable for dual quaternion skinning.

See also
  setHardwareSkinningParam()

## ◆ hasScalingShearingSupport()

bool Ogre::RTShader::HardwareSkinning::hasScalingShearingSupport | ( |  | ) |

Only applicable for dual quaternion skinning.

See also
  setHardwareSkinningParam()

## ◆ operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |
| inlineinherited

## ◆ operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |
| inlineinherited

## ◆ operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |
| inlineinherited

## ◆ operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |
| inlineinherited

## ◆ operator delete[]() [2/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |
| inlineinherited

## ◆ operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |
| inlineinherited

## ◆ operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |
| inlineinherited

operator new, with debug line info

## ◆ operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |
| inlineinherited

placement operator new

## ◆ operator new[]() [1/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) |
| inlineinherited

## ◆ operator new[]() [2/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |
| inlineinherited

array operator new, with debug line info

## ◆ preAddToRenderState()

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

See also
  SubRenderState::preAddToRenderState.

Reimplemented from Ogre::RTShader::SubRenderState.

## ◆ setHardwareSkinningParam()

void Ogre::RTShader::HardwareSkinning::setHardwareSkinningParam | ( | ushort | boneCount,
|  | ushort | weightCount,
|  | SkinningType | skinningType = `ST_LINEAR`,
|  | bool | correctAntipodalityHandling = `false`,
|  | bool | scalingShearingSupport = `false`
| ) |  |

Set the hardware skinning parameters.

Parameters

  boneCount | The maximum number of bones in the model this material is assigned to. Note that this parameter can be higher but not lower than the actual number of bones.
  weightCount | The maximum number of weights/bones affecting a vertex.
  skinningType | The type of skinning desired.
  correctAntipodalityHandling | If correct antipodality handling should be utilized (Only applicable for dual quaternion skinning).
  scalingShearingSupport | If scaling and shearing support should be enabled (Only applicable for dual quaternion skinning).

## ◆ updateGpuProgramsParams()

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

Update GPU programs parameters before a rendering operation occurs.

This method is called in the context of SceneManager::renderSingle object via the RenderObjectListener interface and lets this sub render state instance opportunity to update custom GPU program parameters before the rendering action occurs.

See also
  RenderObjectListener::notifyRenderSingleObject.

Parameters

  rend | The renderable that is about to be rendered.
  pass | The pass that used for this rendering.
  source | The auto parameter source.
  pLightList | The light list used in the current rendering context.

Reimplemented in Ogre::RTShader::FFPTexturing, Ogre::RTShader::FFPLighting, Ogre::RTShader::FFPFog, Ogre::RTShader::FFPAlphaTest, Ogre::RTShader::TriplanarTexturing, Ogre::RTShader::TextureAtlasSampler, Ogre::RTShader::PerPixelLighting, Ogre::RTShader::NormalMapLighting, and Ogre::RTShader::IntegratedPSSM3.

## Member Data Documentation

## ◆ Type

String Ogre::RTShader::HardwareSkinning::Type
| static

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

- OgreShaderExHardwareSkinning.h