diff --git a/examples/js/effects/AnaglyphEffect.js b/examples/js/effects/AnaglyphEffect.js index a74bbed7746abe55a68dd0bcc50b4d347a648241..19e23b89762b4f615e88104ff43dfa8051ae98b1 100644 --- a/examples/js/effects/AnaglyphEffect.js +++ b/examples/js/effects/AnaglyphEffect.js @@ -80,6 +80,8 @@ THREE.AnaglyphEffect = function ( renderer, width, height ) { this.setSize = function ( width, height ) { + if ( _renderTargetL ) _renderTargetL.dispose(); + if ( _renderTargetR ) _renderTargetR.dispose(); _renderTargetL = new THREE.WebGLRenderTarget( width, height, _params ); _renderTargetR = new THREE.WebGLRenderTarget( width, height, _params ); @@ -165,4 +167,9 @@ THREE.AnaglyphEffect = function ( renderer, width, height ) { }; + this.dispose = function() { + if ( _renderTargetL ) _renderTargetL.dispose(); + if ( _renderTargetR ) _renderTargetR.dispose(); + } + }; diff --git a/examples/js/effects/OculusRiftEffect.js b/examples/js/effects/OculusRiftEffect.js index 7239b4768bb27bc5c7f6d0d5a45fbcb720eb71da..d496334641f9d2c6bff184f3a38f1478712099fe 100644 --- a/examples/js/effects/OculusRiftEffect.js +++ b/examples/js/effects/OculusRiftEffect.js @@ -136,6 +136,7 @@ THREE.OculusRiftEffect = function ( renderer, options ) { RTMaterial.uniforms['scale'].value = new THREE.Vector2(1.0/distScale, 1.0*aspect/distScale); // Create render target + if ( renderTarget ) renderTarget.dispose(); renderTarget = new THREE.WebGLRenderTarget( HMD.hResolution*distScale/2, HMD.vResolution*distScale, RTParams ); RTMaterial.uniforms[ "texid" ].value = renderTarget; @@ -194,4 +195,13 @@ THREE.OculusRiftEffect = function ( renderer, options ) { }; + this.dispose = function() { + if ( RTMaterial ) { + RTMaterial.dispose(); + } + if ( renderTarget ) { + renderTarget.dispose(); + } + }; + };