diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 9fe88df..948a226 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -112,6 +112,17 @@ // TODO pass an object to clone too? saves having to create a new one each time! var bounds = this.getLocalBounds().clone(); + // add some padding! + if(this._filters) + { + var padding = this._filters[0].padding; + bounds.x -= padding; + bounds.y -= padding; + + bounds.width += padding * 2; + bounds.height += padding * 2; + } + // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. var cachedRenderTarget = renderer.currentRenderTarget; @@ -127,6 +138,8 @@ m.tx = -bounds.x; m.ty = -bounds.y; + + // set all properties to there original so we can render to a texture this.renderWebGL = this._originalRenderWebGL; diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 9fe88df..948a226 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -112,6 +112,17 @@ // TODO pass an object to clone too? saves having to create a new one each time! var bounds = this.getLocalBounds().clone(); + // add some padding! + if(this._filters) + { + var padding = this._filters[0].padding; + bounds.x -= padding; + bounds.y -= padding; + + bounds.width += padding * 2; + bounds.height += padding * 2; + } + // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. var cachedRenderTarget = renderer.currentRenderTarget; @@ -127,6 +138,8 @@ m.tx = -bounds.x; m.ty = -bounds.y; + + // set all properties to there original so we can render to a texture this.renderWebGL = this._originalRenderWebGL; diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index cedc7a9..ac26366 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -20,7 +20,15 @@ } ); - this._passes = 1; + /** + * Sets the number of passes for blur. More passes means higher quaility bluring. + * + * @member {number} + * @memberof BlurXFilter# + * @default 1 + */ + this.passes = 1; + this.stength = 8; } @@ -32,7 +40,9 @@ { var shader = this.getShader(renderer); - if(this._passes === 1) + this.uniforms.strength.value = this.strength / 8 / this.passes * (input.frame.width / input.size.width); + + if(this.passes === 1) { renderer.filterManager.applyFilter(shader, input, output, clear); } @@ -42,7 +52,7 @@ var flip = input; var flop = renderTarget; - for(var i = 0; i < this._passes-1; i++) + for(var i = 0; i < this.passes-1; i++) { renderer.filterManager.applyFilter(shader, flip, flop, clear); @@ -75,26 +85,6 @@ { this.padding = value; this.strength = value; - this.uniforms.strength.value = value / 8 / this._passes; } }, - - /** - * Sets the number of passes for blur. More passes means higher quaility bluring. - * - * @member {number} - * @memberof BlurXFilter# - * @default 1 - */ - passes: { - get: function () - { - return this._passes; - }, - set: function (value) - { - this._passes = value; - this.uniforms.strength.value = this.strength / 8 / this._passes; - } - } }); diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 9fe88df..948a226 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -112,6 +112,17 @@ // TODO pass an object to clone too? saves having to create a new one each time! var bounds = this.getLocalBounds().clone(); + // add some padding! + if(this._filters) + { + var padding = this._filters[0].padding; + bounds.x -= padding; + bounds.y -= padding; + + bounds.width += padding * 2; + bounds.height += padding * 2; + } + // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. var cachedRenderTarget = renderer.currentRenderTarget; @@ -127,6 +138,8 @@ m.tx = -bounds.x; m.ty = -bounds.y; + + // set all properties to there original so we can render to a texture this.renderWebGL = this._originalRenderWebGL; diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index cedc7a9..ac26366 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -20,7 +20,15 @@ } ); - this._passes = 1; + /** + * Sets the number of passes for blur. More passes means higher quaility bluring. + * + * @member {number} + * @memberof BlurXFilter# + * @default 1 + */ + this.passes = 1; + this.stength = 8; } @@ -32,7 +40,9 @@ { var shader = this.getShader(renderer); - if(this._passes === 1) + this.uniforms.strength.value = this.strength / 8 / this.passes * (input.frame.width / input.size.width); + + if(this.passes === 1) { renderer.filterManager.applyFilter(shader, input, output, clear); } @@ -42,7 +52,7 @@ var flip = input; var flop = renderTarget; - for(var i = 0; i < this._passes-1; i++) + for(var i = 0; i < this.passes-1; i++) { renderer.filterManager.applyFilter(shader, flip, flop, clear); @@ -75,26 +85,6 @@ { this.padding = value; this.strength = value; - this.uniforms.strength.value = value / 8 / this._passes; } }, - - /** - * Sets the number of passes for blur. More passes means higher quaility bluring. - * - * @member {number} - * @memberof BlurXFilter# - * @default 1 - */ - passes: { - get: function () - { - return this._passes; - }, - set: function (value) - { - this._passes = value; - this.uniforms.strength.value = this.strength / 8 / this._passes; - } - } }); diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index 2536be9..87dc1be 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -20,7 +20,7 @@ } ); - this._passes = 1; + this.passes = 1; this.stength = 8; } @@ -32,7 +32,9 @@ { var shader = this.getShader(renderer); - if(this._passes === 1) + this.uniforms.strength.value = this.strength / 8 / this.passes * (input.frame.height / input.size.height); + + if(this.passes === 1) { renderer.filterManager.applyFilter(shader, input, output, clear); } @@ -42,7 +44,7 @@ var flip = input; var flop = renderTarget; - for(var i = 0; i < this._passes-1; i++) + for(var i = 0; i < this.passes-1; i++) { renderer.filterManager.applyFilter(shader, flip, flop, clear); @@ -75,26 +77,6 @@ { this.padding = value; this.strength = value; - this.uniforms.strength.value = value / 8 / this._passes; } }, - - /** - * Sets the number of passes for blur. More passes means higher quaility bluring. - * - * @member {number} - * @memberof BlurYFilter# - * @default 1 - */ - passes: { - get: function () - { - return this._passes; - }, - set: function (value) - { - this._passes = value; - this.uniforms.strength.value = this.strength / 8 / this._passes; - } - } });