diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 39221c8..bede5eb 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -29,7 +29,7 @@ * @param [options.forceFXAA=false] {boolean} forces FXAA antialiasing to be used over native. FXAA is faster, but may not always lok as great * @param [options.resolution=1] {number} the resolution of the renderer retina would be 2 * @param [options.clearBeforeRender=true] {boolean} This sets if the CanvasRenderer will clear the canvas or - * not before the new render pass. + * not before the new render pass. If you wish to set this to false, you *must* set preserveDrawingBuffer to `true`. * @param [options.preserveDrawingBuffer=false] {boolean} enables drawing buffer preservation, enable this if * you need to call toDataUrl on the webgl context. */ @@ -475,6 +475,12 @@ this.view.removeEventListener('webglcontextlost', this.handleContextLost); this.view.removeEventListener('webglcontextrestored', this.handleContextRestored); + for (var key in utils.BaseTextureCache) { + var texture = utils.BaseTextureCache[key]; + texture.off('update', this.updateTexture, this); + texture.off('dispose', this.destroyTexture, this); + } + // call base destroy SystemRenderer.prototype.destroy.call(this, removeView); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 39221c8..bede5eb 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -29,7 +29,7 @@ * @param [options.forceFXAA=false] {boolean} forces FXAA antialiasing to be used over native. FXAA is faster, but may not always lok as great * @param [options.resolution=1] {number} the resolution of the renderer retina would be 2 * @param [options.clearBeforeRender=true] {boolean} This sets if the CanvasRenderer will clear the canvas or - * not before the new render pass. + * not before the new render pass. If you wish to set this to false, you *must* set preserveDrawingBuffer to `true`. * @param [options.preserveDrawingBuffer=false] {boolean} enables drawing buffer preservation, enable this if * you need to call toDataUrl on the webgl context. */ @@ -475,6 +475,12 @@ this.view.removeEventListener('webglcontextlost', this.handleContextLost); this.view.removeEventListener('webglcontextrestored', this.handleContextRestored); + for (var key in utils.BaseTextureCache) { + var texture = utils.BaseTextureCache[key]; + texture.off('update', this.updateTexture, this); + texture.off('dispose', this.destroyTexture, this); + } + // call base destroy SystemRenderer.prototype.destroy.call(this, removeView); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 5508aa2..949771a 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -446,11 +446,11 @@ */ SpriteRenderer.prototype.destroy = function () { - ObjectRenderer.prototype.destroy.call(this); - this.renderer.gl.deleteBuffer(this.vertexBuffer); this.renderer.gl.deleteBuffer(this.indexBuffer); + ObjectRenderer.prototype.destroy.call(this); + this.shader.destroy(); this.renderer = null; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 39221c8..bede5eb 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -29,7 +29,7 @@ * @param [options.forceFXAA=false] {boolean} forces FXAA antialiasing to be used over native. FXAA is faster, but may not always lok as great * @param [options.resolution=1] {number} the resolution of the renderer retina would be 2 * @param [options.clearBeforeRender=true] {boolean} This sets if the CanvasRenderer will clear the canvas or - * not before the new render pass. + * not before the new render pass. If you wish to set this to false, you *must* set preserveDrawingBuffer to `true`. * @param [options.preserveDrawingBuffer=false] {boolean} enables drawing buffer preservation, enable this if * you need to call toDataUrl on the webgl context. */ @@ -475,6 +475,12 @@ this.view.removeEventListener('webglcontextlost', this.handleContextLost); this.view.removeEventListener('webglcontextrestored', this.handleContextRestored); + for (var key in utils.BaseTextureCache) { + var texture = utils.BaseTextureCache[key]; + texture.off('update', this.updateTexture, this); + texture.off('dispose', this.destroyTexture, this); + } + // call base destroy SystemRenderer.prototype.destroy.call(this, removeView); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 5508aa2..949771a 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -446,11 +446,11 @@ */ SpriteRenderer.prototype.destroy = function () { - ObjectRenderer.prototype.destroy.call(this); - this.renderer.gl.deleteBuffer(this.vertexBuffer); this.renderer.gl.deleteBuffer(this.indexBuffer); + ObjectRenderer.prototype.destroy.call(this); + this.shader.destroy(); this.renderer = null; diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 86a3f52..c5e95a1 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -321,8 +321,7 @@ this.textureBuffer.clear(); } - displayObject.worldTransform = cachedWt; - + // this.textureBuffer. var context = this.textureBuffer.context; @@ -333,6 +332,9 @@ this.renderer.renderDisplayObject(displayObject, context); this.renderer.resolution = realResolution; + + displayObject.worldTransform = cachedWt; + // context.setTransform(1, 0, 0, 1, 0, 0); // context.fillStyle ="#FF0000" // context.fillRect(0, 0, 800, 600); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 39221c8..bede5eb 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -29,7 +29,7 @@ * @param [options.forceFXAA=false] {boolean} forces FXAA antialiasing to be used over native. FXAA is faster, but may not always lok as great * @param [options.resolution=1] {number} the resolution of the renderer retina would be 2 * @param [options.clearBeforeRender=true] {boolean} This sets if the CanvasRenderer will clear the canvas or - * not before the new render pass. + * not before the new render pass. If you wish to set this to false, you *must* set preserveDrawingBuffer to `true`. * @param [options.preserveDrawingBuffer=false] {boolean} enables drawing buffer preservation, enable this if * you need to call toDataUrl on the webgl context. */ @@ -475,6 +475,12 @@ this.view.removeEventListener('webglcontextlost', this.handleContextLost); this.view.removeEventListener('webglcontextrestored', this.handleContextRestored); + for (var key in utils.BaseTextureCache) { + var texture = utils.BaseTextureCache[key]; + texture.off('update', this.updateTexture, this); + texture.off('dispose', this.destroyTexture, this); + } + // call base destroy SystemRenderer.prototype.destroy.call(this, removeView); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 5508aa2..949771a 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -446,11 +446,11 @@ */ SpriteRenderer.prototype.destroy = function () { - ObjectRenderer.prototype.destroy.call(this); - this.renderer.gl.deleteBuffer(this.vertexBuffer); this.renderer.gl.deleteBuffer(this.indexBuffer); + ObjectRenderer.prototype.destroy.call(this); + this.shader.destroy(); this.renderer = null; diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 86a3f52..c5e95a1 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -321,8 +321,7 @@ this.textureBuffer.clear(); } - displayObject.worldTransform = cachedWt; - + // this.textureBuffer. var context = this.textureBuffer.context; @@ -333,6 +332,9 @@ this.renderer.renderDisplayObject(displayObject, context); this.renderer.resolution = realResolution; + + displayObject.worldTransform = cachedWt; + // context.setTransform(1, 0, 0, 1, 0, 0); // context.fillStyle ="#FF0000" // context.fillRect(0, 0, 800, 600); diff --git a/src/deprecation.js b/src/deprecation.js index 85311ec..0586446 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -7,8 +7,9 @@ /** * @class * @private - * @name PIXI.SpriteBatch - * @see {@link PIXI.ParticleContainer} + * @name SpriteBatch + * @memberof PIXI + * @see PIXI.ParticleContainer * @throws {ReferenceError} SpriteBatch does not exist any more, please use the new ParticleContainer instead. * @deprecated since version 3.0.0 */ @@ -20,8 +21,9 @@ /** * @class * @private - * @name PIXI.AssetLoader - * @see {@link PIXI.loaders.Loader} + * @name AssetLoader + * @memberof PIXI + * @see PIXI.loaders.Loader * @throws {ReferenceError} The loader system was overhauled in pixi v3, please see the new PIXI.loaders.Loader class. * @deprecated since version 3.0.0 */ @@ -35,7 +37,8 @@ /** * @class * @private - * @name PIXI.Stage + * @name Stage + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -50,7 +53,8 @@ /** * @class * @private - * @name PIXI.DisplayObjectContainer + * @name DisplayObjectContainer + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -65,7 +69,8 @@ /** * @class * @private - * @name PIXI.Strip + * @name Strip + * @memberof PIXI * @see PIXI.mesh.Mesh * @deprecated since version 3.0.0 */ @@ -80,7 +85,8 @@ /** * @class * @private - * @name PIXI.Rope + * @name Rope + * @memberof PIXI * @see PIXI.mesh.Rope * @deprecated since version 3.0.0 */ @@ -95,8 +101,9 @@ /** * @class * @private - * @name PIXI.MovieClip - * @see PIXI.MovieClip + * @name MovieClip + * @memberof PIXI + * @see PIXI.extras.MovieClip * @deprecated since version 3.0.0 */ MovieClip: { @@ -110,8 +117,9 @@ /** * @class * @private - * @name PIXI.TilingSprite - * @see PIXI.TilingSprite + * @name TilingSprite + * @memberof PIXI + * @see PIXI.extras.TilingSprite * @deprecated since version 3.0.0 */ TilingSprite: { @@ -125,7 +133,8 @@ /** * @class * @private - * @name PIXI.BitmapText + * @name BitmapText + * @memberof PIXI * @see PIXI.extras.BitmapText * @deprecated since version 3.0.0 */ @@ -140,7 +149,8 @@ /** * @class * @private - * @name PIXI.blendModes + * @name blendModes + * @memberof PIXI * @see PIXI.BLEND_MODES * @deprecated since version 3.0.0 */ @@ -155,7 +165,8 @@ /** * @class * @private - * @name PIXI.scaleModes + * @name scaleModes + * @memberof PIXI * @see PIXI.SCALE_MODES * @deprecated since version 3.0.0 */ @@ -170,7 +181,8 @@ /** * @class * @private - * @name PIXI.BaseTextureCache + * @name BaseTextureCache + * @memberof PIXI * @see PIXI.utils.BaseTextureCache * @deprecated since version 3.0.0 */ @@ -185,7 +197,8 @@ /** * @class * @private - * @name PIXI.TextureCache + * @name TextureCache + * @memberof PIXI * @see PIXI.utils.TextureCache * @deprecated since version 3.0.0 */ @@ -200,7 +213,8 @@ /** * @namespace * @private - * @name PIXI.math + * @name math + * @memberof PIXI * @see PIXI * @deprecated since version 3.0.6 */ @@ -229,7 +243,7 @@ /** * @method * @name PIXI.extras.BitmapText#setText - * @see PIXI.BitmapText#text + * @see PIXI.extras.BitmapText#text * @deprecated since version 3.0.0 */ extras.BitmapText.prototype.setText = function(text) diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 39221c8..bede5eb 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -29,7 +29,7 @@ * @param [options.forceFXAA=false] {boolean} forces FXAA antialiasing to be used over native. FXAA is faster, but may not always lok as great * @param [options.resolution=1] {number} the resolution of the renderer retina would be 2 * @param [options.clearBeforeRender=true] {boolean} This sets if the CanvasRenderer will clear the canvas or - * not before the new render pass. + * not before the new render pass. If you wish to set this to false, you *must* set preserveDrawingBuffer to `true`. * @param [options.preserveDrawingBuffer=false] {boolean} enables drawing buffer preservation, enable this if * you need to call toDataUrl on the webgl context. */ @@ -475,6 +475,12 @@ this.view.removeEventListener('webglcontextlost', this.handleContextLost); this.view.removeEventListener('webglcontextrestored', this.handleContextRestored); + for (var key in utils.BaseTextureCache) { + var texture = utils.BaseTextureCache[key]; + texture.off('update', this.updateTexture, this); + texture.off('dispose', this.destroyTexture, this); + } + // call base destroy SystemRenderer.prototype.destroy.call(this, removeView); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 5508aa2..949771a 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -446,11 +446,11 @@ */ SpriteRenderer.prototype.destroy = function () { - ObjectRenderer.prototype.destroy.call(this); - this.renderer.gl.deleteBuffer(this.vertexBuffer); this.renderer.gl.deleteBuffer(this.indexBuffer); + ObjectRenderer.prototype.destroy.call(this); + this.shader.destroy(); this.renderer = null; diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 86a3f52..c5e95a1 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -321,8 +321,7 @@ this.textureBuffer.clear(); } - displayObject.worldTransform = cachedWt; - + // this.textureBuffer. var context = this.textureBuffer.context; @@ -333,6 +332,9 @@ this.renderer.renderDisplayObject(displayObject, context); this.renderer.resolution = realResolution; + + displayObject.worldTransform = cachedWt; + // context.setTransform(1, 0, 0, 1, 0, 0); // context.fillStyle ="#FF0000" // context.fillRect(0, 0, 800, 600); diff --git a/src/deprecation.js b/src/deprecation.js index 85311ec..0586446 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -7,8 +7,9 @@ /** * @class * @private - * @name PIXI.SpriteBatch - * @see {@link PIXI.ParticleContainer} + * @name SpriteBatch + * @memberof PIXI + * @see PIXI.ParticleContainer * @throws {ReferenceError} SpriteBatch does not exist any more, please use the new ParticleContainer instead. * @deprecated since version 3.0.0 */ @@ -20,8 +21,9 @@ /** * @class * @private - * @name PIXI.AssetLoader - * @see {@link PIXI.loaders.Loader} + * @name AssetLoader + * @memberof PIXI + * @see PIXI.loaders.Loader * @throws {ReferenceError} The loader system was overhauled in pixi v3, please see the new PIXI.loaders.Loader class. * @deprecated since version 3.0.0 */ @@ -35,7 +37,8 @@ /** * @class * @private - * @name PIXI.Stage + * @name Stage + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -50,7 +53,8 @@ /** * @class * @private - * @name PIXI.DisplayObjectContainer + * @name DisplayObjectContainer + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -65,7 +69,8 @@ /** * @class * @private - * @name PIXI.Strip + * @name Strip + * @memberof PIXI * @see PIXI.mesh.Mesh * @deprecated since version 3.0.0 */ @@ -80,7 +85,8 @@ /** * @class * @private - * @name PIXI.Rope + * @name Rope + * @memberof PIXI * @see PIXI.mesh.Rope * @deprecated since version 3.0.0 */ @@ -95,8 +101,9 @@ /** * @class * @private - * @name PIXI.MovieClip - * @see PIXI.MovieClip + * @name MovieClip + * @memberof PIXI + * @see PIXI.extras.MovieClip * @deprecated since version 3.0.0 */ MovieClip: { @@ -110,8 +117,9 @@ /** * @class * @private - * @name PIXI.TilingSprite - * @see PIXI.TilingSprite + * @name TilingSprite + * @memberof PIXI + * @see PIXI.extras.TilingSprite * @deprecated since version 3.0.0 */ TilingSprite: { @@ -125,7 +133,8 @@ /** * @class * @private - * @name PIXI.BitmapText + * @name BitmapText + * @memberof PIXI * @see PIXI.extras.BitmapText * @deprecated since version 3.0.0 */ @@ -140,7 +149,8 @@ /** * @class * @private - * @name PIXI.blendModes + * @name blendModes + * @memberof PIXI * @see PIXI.BLEND_MODES * @deprecated since version 3.0.0 */ @@ -155,7 +165,8 @@ /** * @class * @private - * @name PIXI.scaleModes + * @name scaleModes + * @memberof PIXI * @see PIXI.SCALE_MODES * @deprecated since version 3.0.0 */ @@ -170,7 +181,8 @@ /** * @class * @private - * @name PIXI.BaseTextureCache + * @name BaseTextureCache + * @memberof PIXI * @see PIXI.utils.BaseTextureCache * @deprecated since version 3.0.0 */ @@ -185,7 +197,8 @@ /** * @class * @private - * @name PIXI.TextureCache + * @name TextureCache + * @memberof PIXI * @see PIXI.utils.TextureCache * @deprecated since version 3.0.0 */ @@ -200,7 +213,8 @@ /** * @namespace * @private - * @name PIXI.math + * @name math + * @memberof PIXI * @see PIXI * @deprecated since version 3.0.6 */ @@ -229,7 +243,7 @@ /** * @method * @name PIXI.extras.BitmapText#setText - * @see PIXI.BitmapText#text + * @see PIXI.extras.BitmapText#text * @deprecated since version 3.0.0 */ extras.BitmapText.prototype.setText = function(text) diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index 858a8cd..5298760 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -8,7 +8,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * @@ -124,7 +124,7 @@ * The tint of the BitmapText object * * @member {number} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ tint: { get: function () @@ -144,7 +144,7 @@ * * @member {string} * @default 'left' - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ align: { get: function () @@ -163,7 +163,7 @@ * The font descriptor of the BitmapText object * * @member {Font} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ font: { get: function () @@ -195,7 +195,7 @@ * The text of the BitmapText object * * @member {string} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ text: { get: function () diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 39221c8..bede5eb 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -29,7 +29,7 @@ * @param [options.forceFXAA=false] {boolean} forces FXAA antialiasing to be used over native. FXAA is faster, but may not always lok as great * @param [options.resolution=1] {number} the resolution of the renderer retina would be 2 * @param [options.clearBeforeRender=true] {boolean} This sets if the CanvasRenderer will clear the canvas or - * not before the new render pass. + * not before the new render pass. If you wish to set this to false, you *must* set preserveDrawingBuffer to `true`. * @param [options.preserveDrawingBuffer=false] {boolean} enables drawing buffer preservation, enable this if * you need to call toDataUrl on the webgl context. */ @@ -475,6 +475,12 @@ this.view.removeEventListener('webglcontextlost', this.handleContextLost); this.view.removeEventListener('webglcontextrestored', this.handleContextRestored); + for (var key in utils.BaseTextureCache) { + var texture = utils.BaseTextureCache[key]; + texture.off('update', this.updateTexture, this); + texture.off('dispose', this.destroyTexture, this); + } + // call base destroy SystemRenderer.prototype.destroy.call(this, removeView); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 5508aa2..949771a 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -446,11 +446,11 @@ */ SpriteRenderer.prototype.destroy = function () { - ObjectRenderer.prototype.destroy.call(this); - this.renderer.gl.deleteBuffer(this.vertexBuffer); this.renderer.gl.deleteBuffer(this.indexBuffer); + ObjectRenderer.prototype.destroy.call(this); + this.shader.destroy(); this.renderer = null; diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 86a3f52..c5e95a1 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -321,8 +321,7 @@ this.textureBuffer.clear(); } - displayObject.worldTransform = cachedWt; - + // this.textureBuffer. var context = this.textureBuffer.context; @@ -333,6 +332,9 @@ this.renderer.renderDisplayObject(displayObject, context); this.renderer.resolution = realResolution; + + displayObject.worldTransform = cachedWt; + // context.setTransform(1, 0, 0, 1, 0, 0); // context.fillStyle ="#FF0000" // context.fillRect(0, 0, 800, 600); diff --git a/src/deprecation.js b/src/deprecation.js index 85311ec..0586446 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -7,8 +7,9 @@ /** * @class * @private - * @name PIXI.SpriteBatch - * @see {@link PIXI.ParticleContainer} + * @name SpriteBatch + * @memberof PIXI + * @see PIXI.ParticleContainer * @throws {ReferenceError} SpriteBatch does not exist any more, please use the new ParticleContainer instead. * @deprecated since version 3.0.0 */ @@ -20,8 +21,9 @@ /** * @class * @private - * @name PIXI.AssetLoader - * @see {@link PIXI.loaders.Loader} + * @name AssetLoader + * @memberof PIXI + * @see PIXI.loaders.Loader * @throws {ReferenceError} The loader system was overhauled in pixi v3, please see the new PIXI.loaders.Loader class. * @deprecated since version 3.0.0 */ @@ -35,7 +37,8 @@ /** * @class * @private - * @name PIXI.Stage + * @name Stage + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -50,7 +53,8 @@ /** * @class * @private - * @name PIXI.DisplayObjectContainer + * @name DisplayObjectContainer + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -65,7 +69,8 @@ /** * @class * @private - * @name PIXI.Strip + * @name Strip + * @memberof PIXI * @see PIXI.mesh.Mesh * @deprecated since version 3.0.0 */ @@ -80,7 +85,8 @@ /** * @class * @private - * @name PIXI.Rope + * @name Rope + * @memberof PIXI * @see PIXI.mesh.Rope * @deprecated since version 3.0.0 */ @@ -95,8 +101,9 @@ /** * @class * @private - * @name PIXI.MovieClip - * @see PIXI.MovieClip + * @name MovieClip + * @memberof PIXI + * @see PIXI.extras.MovieClip * @deprecated since version 3.0.0 */ MovieClip: { @@ -110,8 +117,9 @@ /** * @class * @private - * @name PIXI.TilingSprite - * @see PIXI.TilingSprite + * @name TilingSprite + * @memberof PIXI + * @see PIXI.extras.TilingSprite * @deprecated since version 3.0.0 */ TilingSprite: { @@ -125,7 +133,8 @@ /** * @class * @private - * @name PIXI.BitmapText + * @name BitmapText + * @memberof PIXI * @see PIXI.extras.BitmapText * @deprecated since version 3.0.0 */ @@ -140,7 +149,8 @@ /** * @class * @private - * @name PIXI.blendModes + * @name blendModes + * @memberof PIXI * @see PIXI.BLEND_MODES * @deprecated since version 3.0.0 */ @@ -155,7 +165,8 @@ /** * @class * @private - * @name PIXI.scaleModes + * @name scaleModes + * @memberof PIXI * @see PIXI.SCALE_MODES * @deprecated since version 3.0.0 */ @@ -170,7 +181,8 @@ /** * @class * @private - * @name PIXI.BaseTextureCache + * @name BaseTextureCache + * @memberof PIXI * @see PIXI.utils.BaseTextureCache * @deprecated since version 3.0.0 */ @@ -185,7 +197,8 @@ /** * @class * @private - * @name PIXI.TextureCache + * @name TextureCache + * @memberof PIXI * @see PIXI.utils.TextureCache * @deprecated since version 3.0.0 */ @@ -200,7 +213,8 @@ /** * @namespace * @private - * @name PIXI.math + * @name math + * @memberof PIXI * @see PIXI * @deprecated since version 3.0.6 */ @@ -229,7 +243,7 @@ /** * @method * @name PIXI.extras.BitmapText#setText - * @see PIXI.BitmapText#text + * @see PIXI.extras.BitmapText#text * @deprecated since version 3.0.0 */ extras.BitmapText.prototype.setText = function(text) diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index 858a8cd..5298760 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -8,7 +8,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * @@ -124,7 +124,7 @@ * The tint of the BitmapText object * * @member {number} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ tint: { get: function () @@ -144,7 +144,7 @@ * * @member {string} * @default 'left' - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ align: { get: function () @@ -163,7 +163,7 @@ * The font descriptor of the BitmapText object * * @member {Font} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ font: { get: function () @@ -195,7 +195,7 @@ * The text of the BitmapText object * * @member {string} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ text: { get: function () diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 565efdf..9cc1773 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -11,7 +11,7 @@ baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions - core.utils.BaseTextureCache[resource.url] = resource.texture; + core.utils.BaseTextureCache[resource.url] = baseTexture; core.utils.TextureCache[resource.url] = resource.texture; } diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 39221c8..bede5eb 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -29,7 +29,7 @@ * @param [options.forceFXAA=false] {boolean} forces FXAA antialiasing to be used over native. FXAA is faster, but may not always lok as great * @param [options.resolution=1] {number} the resolution of the renderer retina would be 2 * @param [options.clearBeforeRender=true] {boolean} This sets if the CanvasRenderer will clear the canvas or - * not before the new render pass. + * not before the new render pass. If you wish to set this to false, you *must* set preserveDrawingBuffer to `true`. * @param [options.preserveDrawingBuffer=false] {boolean} enables drawing buffer preservation, enable this if * you need to call toDataUrl on the webgl context. */ @@ -475,6 +475,12 @@ this.view.removeEventListener('webglcontextlost', this.handleContextLost); this.view.removeEventListener('webglcontextrestored', this.handleContextRestored); + for (var key in utils.BaseTextureCache) { + var texture = utils.BaseTextureCache[key]; + texture.off('update', this.updateTexture, this); + texture.off('dispose', this.destroyTexture, this); + } + // call base destroy SystemRenderer.prototype.destroy.call(this, removeView); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 5508aa2..949771a 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -446,11 +446,11 @@ */ SpriteRenderer.prototype.destroy = function () { - ObjectRenderer.prototype.destroy.call(this); - this.renderer.gl.deleteBuffer(this.vertexBuffer); this.renderer.gl.deleteBuffer(this.indexBuffer); + ObjectRenderer.prototype.destroy.call(this); + this.shader.destroy(); this.renderer = null; diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 86a3f52..c5e95a1 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -321,8 +321,7 @@ this.textureBuffer.clear(); } - displayObject.worldTransform = cachedWt; - + // this.textureBuffer. var context = this.textureBuffer.context; @@ -333,6 +332,9 @@ this.renderer.renderDisplayObject(displayObject, context); this.renderer.resolution = realResolution; + + displayObject.worldTransform = cachedWt; + // context.setTransform(1, 0, 0, 1, 0, 0); // context.fillStyle ="#FF0000" // context.fillRect(0, 0, 800, 600); diff --git a/src/deprecation.js b/src/deprecation.js index 85311ec..0586446 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -7,8 +7,9 @@ /** * @class * @private - * @name PIXI.SpriteBatch - * @see {@link PIXI.ParticleContainer} + * @name SpriteBatch + * @memberof PIXI + * @see PIXI.ParticleContainer * @throws {ReferenceError} SpriteBatch does not exist any more, please use the new ParticleContainer instead. * @deprecated since version 3.0.0 */ @@ -20,8 +21,9 @@ /** * @class * @private - * @name PIXI.AssetLoader - * @see {@link PIXI.loaders.Loader} + * @name AssetLoader + * @memberof PIXI + * @see PIXI.loaders.Loader * @throws {ReferenceError} The loader system was overhauled in pixi v3, please see the new PIXI.loaders.Loader class. * @deprecated since version 3.0.0 */ @@ -35,7 +37,8 @@ /** * @class * @private - * @name PIXI.Stage + * @name Stage + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -50,7 +53,8 @@ /** * @class * @private - * @name PIXI.DisplayObjectContainer + * @name DisplayObjectContainer + * @memberof PIXI * @see PIXI.Container * @deprecated since version 3.0.0 */ @@ -65,7 +69,8 @@ /** * @class * @private - * @name PIXI.Strip + * @name Strip + * @memberof PIXI * @see PIXI.mesh.Mesh * @deprecated since version 3.0.0 */ @@ -80,7 +85,8 @@ /** * @class * @private - * @name PIXI.Rope + * @name Rope + * @memberof PIXI * @see PIXI.mesh.Rope * @deprecated since version 3.0.0 */ @@ -95,8 +101,9 @@ /** * @class * @private - * @name PIXI.MovieClip - * @see PIXI.MovieClip + * @name MovieClip + * @memberof PIXI + * @see PIXI.extras.MovieClip * @deprecated since version 3.0.0 */ MovieClip: { @@ -110,8 +117,9 @@ /** * @class * @private - * @name PIXI.TilingSprite - * @see PIXI.TilingSprite + * @name TilingSprite + * @memberof PIXI + * @see PIXI.extras.TilingSprite * @deprecated since version 3.0.0 */ TilingSprite: { @@ -125,7 +133,8 @@ /** * @class * @private - * @name PIXI.BitmapText + * @name BitmapText + * @memberof PIXI * @see PIXI.extras.BitmapText * @deprecated since version 3.0.0 */ @@ -140,7 +149,8 @@ /** * @class * @private - * @name PIXI.blendModes + * @name blendModes + * @memberof PIXI * @see PIXI.BLEND_MODES * @deprecated since version 3.0.0 */ @@ -155,7 +165,8 @@ /** * @class * @private - * @name PIXI.scaleModes + * @name scaleModes + * @memberof PIXI * @see PIXI.SCALE_MODES * @deprecated since version 3.0.0 */ @@ -170,7 +181,8 @@ /** * @class * @private - * @name PIXI.BaseTextureCache + * @name BaseTextureCache + * @memberof PIXI * @see PIXI.utils.BaseTextureCache * @deprecated since version 3.0.0 */ @@ -185,7 +197,8 @@ /** * @class * @private - * @name PIXI.TextureCache + * @name TextureCache + * @memberof PIXI * @see PIXI.utils.TextureCache * @deprecated since version 3.0.0 */ @@ -200,7 +213,8 @@ /** * @namespace * @private - * @name PIXI.math + * @name math + * @memberof PIXI * @see PIXI * @deprecated since version 3.0.6 */ @@ -229,7 +243,7 @@ /** * @method * @name PIXI.extras.BitmapText#setText - * @see PIXI.BitmapText#text + * @see PIXI.extras.BitmapText#text * @deprecated since version 3.0.0 */ extras.BitmapText.prototype.setText = function(text) diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index 858a8cd..5298760 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -8,7 +8,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * @@ -124,7 +124,7 @@ * The tint of the BitmapText object * * @member {number} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ tint: { get: function () @@ -144,7 +144,7 @@ * * @member {string} * @default 'left' - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ align: { get: function () @@ -163,7 +163,7 @@ * The font descriptor of the BitmapText object * * @member {Font} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ font: { get: function () @@ -195,7 +195,7 @@ * The text of the BitmapText object * * @member {string} - * @memberof PIXI.BitmapText# + * @memberof PIXI.extras.BitmapText# */ text: { get: function () diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 565efdf..9cc1773 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -11,7 +11,7 @@ baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions - core.utils.BaseTextureCache[resource.url] = resource.texture; + core.utils.BaseTextureCache[resource.url] = baseTexture; core.utils.TextureCache[resource.url] = resource.texture; } diff --git a/src/mesh/webgl/MeshRenderer.js b/src/mesh/webgl/MeshRenderer.js index cb01daf..1e85087 100644 --- a/src/mesh/webgl/MeshRenderer.js +++ b/src/mesh/webgl/MeshRenderer.js @@ -209,5 +209,5 @@ */ MeshRenderer.prototype.destroy = function () { - ObjectRenderer.prototype.destroy.call(this); + core.ObjectRenderer.prototype.destroy.call(this); };