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