diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index d22996f..66ebc3c 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -265,10 +265,7 @@ * @private */ DisplayObject.prototype.updateTransform = function () { - if (!this.parent) { - return; - } - + // create some matrix refs for easy access var pt = this.parent.worldTransform; var wt = this.worldTransform; diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index d22996f..66ebc3c 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -265,10 +265,7 @@ * @private */ DisplayObject.prototype.updateTransform = function () { - if (!this.parent) { - return; - } - + // create some matrix refs for easy access var pt = this.parent.worldTransform; var wt = this.worldTransform; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b617cda..0063821 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -229,6 +229,13 @@ // map some webGL blend modes.. this._mapBlendModes(); + + /** + * This temporary display object used as the parent of the currently being rendered item + * @member DisplayObject + * @private + */ + this._tempDisplayObjectParent = new PIXI.DisplayObject(); } // constructor @@ -294,9 +301,14 @@ return; } + var cacheParent = object.parent; + object.parent = this._tempDisplayObjectParent; + // update the scene graph object.updateTransform(); + object.parent = cacheParent; + var gl = this.gl; // -- Does this need to be set every frame? -- //