diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index cda8a3c..3b0410d 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -221,6 +221,7 @@ return; } + this._activeBlendMode = blendMode; this.context.globalCompositeOperation = this.blendModes[blendMode]; } diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index cda8a3c..3b0410d 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -221,6 +221,7 @@ return; } + this._activeBlendMode = blendMode; this.context.globalCompositeOperation = this.blendModes[blendMode]; } diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index 2257a6f..3bba625 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -227,13 +227,7 @@ context.translate(modX + (this.anchor.x * -this._width), modY + (this.anchor.y * -this._height)); - // check blend mode - const compositeOperation = renderer.blendModes[this.blendMode]; - - if (compositeOperation !== renderer.context.globalCompositeOperation) - { - context.globalCompositeOperation = compositeOperation; - } + renderer.setBlendMode(this.blendMode); // fill the pattern! context.fillStyle = this._canvasPattern; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index cda8a3c..3b0410d 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -221,6 +221,7 @@ return; } + this._activeBlendMode = blendMode; this.context.globalCompositeOperation = this.blendModes[blendMode]; } diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index 2257a6f..3bba625 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -227,13 +227,7 @@ context.translate(modX + (this.anchor.x * -this._width), modY + (this.anchor.y * -this._height)); - // check blend mode - const compositeOperation = renderer.blendModes[this.blendMode]; - - if (compositeOperation !== renderer.context.globalCompositeOperation) - { - context.globalCompositeOperation = compositeOperation; - } + renderer.setBlendMode(this.blendMode); // fill the pattern! context.fillStyle = this._canvasPattern; diff --git a/src/mesh/canvas/CanvasMeshRenderer.js b/src/mesh/canvas/CanvasMeshRenderer.js index a1ad74c..1263170 100644 --- a/src/mesh/canvas/CanvasMeshRenderer.js +++ b/src/mesh/canvas/CanvasMeshRenderer.js @@ -54,6 +54,8 @@ ); } + renderer.setBlendMode(mesh.blendMode); + if (mesh.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH) { this._renderTriangleMesh(mesh);