diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index d91d2b9..f65d371 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -2,8 +2,9 @@ math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), - EventEmitter = require('eventemitter3'); - + RenderTexture = require('../textures/RenderTexture'), + EventEmitter = require('eventemitter3'), + tempMatrix = new math.Matrix(); /** * The CanvasRenderer draws the scene and all its content onto a 2d canvas. This renderer should be used for browsers that do not support webGL. * Don't forget to add the CanvasRenderer.view to your DOM or you will not see anything :) @@ -223,6 +224,20 @@ } }; +SystemRenderer.prototype.generateTexture = function (displayObject, scaleMode, resolution) { + + var bounds = displayObject.getLocalBounds(); + + var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + + tempMatrix.tx = -bounds.x; + tempMatrix.ty = -bounds.y; + + this.render(displayObject, renderTexture, false, tempMatrix, true); + + return renderTexture; +} + /** * Removes everything from the renderer and optionally removes the Canvas DOM element. * diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index d91d2b9..f65d371 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -2,8 +2,9 @@ math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), - EventEmitter = require('eventemitter3'); - + RenderTexture = require('../textures/RenderTexture'), + EventEmitter = require('eventemitter3'), + tempMatrix = new math.Matrix(); /** * The CanvasRenderer draws the scene and all its content onto a 2d canvas. This renderer should be used for browsers that do not support webGL. * Don't forget to add the CanvasRenderer.view to your DOM or you will not see anything :) @@ -223,6 +224,20 @@ } }; +SystemRenderer.prototype.generateTexture = function (displayObject, scaleMode, resolution) { + + var bounds = displayObject.getLocalBounds(); + + var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + + tempMatrix.tx = -bounds.x; + tempMatrix.ty = -bounds.y; + + this.render(displayObject, renderTexture, false, tempMatrix, true); + + return renderTexture; +} + /** * Removes everything from the renderer and optionally removes the Canvas DOM element. * diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 295b2b7..eb33116 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -144,7 +144,6 @@ // set all properties to there original so we can render to a texture this.renderWebGL = this._originalRenderWebGL; -// renderer.clear([0.5, 0.5, 0.5, 0.5]) renderer.render(this, renderTexture, true, m, true); // now restore the state be setting the new properties