virtual String getName() { return "ConstantMultFeature"; }
// add this code
class ConstMultFeatureHdls : public ShaderFeatureConstHandles
{
GFXShaderConstHandle* mMultConstSC;
public:
ConstMultFeatureHdls( GFXShader *shader )
{
mMultConstSC = shader->getShaderConstHandle("$multConst");
}
virtual void setConsts( SceneState *state, const SceneGraphData &sgData, GFXShaderConstBuffer *buffer )
{
if( mMultConstSC->isValid() && sgData.multConstant )
{
buffer->set( mMultConstSC, *sgData.multConstant );
}
}
};
virtual ShaderFeatureConstHandles* createConstHandles( GFXShader *shader )
{
// This memory is cleaned up via a delete call which takes place
// in ShaderRenderPassData::reset()
return new ConstMultFeatureHdls( shader );
}
// done added code