diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 0e4086b..7772adc 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -45,10 +45,12 @@ { var renderer = this.renderer; - var filterData = this.renderer._activeRenderTarget.filterStack; + var filterData = this.filterData; if(!filterData) { + filterData = this.renderer._activeRenderTarget.filterStack; + // add new stack var filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; @@ -58,9 +60,9 @@ index:0, stack:[filterState] }; - } - this.filterData = filterData; + this.filterData = filterData; + } // get the current filter state.. var currentState = filterData.stack[++filterData.index]; @@ -142,6 +144,11 @@ } filterData.index--; + + if(filterData.index === 0) + { + this.filterData = null; + } }; FilterManager.prototype.applyFilter = function (filter, input, output, clear)