void HActionBlurFromTo::update(float time) { if (_target) { float rCur = _rFrom + (_rTo - _rFrom) * time; auto sprite = static_cast<HSpriteBlur*>(_target); sprite->setBlurSize(rCur); } }
void BlurSprite::buildCustomUniforms() { auto s = getTexture()->getContentSizeInPixels(); _blurRadius = 0; _pixelSize = Point(1/s.width, 1/s.height); _samplingRadius = 0; setBlurSize(3.0f); auto program = getShaderProgram(); pixelSizeLocation = program->getUniformLocation("onePixelSize"); coefficientLocation = program->getUniformLocation("gaussianCoefficient"); }
void HActionBlurFromTo::startWithTarget(Node *target) { auto sprite = dynamic_cast<HSpriteBlur*>(target); CCASSERT(sprite, "only surpport HSpriteBlur"); ActionInterval::startWithTarget(target); sprite->setBlurSize(_rFrom); }