27#ifndef _ShaderExHardwareSkinningTechnique_
28#define _ShaderExHardwareSkinningTechnique_
32#ifdef RTSHADER_SYSTEM_BUILD_EXT_SHADERS
41class HardwareSkinningFactory;
59 HardwareSkinningTechnique();
61 virtual ~HardwareSkinningTechnique();
66 virtual void copyFrom(
const HardwareSkinningTechnique* hardSkin);
71 void setHardwareSkinningParam(ushort boneCount, ushort weightCount,
bool correctAntipodalityHandling =
false,
bool scalingShearingSupport =
false);
89 bool hasCorrectAntipodalityHandling();
95 bool hasScalingShearingSupport();
99 void setDoBoneCalculations(
bool doBoneCalculations);
104 virtual bool resolveParameters(ProgramSet* programSet) = 0;
109 virtual bool resolveDependencies(ProgramSet* programSet) = 0;
114 virtual bool addFunctionInvocations(ProgramSet* programSet) = 0;
118 Operand::OpMask indexToMask (
int index);
125 bool mCorrectAntipodalityHandling;
126 bool mScalingShearingSupport;
128 bool mDoBoneCalculations;
SharedPtr< Parameter > ParameterPtr
SharedPtr< UniformParameter > UniformParameterPtr
GeneralAllocatedObject RTShaderSystemAlloc