diff --git a/packages/core/src/filters/FilterSystem.js b/packages/core/src/filters/FilterSystem.js index 4348f45..6d872bb 100644 --- a/packages/core/src/filters/FilterSystem.js +++ b/packages/core/src/filters/FilterSystem.js @@ -107,7 +107,7 @@ * stores a bunch of PO2 textures used for filtering * @member {Object} */ - this.texturePool = new RenderTexturePool(); + this.texturePool = new RenderTexturePool(renderer); /** * a pool for storing filter states, save us creating new ones each tick diff --git a/packages/core/src/filters/FilterSystem.js b/packages/core/src/filters/FilterSystem.js index 4348f45..6d872bb 100644 --- a/packages/core/src/filters/FilterSystem.js +++ b/packages/core/src/filters/FilterSystem.js @@ -107,7 +107,7 @@ * stores a bunch of PO2 textures used for filtering * @member {Object} */ - this.texturePool = new RenderTexturePool(); + this.texturePool = new RenderTexturePool(renderer); /** * a pool for storing filter states, save us creating new ones each tick diff --git a/packages/core/src/renderTexture/RenderTexturePool.js b/packages/core/src/renderTexture/RenderTexturePool.js index 815131c..22e143b 100644 --- a/packages/core/src/renderTexture/RenderTexturePool.js +++ b/packages/core/src/renderTexture/RenderTexturePool.js @@ -10,7 +10,7 @@ { /** * @param {PIXI.Renderer} renderer - The renderer this System works for. - * @param {object} textureOptions - options that will be passed to BaseRenderTexture constructor + * @param {object} [textureOptions] - options that will be passed to BaseRenderTexture constructor */ constructor(renderer, textureOptions) { @@ -26,6 +26,23 @@ } /** + * creates of texture with params that were specified in pool constructor + * + * @param {number} realWidth width of texture in pixels + * @param {number} realHeight height of texture in pixels + * @returns {RenderTexture} + */ + createTexture(realWidth, realHeight) + { + const baseRenderTexture = new BaseRenderTexture(Object.assign({ + width: realWidth, + height: realHeight, + }, this.textureOptions)); + + return new RenderTexture(baseRenderTexture); + } + + /** * Gets a Power-of-Two render texture or fullScreen texture * * @protected @@ -57,12 +74,7 @@ if (!renderTexture) { - const baseRenderTexture = new BaseRenderTexture(Object.assign({ - width: minWidth, - height: minHeight, - }, this.textureOptions)); - - renderTexture = new RenderTexture(baseRenderTexture); + renderTexture = this.createTexture(minWidth, minHeight); } renderTexture.filterPoolKey = key;