             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 {

    private var _strength:Number                = Number.NaN;
    private var _firstPassStrength:Number       = DEFAULT_FIRST_PASS_STRENGTH;
    private var _strengthIncreaseRatio:Number   = DEFAULT_STRENGTH_INCREASE_PER_PASS_RATIO;
    private var _pixelWidth:Number              = Number.NaN;
    private var _pixelHeight:Number             = Number.NaN;
    private var _paramsDirty:Boolean            = true;
    private var _strengthsDirty:Boolean         = true;

    private var _strengths:Vector.<Number>      = new <Number>[];
    private var _offsets:Vector.<Number>        = new <Number>[0, 0, 0, 0];
    private var _uv:Vector.<Number>             = new <Number>[0, 1, 0, 1];

    public function get type():String { return _type; }
    public function set type(value:String):void {

        _paramsDirty = true;
    }

    public function get pixelWidth():Number { return _pixelSize[0]; }
    public function set pixelWidth(value:Number):void {
        if(value == _pixelSize[0])
            return;

        _pixelSize[0] = value;
        _pixelSize[2] = value / 2;
        _paramsDirty = true;
    }

    public function get pixelHeight():Number { return _pixelSize[1]; }
    public function set pixelHeight(value:Number):void {
        if(value == _pixelSize[1])
            return;

        _pixelSize[1] = value;
        _pixelSize[3] = value / 2;
        _paramsDirty = true;
    }

