diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index 7a8ea04..3e9b3e3 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -27,7 +27,7 @@ var gl = this.renderer.gl; - if (stencilMaskStack.stencilStack.length === 0) + if (stencilMaskStack.length === 0) { gl.disable(gl.STENCIL_TEST); } @@ -50,7 +50,7 @@ var gl = this.renderer.gl, sms = this.stencilMaskStack; - if (sms.stencilStack.length === 0) + if (sms.length === 0) { gl.enable(gl.STENCIL_TEST); gl.clear(gl.STENCIL_BUFFER_BIT); @@ -58,7 +58,7 @@ sms.count = 0; } - sms.stencilStack.push(graphics); + sms.push(graphics); gl.colorMask(false, false, false, false); @@ -68,12 +68,10 @@ this.renderer.plugins.graphics.render(graphics) - gl.stencilFunc(gl.NOTEQUAL,0, sms.stencilStack.length); + gl.stencilFunc(gl.NOTEQUAL,0, sms.length); gl.colorMask(true, true, true, true); gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); - - sms.count++; }; /** @@ -86,11 +84,9 @@ var gl = this.renderer.gl, sms = this.stencilMaskStack; - sms.stencilStack.pop(); + sms.pop(); - sms.count--; - - if (sms.stencilStack.length === 0) + if (sms.length === 0) { // the stack is empty! gl.disable(gl.STENCIL_TEST); @@ -106,7 +102,7 @@ this.renderer.plugins.graphics.render(graphics) - gl.stencilFunc(gl.NOTEQUAL,0,sms.stencilStack.length); + gl.stencilFunc(gl.NOTEQUAL,0,sms.length); gl.colorMask(true, true, true, true); gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index 7a8ea04..3e9b3e3 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -27,7 +27,7 @@ var gl = this.renderer.gl; - if (stencilMaskStack.stencilStack.length === 0) + if (stencilMaskStack.length === 0) { gl.disable(gl.STENCIL_TEST); } @@ -50,7 +50,7 @@ var gl = this.renderer.gl, sms = this.stencilMaskStack; - if (sms.stencilStack.length === 0) + if (sms.length === 0) { gl.enable(gl.STENCIL_TEST); gl.clear(gl.STENCIL_BUFFER_BIT); @@ -58,7 +58,7 @@ sms.count = 0; } - sms.stencilStack.push(graphics); + sms.push(graphics); gl.colorMask(false, false, false, false); @@ -68,12 +68,10 @@ this.renderer.plugins.graphics.render(graphics) - gl.stencilFunc(gl.NOTEQUAL,0, sms.stencilStack.length); + gl.stencilFunc(gl.NOTEQUAL,0, sms.length); gl.colorMask(true, true, true, true); gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); - - sms.count++; }; /** @@ -86,11 +84,9 @@ var gl = this.renderer.gl, sms = this.stencilMaskStack; - sms.stencilStack.pop(); + sms.pop(); - sms.count--; - - if (sms.stencilStack.length === 0) + if (sms.length === 0) { // the stack is empty! gl.disable(gl.STENCIL_TEST); @@ -106,7 +102,7 @@ this.renderer.plugins.graphics.render(graphics) - gl.stencilFunc(gl.NOTEQUAL,0,sms.stencilStack.length); + gl.stencilFunc(gl.NOTEQUAL,0,sms.length); gl.colorMask(true, true, true, true); gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 10e8b12..6c3bf2f 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -3,9 +3,7 @@ CONST = require('../../../const'), GLTexture = require('pixi-gl-core').GLTexture, - GLFramebuffer = require('pixi-gl-core').GLFramebuffer, - - StencilMaskStack = require('./StencilMaskStack'); + GLFramebuffer = require('pixi-gl-core').GLFramebuffer; /** * @author Mat Groves http://matgroves.com/ @Doormat23 @@ -101,7 +99,7 @@ * * @member {PIXI.StencilMaskStack} */ - this.stencilMaskStack = new StencilMaskStack(); + this.stencilMaskStack = []; /** * Stores filter data for the render target diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index 7a8ea04..3e9b3e3 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -27,7 +27,7 @@ var gl = this.renderer.gl; - if (stencilMaskStack.stencilStack.length === 0) + if (stencilMaskStack.length === 0) { gl.disable(gl.STENCIL_TEST); } @@ -50,7 +50,7 @@ var gl = this.renderer.gl, sms = this.stencilMaskStack; - if (sms.stencilStack.length === 0) + if (sms.length === 0) { gl.enable(gl.STENCIL_TEST); gl.clear(gl.STENCIL_BUFFER_BIT); @@ -58,7 +58,7 @@ sms.count = 0; } - sms.stencilStack.push(graphics); + sms.push(graphics); gl.colorMask(false, false, false, false); @@ -68,12 +68,10 @@ this.renderer.plugins.graphics.render(graphics) - gl.stencilFunc(gl.NOTEQUAL,0, sms.stencilStack.length); + gl.stencilFunc(gl.NOTEQUAL,0, sms.length); gl.colorMask(true, true, true, true); gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); - - sms.count++; }; /** @@ -86,11 +84,9 @@ var gl = this.renderer.gl, sms = this.stencilMaskStack; - sms.stencilStack.pop(); + sms.pop(); - sms.count--; - - if (sms.stencilStack.length === 0) + if (sms.length === 0) { // the stack is empty! gl.disable(gl.STENCIL_TEST); @@ -106,7 +102,7 @@ this.renderer.plugins.graphics.render(graphics) - gl.stencilFunc(gl.NOTEQUAL,0,sms.stencilStack.length); + gl.stencilFunc(gl.NOTEQUAL,0,sms.length); gl.colorMask(true, true, true, true); gl.stencilOp(gl.KEEP,gl.KEEP,gl.KEEP); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 10e8b12..6c3bf2f 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -3,9 +3,7 @@ CONST = require('../../../const'), GLTexture = require('pixi-gl-core').GLTexture, - GLFramebuffer = require('pixi-gl-core').GLFramebuffer, - - StencilMaskStack = require('./StencilMaskStack'); + GLFramebuffer = require('pixi-gl-core').GLFramebuffer; /** * @author Mat Groves http://matgroves.com/ @Doormat23 @@ -101,7 +99,7 @@ * * @member {PIXI.StencilMaskStack} */ - this.stencilMaskStack = new StencilMaskStack(); + this.stencilMaskStack = []; /** * Stores filter data for the render target diff --git a/src/core/renderers/webgl/utils/StencilMaskStack.js b/src/core/renderers/webgl/utils/StencilMaskStack.js deleted file mode 100644 index bde2e86..0000000 --- a/src/core/renderers/webgl/utils/StencilMaskStack.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Generic Mask Stack data structure - * @class - * @memberof PIXI - */ -function StencilMaskStack() -{ - /** - * The actual stack - * - * @member {any[]} - */ - this.stencilStack = []; - - /** - * TODO @alvin - * - * @member {boolean} - */ - this.reverse = true; - - /** - * Internal count - * - * @member {number} - */ - this.count = 0; -} - -StencilMaskStack.prototype.constructor = StencilMaskStack; -module.exports = StencilMaskStack;