From 5fbec8510d0384cfbdf0effa6faf468f246da41e Mon Sep 17 00:00:00 2001 From: Mugen87 Date: Fri, 13 Dec 2019 16:41:17 +0100 Subject: [PATCH] FullScreenQuad: Introduce dispose(). --- examples/js/postprocessing/EffectComposer.js | 6 ++++++ examples/js/postprocessing/SSAOPass.js | 4 ++++ examples/jsm/postprocessing/Pass.d.ts | 1 + examples/jsm/postprocessing/Pass.js | 6 ++++++ examples/jsm/postprocessing/SSAOPass.js | 4 ++++ 5 files changed, 21 insertions(+) diff --git a/examples/js/postprocessing/EffectComposer.js b/examples/js/postprocessing/EffectComposer.js index 9bde2dc68f..7bd74d9868 100644 --- a/examples/js/postprocessing/EffectComposer.js +++ b/examples/js/postprocessing/EffectComposer.js @@ -279,6 +279,12 @@ THREE.Pass.FullScreenQuad = ( function () { Object.assign( FullScreenQuad.prototype, { + dispose: function () { + + this._mesh.geometry.dispose(); + + }, + render: function ( renderer ) { renderer.render( this._mesh, camera ); diff --git a/examples/js/postprocessing/SSAOPass.js b/examples/js/postprocessing/SSAOPass.js index 77c5ee22e4..ad83dc3253 100644 --- a/examples/js/postprocessing/SSAOPass.js +++ b/examples/js/postprocessing/SSAOPass.js @@ -160,6 +160,10 @@ THREE.SSAOPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), this.copyMaterial.dispose(); this.depthRenderMaterial.dispose(); + // dipsose full screen quad + + this.fsQuad.dispose(); + }, render: function ( renderer, writeBuffer /*, readBuffer, deltaTime, maskActive */ ) { diff --git a/examples/jsm/postprocessing/Pass.d.ts b/examples/jsm/postprocessing/Pass.d.ts index ea765f5428..a0247cddb3 100644 --- a/examples/jsm/postprocessing/Pass.d.ts +++ b/examples/jsm/postprocessing/Pass.d.ts @@ -23,6 +23,7 @@ export namespace Pass { constructor( material?: Material ); render( renderer: WebGLRenderer ): void; + dispose(): void; material: Material; diff --git a/examples/jsm/postprocessing/Pass.js b/examples/jsm/postprocessing/Pass.js index 047c42c745..033ade3243 100644 --- a/examples/jsm/postprocessing/Pass.js +++ b/examples/jsm/postprocessing/Pass.js @@ -63,6 +63,12 @@ Pass.FullScreenQuad = ( function () { Object.assign( FullScreenQuad.prototype, { + dispose: function () { + + this._mesh.geometry.dispose(); + + }, + render: function ( renderer ) { renderer.render( this._mesh, camera ); diff --git a/examples/jsm/postprocessing/SSAOPass.js b/examples/jsm/postprocessing/SSAOPass.js index 10dd4bfcc6..d012591dfa 100644 --- a/examples/jsm/postprocessing/SSAOPass.js +++ b/examples/jsm/postprocessing/SSAOPass.js @@ -190,6 +190,10 @@ SSAOPass.prototype = Object.assign( Object.create( Pass.prototype ), { this.copyMaterial.dispose(); this.depthRenderMaterial.dispose(); + // dipsose full screen quad + + this.fsQuad.dispose(); + }, render: function ( renderer, writeBuffer /*, readBuffer, deltaTime, maskActive */ ) { -- GitLab