![]() |
OGRE
2.2.4
Object-Oriented Graphics Rendering Engine
|
Implement a sub render state which performs hardware skinning. More...
#include <OgreShaderExHardwareSkinning.h>
Inheritance diagram for Ogre::RTShader::HardwareSkinning: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, void *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| 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 * | operator new (size_t sz, void *ptr) |
| placement operator new More... | |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More... | |
| void * | operator new[] (size_t sz) |
| 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 |
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.
| Ogre::RTShader::HardwareSkinning::HardwareSkinning | ( | ) |
Class default constructor.
|
inline |
Set the factory which created this sub render state.
|
virtual |
Implements Ogre::RTShader::SubRenderState.
|
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.
| programSet | container class of CPU and GPU programs that this sub state will affect on. |
Reimplemented in Ogre::RTShader::FFPTransform.
|
inherited |
Return the accessor object to this sub render state.
|
inherited |
Return the accessor object to this sub render state.
| ushort Ogre::RTShader::HardwareSkinning::getBoneCount | ( | ) |
Returns the number of bones in the model assigned to the material.
|
virtual |
Implements Ogre::RTShader::SubRenderState.
| SkinningType Ogre::RTShader::HardwareSkinning::getSkinningType | ( | ) |
Returns the current skinning type in use.
|
virtual |
Implements Ogre::RTShader::SubRenderState.
| ushort Ogre::RTShader::HardwareSkinning::getWeightCount | ( | ) |
Returns the number of weights/bones affecting a vertex.
| bool Ogre::RTShader::HardwareSkinning::hasCorrectAntipodalityHandling | ( | ) |
Only applicable for dual quaternion skinning.
| bool Ogre::RTShader::HardwareSkinning::hasScalingShearingSupport | ( | ) |
Only applicable for dual quaternion skinning.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
|
inlineinherited |
placement operator new
|
inlineinherited |
array operator new, with debug line info
|
inlineinherited |
|
virtual |
Reimplemented from Ogre::RTShader::SubRenderState.
| void Ogre::RTShader::HardwareSkinning::setHardwareSkinningParam | ( | ushort | boneCount, |
| ushort | weightCount, | ||
| SkinningType | skinningType = ST_LINEAR, |
||
| bool | correctAntipodalityHandling = false, |
||
| bool | scalingShearingSupport = false |
||
| ) |
Set the hardware skinning 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). |
|
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.
| 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::TriplanarTexturing, Ogre::RTShader::TextureAtlasSampler, Ogre::RTShader::FFPAlphaTest, Ogre::RTShader::NormalMapLighting, Ogre::RTShader::PerPixelLighting, Ogre::RTShader::FFPFog, Ogre::RTShader::IntegratedPSSM3, Ogre::RTShader::FFPTexturing, and Ogre::RTShader::FFPLighting.
|
static |