Bladeren bron

Implemented @kovleouf's deallocateRenderTarget() method in WebGLRenderer. Fixes #1566.

Mr.doob 13 jaren geleden
bovenliggende
commit
fb248f5b0b
1 gewijzigde bestanden met toevoegingen van 24 en 0 verwijderingen
  1. 24 0
      src/renderers/WebGLRenderer.js

+ 24 - 0
src/renderers/WebGLRenderer.js

@@ -333,6 +333,30 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 	};
 
+	this.deallocateRenderTarget = function ( renderTarget ) {
+
+		if ( !renderTarget || ! renderTarget.__webglTexture ) return;
+
+		_gl.deleteTexture( renderTarget.__webglTexture );
+
+		if ( renderTarget instanceof THREE.WebGLRenderTargetCube ) {
+
+			for ( var i = 0; i < 6; i ++ ) {
+
+				_gl.deleteFramebuffer( renderTarget.__webglFramebuffer[ i ] );
+				_gl.deleteRenderbuffer( renderTarget.__webglRenderbuffer[ i ] );
+
+			}
+
+		} else {
+
+			_gl.deleteFramebuffer( renderTarget.__webglFramebuffer );
+			_gl.deleteRenderbuffer( renderTarget.__webglRenderbuffer );
+
+		}
+
+	};
+
 	// Rendering
 
 	this.updateShadowMap = function ( scene, camera ) {