diff --git a/examples/js/postprocessing/EffectComposer.js b/examples/js/postprocessing/EffectComposer.js index 9bde2dc68f7b1828c1b42f66bcf5e5d79fc5378d..7bd74d98688f1ec048713d2c27bbe4b8dd4a8200 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 77c5ee22e443e792171ce6b386a60eb10d993695..ad83dc3253c39270076051685d6f9c14b1a561e9 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 ea765f5428c352b869092240cbb8f84d1792e31d..a0247cddb3bd4a9bb11bea7f6397cc64f3ec7b29 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 047c42c7453e2f4d1857f8bee279e6106c2757f9..033ade32432db7409edb2bc2ce8a77ffb8b2b67b 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 10dd4bfcc6c9c86a9da20dcbb9fee022c95188f0..d012591dfa8c1b4f774eb95507b03acd68b9e4c1 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 */ ) {