Browse Source

More garbage collection friendly callbacks in DeferredHelper.

alteredq 12 years ago
parent
commit
98ac06806a
1 changed files with 21 additions and 18 deletions
  1. 21 18
      examples/js/DeferredHelper.js

+ 21 - 18
examples/js/DeferredHelper.js

@@ -274,42 +274,45 @@ THREE.DeferredHelper = function ( parameters ) {
 
 	};
 
+	var setMaterialColor = function ( object ) {
+
+		if ( object.material ) object.material = object.properties.colorMaterial;
+
+	};
+
+	var setMaterialDepth = function ( object ) {
+
+		if ( object.material ) object.material = object.properties.depthMaterial;
+
+	};
+
+	var setMaterialNormal= function ( object ) {
+
+		if ( object.material ) object.material = object.properties.normalMaterial;
+
+	};
+
 	this.render = function () {
 
 		// -----------------------------
 		// g-buffer color
 		// -----------------------------
 
-		scene.traverse( function( node ) {
-
-			if ( node.material ) node.material = node.properties.colorMaterial;
-
-		} );
-
+		scene.traverse( setMaterialColor );
 		compColor.render();
 
 		// -----------------------------
 		// g-buffer depth
 		// -----------------------------
 
-		scene.traverse( function( node ) {
-
-			if ( node.material ) node.material = node.properties.depthMaterial;
-
-		} );
-
+		scene.traverse( setMaterialDepth );
 		compDepth.render();
 
 		// -----------------------------
 		// g-buffer normals
 		// -----------------------------
 
-		scene.traverse( function( node ) {
-
-			if ( node.material ) node.material = node.properties.normalMaterial;
-
-		} );
-
+		scene.traverse( setMaterialNormal );
 		compNormal.render();
 
 		// -----------------------------