@pixi/filter-blur
Advanced tools
Comparing version 5.0.0-alpha.3 to 5.0.0-rc
/*! | ||
* @pixi/filter-blur - v5.0.0-alpha.3 | ||
* Compiled Tue, 03 Jul 2018 04:08:21 UTC | ||
* @pixi/filter-blur - v5.0.0-rc | ||
* Compiled Fri, 01 Feb 2019 04:50:10 UTC | ||
* | ||
@@ -9,7 +9,7 @@ * @pixi/filter-blur is licensed under the MIT License. | ||
import { Filter } from '@pixi/core'; | ||
import { settings as settings$1 } from '@pixi/settings'; | ||
import { settings } from '@pixi/settings'; | ||
var vertTemplate = "\n attribute vec2 aVertexPosition;\n\n uniform mat3 projectionMatrix;\n\n uniform float strength;\n\n varying vec2 vBlurTexCoords[%size%];\n\n uniform vec4 inputSize;\n uniform vec4 inputClamp;\n uniform vec4 outputFrame;\n \n vec4 filterVertexPosition( void )\n {\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n \n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n }\n \n vec2 filterTextureCoord( void )\n {\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n }\n\n void main(void)\n {\n gl_Position = filterVertexPosition();\n\n vec2 textureCoord = filterTextureCoord();\n %blur%\n }"; | ||
var vertTemplate = "\n attribute vec2 aVertexPosition;\n\n uniform mat3 projectionMatrix;\n\n uniform float strength;\n\n varying vec2 vBlurTexCoords[%size%];\n\n uniform vec4 inputSize;\n uniform vec4 outputFrame;\n \n vec4 filterVertexPosition( void )\n {\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n \n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n }\n \n vec2 filterTextureCoord( void )\n {\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n }\n\n void main(void)\n {\n gl_Position = filterVertexPosition();\n\n vec2 textureCoord = filterTextureCoord();\n %blur%\n }"; | ||
function generateVertBlurSource(kernelSize, x) | ||
function generateBlurVertSource(kernelSize, x) | ||
{ | ||
@@ -26,7 +26,7 @@ var halfLength = Math.ceil(kernelSize / 2); | ||
{ | ||
template = 'vBlurTexCoords[%index%] = min( textureCoord + vec2(%sampleIndex% * strength, 0.0), inputClamp.zw);'; | ||
template = 'vBlurTexCoords[%index%] = textureCoord + vec2(%sampleIndex% * strength, 0.0);'; | ||
} | ||
else | ||
{ | ||
template = 'vBlurTexCoords[%index%] = min( textureCoord + vec2(0.0, %sampleIndex% * strength), inputClamp.zw);'; | ||
template = 'vBlurTexCoords[%index%] = textureCoord + vec2(0.0, %sampleIndex% * strength);'; | ||
} | ||
@@ -76,3 +76,3 @@ | ||
function generateFragBlurSource(kernelSize) | ||
function generateBlurFragSource(kernelSize) | ||
{ | ||
@@ -111,15 +111,2 @@ var kernel = GAUSSIAN_VALUES[kernelSize]; | ||
function getMaxKernelSize(gl) | ||
{ | ||
var maxVaryings = (gl.getParameter(gl.MAX_VARYING_VECTORS)); | ||
var kernelSize = 15; | ||
while (kernelSize > maxVaryings) | ||
{ | ||
kernelSize -= 2; | ||
} | ||
return kernelSize; | ||
} | ||
/** | ||
@@ -132,8 +119,8 @@ * The BlurFilterPass applies a horizontal or vertical Gaussian blur to an object. | ||
*/ | ||
var BlurFilterPass = (function (Filter$$1) { | ||
var BlurFilterPass = /*@__PURE__*/(function (Filter$$1) { | ||
function BlurFilterPass(horizontal, strength, quality, resolution, kernelSize) | ||
{ | ||
kernelSize = kernelSize || 5; | ||
var vertSrc = generateVertBlurSource(kernelSize, horizontal); | ||
var fragSrc = generateFragBlurSource(kernelSize); | ||
var vertSrc = generateBlurVertSource(kernelSize, horizontal); | ||
var fragSrc = generateBlurFragSource(kernelSize); | ||
@@ -149,3 +136,3 @@ Filter$$1.call( | ||
this.resolution = resolution || settings$1.RESOLUTION; | ||
this.resolution = resolution || settings.RESOLUTION; | ||
@@ -157,4 +144,2 @@ this._quality = 0; | ||
this.blur = strength || 8; | ||
this.firstRun = true; | ||
} | ||
@@ -170,15 +155,2 @@ | ||
{ | ||
var this$1 = this; | ||
if (this.firstRun) | ||
{ | ||
var gl = filterManager.renderer.gl; | ||
var kernelSize = getMaxKernelSize(gl); | ||
this.vertexSrc = generateVertBlurSource(kernelSize, true); | ||
this.fragmentSrc = generateFragBlurSource(kernelSize); | ||
this.firstRun = false; | ||
} | ||
if (output) | ||
@@ -230,3 +202,3 @@ { | ||
this$1.uniforms.uSampler = flop; | ||
this.uniforms.uSampler = flop; | ||
@@ -238,3 +210,3 @@ var temp = flop; | ||
renderer.shader.bind(this$1); | ||
renderer.shader.bind(this); | ||
renderer.geometry.draw(5); | ||
@@ -290,4 +262,5 @@ } | ||
* The BlurFilter applies a Gaussian blur to an object. | ||
* The strength of the blur can be set for x- and y-axis separately. | ||
* | ||
* The strength of the blur can be set for the x-axis and y-axis separately. | ||
* | ||
* @class | ||
@@ -297,3 +270,3 @@ * @extends PIXI.Filter | ||
*/ | ||
var BlurFilter = (function (Filter$$1) { | ||
var BlurFilter = /*@__PURE__*/(function (Filter$$1) { | ||
function BlurFilter(strength, quality, resolution, kernelSize) | ||
@@ -306,4 +279,3 @@ { | ||
this._padding = 0; | ||
this.resolution = resolution || settings$1.RESOLUTION; | ||
this.resolution = resolution || settings.RESOLUTION; | ||
this.quality = quality || 4; | ||
@@ -324,7 +296,7 @@ this.blur = strength || 8; | ||
* | ||
* @param {PIXI.FilterManager} filterManager - The manager. | ||
* @param {PIXI.RenderTarget} input - The input target. | ||
* @param {PIXI.RenderTarget} output - The output target. | ||
* @param {PIXI.systems.FilterSystem} filterManager - The manager. | ||
* @param {PIXI.RenderTexture} input - The input target. | ||
* @param {PIXI.RenderTexture} output - The output target. | ||
*/ | ||
BlurFilter.prototype.apply = function apply (filterManager, input, output) | ||
BlurFilter.prototype.apply = function apply (filterManager, input, output, clear) | ||
{ | ||
@@ -336,6 +308,6 @@ var xStrength = Math.abs(this.blurXFilter.strength); | ||
{ | ||
var renderTarget = filterManager.getFilterTexture(true); | ||
var renderTarget = filterManager.getFilterTexture(); | ||
this.blurXFilter.apply(filterManager, input, renderTarget, true); | ||
this.blurYFilter.apply(filterManager, renderTarget, output, false); | ||
this.blurYFilter.apply(filterManager, renderTarget, output, clear); | ||
@@ -346,7 +318,7 @@ filterManager.returnFilterTexture(renderTarget); | ||
{ | ||
this.blurYFilter.apply(filterManager, input, output, false); | ||
this.blurYFilter.apply(filterManager, input, output, clear); | ||
} | ||
else | ||
{ | ||
this.blurXFilter.apply(filterManager, input, output, false); | ||
this.blurXFilter.apply(filterManager, input, output, clear); | ||
} | ||
@@ -442,3 +414,3 @@ }; | ||
{ | ||
return this.blurYFilter._blendMode; | ||
return this.blurYFilter.blendMode; | ||
}; | ||
@@ -448,3 +420,3 @@ | ||
{ | ||
this.blurYFilter._blendMode = value; | ||
this.blurYFilter.blendMode = value; | ||
}; | ||
@@ -451,0 +423,0 @@ |
/*! | ||
* @pixi/filter-blur - v5.0.0-alpha.3 | ||
* Compiled Tue, 03 Jul 2018 04:08:21 UTC | ||
* @pixi/filter-blur - v5.0.0-rc | ||
* Compiled Fri, 01 Feb 2019 04:50:10 UTC | ||
* | ||
@@ -15,5 +15,5 @@ * @pixi/filter-blur is licensed under the MIT License. | ||
var vertTemplate = "\n attribute vec2 aVertexPosition;\n\n uniform mat3 projectionMatrix;\n\n uniform float strength;\n\n varying vec2 vBlurTexCoords[%size%];\n\n uniform vec4 inputSize;\n uniform vec4 inputClamp;\n uniform vec4 outputFrame;\n \n vec4 filterVertexPosition( void )\n {\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n \n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n }\n \n vec2 filterTextureCoord( void )\n {\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n }\n\n void main(void)\n {\n gl_Position = filterVertexPosition();\n\n vec2 textureCoord = filterTextureCoord();\n %blur%\n }"; | ||
var vertTemplate = "\n attribute vec2 aVertexPosition;\n\n uniform mat3 projectionMatrix;\n\n uniform float strength;\n\n varying vec2 vBlurTexCoords[%size%];\n\n uniform vec4 inputSize;\n uniform vec4 outputFrame;\n \n vec4 filterVertexPosition( void )\n {\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n \n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n }\n \n vec2 filterTextureCoord( void )\n {\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n }\n\n void main(void)\n {\n gl_Position = filterVertexPosition();\n\n vec2 textureCoord = filterTextureCoord();\n %blur%\n }"; | ||
function generateVertBlurSource(kernelSize, x) | ||
function generateBlurVertSource(kernelSize, x) | ||
{ | ||
@@ -30,7 +30,7 @@ var halfLength = Math.ceil(kernelSize / 2); | ||
{ | ||
template = 'vBlurTexCoords[%index%] = min( textureCoord + vec2(%sampleIndex% * strength, 0.0), inputClamp.zw);'; | ||
template = 'vBlurTexCoords[%index%] = textureCoord + vec2(%sampleIndex% * strength, 0.0);'; | ||
} | ||
else | ||
{ | ||
template = 'vBlurTexCoords[%index%] = min( textureCoord + vec2(0.0, %sampleIndex% * strength), inputClamp.zw);'; | ||
template = 'vBlurTexCoords[%index%] = textureCoord + vec2(0.0, %sampleIndex% * strength);'; | ||
} | ||
@@ -80,3 +80,3 @@ | ||
function generateFragBlurSource(kernelSize) | ||
function generateBlurFragSource(kernelSize) | ||
{ | ||
@@ -115,15 +115,2 @@ var kernel = GAUSSIAN_VALUES[kernelSize]; | ||
function getMaxKernelSize(gl) | ||
{ | ||
var maxVaryings = (gl.getParameter(gl.MAX_VARYING_VECTORS)); | ||
var kernelSize = 15; | ||
while (kernelSize > maxVaryings) | ||
{ | ||
kernelSize -= 2; | ||
} | ||
return kernelSize; | ||
} | ||
/** | ||
@@ -136,10 +123,10 @@ * The BlurFilterPass applies a horizontal or vertical Gaussian blur to an object. | ||
*/ | ||
var BlurFilterPass = (function (Filter$$1) { | ||
var BlurFilterPass = /*@__PURE__*/(function (Filter) { | ||
function BlurFilterPass(horizontal, strength, quality, resolution, kernelSize) | ||
{ | ||
kernelSize = kernelSize || 5; | ||
var vertSrc = generateVertBlurSource(kernelSize, horizontal); | ||
var fragSrc = generateFragBlurSource(kernelSize); | ||
var vertSrc = generateBlurVertSource(kernelSize, horizontal); | ||
var fragSrc = generateBlurFragSource(kernelSize); | ||
Filter$$1.call( | ||
Filter.call( | ||
// vertex shader | ||
@@ -160,8 +147,6 @@ this, vertSrc, | ||
this.blur = strength || 8; | ||
this.firstRun = true; | ||
} | ||
if ( Filter$$1 ) BlurFilterPass.__proto__ = Filter$$1; | ||
BlurFilterPass.prototype = Object.create( Filter$$1 && Filter$$1.prototype ); | ||
if ( Filter ) BlurFilterPass.__proto__ = Filter; | ||
BlurFilterPass.prototype = Object.create( Filter && Filter.prototype ); | ||
BlurFilterPass.prototype.constructor = BlurFilterPass; | ||
@@ -173,15 +158,2 @@ | ||
{ | ||
var this$1 = this; | ||
if (this.firstRun) | ||
{ | ||
var gl = filterManager.renderer.gl; | ||
var kernelSize = getMaxKernelSize(gl); | ||
this.vertexSrc = generateVertBlurSource(kernelSize, true); | ||
this.fragmentSrc = generateFragBlurSource(kernelSize); | ||
this.firstRun = false; | ||
} | ||
if (output) | ||
@@ -233,3 +205,3 @@ { | ||
this$1.uniforms.uSampler = flop; | ||
this.uniforms.uSampler = flop; | ||
@@ -241,3 +213,3 @@ var temp = flop; | ||
renderer.shader.bind(this$1); | ||
renderer.shader.bind(this); | ||
renderer.geometry.draw(5); | ||
@@ -293,4 +265,5 @@ } | ||
* The BlurFilter applies a Gaussian blur to an object. | ||
* The strength of the blur can be set for x- and y-axis separately. | ||
* | ||
* The strength of the blur can be set for the x-axis and y-axis separately. | ||
* | ||
* @class | ||
@@ -300,6 +273,6 @@ * @extends PIXI.Filter | ||
*/ | ||
var BlurFilter = (function (Filter$$1) { | ||
var BlurFilter = /*@__PURE__*/(function (Filter) { | ||
function BlurFilter(strength, quality, resolution, kernelSize) | ||
{ | ||
Filter$$1.call(this); | ||
Filter.call(this); | ||
@@ -309,3 +282,2 @@ this.blurXFilter = new BlurFilterPass(true, strength, quality, resolution, kernelSize); | ||
this._padding = 0; | ||
this.resolution = resolution || settings.settings.RESOLUTION; | ||
@@ -318,4 +290,4 @@ this.quality = quality || 4; | ||
if ( Filter$$1 ) BlurFilter.__proto__ = Filter$$1; | ||
BlurFilter.prototype = Object.create( Filter$$1 && Filter$$1.prototype ); | ||
if ( Filter ) BlurFilter.__proto__ = Filter; | ||
BlurFilter.prototype = Object.create( Filter && Filter.prototype ); | ||
BlurFilter.prototype.constructor = BlurFilter; | ||
@@ -328,7 +300,7 @@ | ||
* | ||
* @param {PIXI.FilterManager} filterManager - The manager. | ||
* @param {PIXI.RenderTarget} input - The input target. | ||
* @param {PIXI.RenderTarget} output - The output target. | ||
* @param {PIXI.systems.FilterSystem} filterManager - The manager. | ||
* @param {PIXI.RenderTexture} input - The input target. | ||
* @param {PIXI.RenderTexture} output - The output target. | ||
*/ | ||
BlurFilter.prototype.apply = function apply (filterManager, input, output) | ||
BlurFilter.prototype.apply = function apply (filterManager, input, output, clear) | ||
{ | ||
@@ -340,6 +312,6 @@ var xStrength = Math.abs(this.blurXFilter.strength); | ||
{ | ||
var renderTarget = filterManager.getFilterTexture(true); | ||
var renderTarget = filterManager.getFilterTexture(); | ||
this.blurXFilter.apply(filterManager, input, renderTarget, true); | ||
this.blurYFilter.apply(filterManager, renderTarget, output, false); | ||
this.blurYFilter.apply(filterManager, renderTarget, output, clear); | ||
@@ -350,7 +322,7 @@ filterManager.returnFilterTexture(renderTarget); | ||
{ | ||
this.blurYFilter.apply(filterManager, input, output, false); | ||
this.blurYFilter.apply(filterManager, input, output, clear); | ||
} | ||
else | ||
{ | ||
this.blurXFilter.apply(filterManager, input, output, false); | ||
this.blurXFilter.apply(filterManager, input, output, clear); | ||
} | ||
@@ -446,3 +418,3 @@ }; | ||
{ | ||
return this.blurYFilter._blendMode; | ||
return this.blurYFilter.blendMode; | ||
}; | ||
@@ -452,3 +424,3 @@ | ||
{ | ||
this.blurYFilter._blendMode = value; | ||
this.blurYFilter.blendMode = value; | ||
}; | ||
@@ -455,0 +427,0 @@ |
{ | ||
"name": "@pixi/filter-blur", | ||
"version": "5.0.0-alpha.3", | ||
"version": "5.0.0-rc", | ||
"main": "lib/filter-blur.js", | ||
"module": "lib/filter-blur.es.js", | ||
"description": "Support for legacy browser JavaScript environments", | ||
"description": "Filter that blurs the display object", | ||
"author": "Mat Groves", | ||
@@ -25,8 +25,9 @@ "contributors": [ | ||
"dependencies": { | ||
"@pixi/core": "^5.0.0-alpha.3", | ||
"@pixi/settings": "^5.0.0-alpha.3" | ||
"@pixi/core": "^5.0.0-rc", | ||
"@pixi/settings": "^5.0.0-rc" | ||
}, | ||
"devDependencies": { | ||
"floss": "^2.1.3" | ||
} | ||
"floss": "^2.1.5" | ||
}, | ||
"gitHead": "9026a1bbca9a9d86b7a3b6d5eb4fa2c3145c2b85" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
66721
713
Updated@pixi/core@^5.0.0-rc
Updated@pixi/settings@^5.0.0-rc