         var i:int, count:int = 4;
 
         if(type == HORIZONTAL) {
-            multiplier = _pixelWidth * str;
+            multiplier = pixelWidth * str;
 
             for(i = 0; i < count; i++)
                 _offsets[i] = _horizontalOffsets[i] * multiplier;
         }
         else {
-            multiplier = _pixelHeight * str;
+            multiplier = pixelHeight * str;
 
             for(i = 0; i < count; i++)
                 _offsets[i] = _verticalOffsets[i] * multiplier;

    }

    override protected function _fragmentShader():void {
        var uvCenter:IRegister      = VARYING[0];
        var uvMinusTwo:IRegister    = VARYING[1];
        var uvMinusOne:IRegister    = VARYING[2];
        var uvPlusOne:IRegister     = VARYING[3];
        var uvPlusTwo:IRegister     = VARYING[4];
        var uv:IRegister            = TEMP[7];
        var weightCenter:IComponent = CONST[0].x;
        var weightOne:IComponent    = CONST[0].y;
        var weightTwo:IComponent    = CONST[0].z;
        var minU:IComponent         = CONST[1].x;
        var maxU:IComponent         = CONST[1].y;
        var minV:IComponent         = CONST[1].z;
        var maxV:IComponent         = CONST[1].w;
        var colorCenter:IRegister   = TEMP[0];
        var colorMinusTwo:IRegister = TEMP[1];
        var colorMinusOne:IRegister = TEMP[2];
        var colorPlusOne:IRegister  = TEMP[3];
        var colorPlusTwo:IRegister  = TEMP[4];
        var outputColor:IRegister   = TEMP[5];
        var textureFlags:Array      = [TextureFlag.TYPE_2D, TextureFlag.MODE_CLAMP, TextureFlag.FILTER_LINEAR, TextureFlag.MIP_NO];

        sampleTexture(colorCenter, uvCenter, SAMPLER[0], textureFlags);
        multiply(outputColor, colorCenter, weightCenter);

        move(uv, uvMinusTwo);
        Utils.clamp(uv.x, uv.x, minU, maxU);
        Utils.clamp(uv.y, uv.y, minV, maxV);
        sampleTexture(colorMinusTwo, uv, SAMPLER[0], textureFlags);
        multiply(colorMinusTwo, colorMinusTwo, weightTwo);
        add(outputColor, outputColor, colorMinusTwo);

        move(uv, uvMinusOne);
        Utils.clamp(uv.x, uv.x, minU, maxU);
        Utils.clamp(uv.y, uv.y, minV, maxV);
        sampleTexture(colorMinusOne, uv, SAMPLER[0], textureFlags);
        multiply(colorMinusOne, colorMinusOne, weightOne);
        add(outputColor, outputColor, colorMinusOne);

        move(uv, uvPlusOne);
        Utils.clamp(uv.x, uv.x, minU, maxU);
        Utils.clamp(uv.y, uv.y, minV, maxV);
        sampleTexture(colorPlusOne, uv, SAMPLER[0], textureFlags);
        multiply(colorPlusOne, colorPlusOne, weightOne);
        add(outputColor, outputColor, colorPlusOne);

        move(uv, uvPlusTwo);
        Utils.clamp(uv.x, uv.x, minU, maxU);
        Utils.clamp(uv.y, uv.y, minV, maxV);
        sampleTexture(colorPlusTwo, uv, SAMPLER[0], textureFlags);
        multiply(colorPlusTwo, colorPlusTwo, weightTwo);
        add(outputColor, outputColor, colorPlusTwo);

            updateParameters();

        context.setProgramConstantsFromVector(Context3DProgramType.VERTEX,   4, _offsets);

        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 0, _weights);
        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 1, _uv);
        context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 2, _pixelSize);
    }

    public function deactivate(context:Context3D):void {
