Browse Source

Merge pull request #6951 from dubejf/glrenderer-dispose

Add dispose() to WebGLRenderer
Mr.doob 10 years ago
parent
commit
e88b283e24
1 changed files with 19 additions and 11 deletions
  1. 19 11
      src/renderers/WebGLRenderer.js

+ 19 - 11
src/renderers/WebGLRenderer.js

@@ -183,17 +183,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 		}
 
-		_canvas.addEventListener( 'webglcontextlost', function ( event ) {
-
-			event.preventDefault();
-
-			resetGLState();
-			setDefaultGLState();
-
-			objects.clear();
-			properties.clear();
-
-		}, false );
+		_canvas.addEventListener( 'webglcontextlost', onContextLost, false );
 
 	} catch ( error ) {
 
@@ -617,8 +607,26 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 	this.resetGLState = resetGLState;
 
+	this.dispose = function() {
+
+		_canvas.removeEventListener( 'webglcontextlost', onContextLost, false );
+
+	};
+
 	// Events
 
+	function onContextLost( event ) {
+
+		event.preventDefault();
+
+		resetGLState();
+		setDefaultGLState();
+
+		objects.clear();
+		properties.clear();
+
+	};
+
 	function onTextureDispose( event ) {
 
 		var texture = event.target;