소스 검색

Revert "Take out double sided materail caching since it doesn't buy anything"

This reverts commit da1d2a668f8cd614519e04baa681786f68b9b2a6.
Jeff Terrace 13 년 전
부모
커밋
e76374745b
1개의 변경된 파일11개의 추가작업 그리고 2개의 파일을 삭제
  1. 11 2
      examples/js/loaders/ColladaLoader.js

+ 11 - 2
examples/js/loaders/ColladaLoader.js

@@ -711,6 +711,8 @@ THREE.ColladaLoader = function () {
 		// FIXME: multi-material mesh?
 		// FIXME: multi-material mesh?
 		// geometries
 		// geometries
 
 
+		var double_sided_materials = {};
+
 		for ( i = 0; i < node.geometries.length; i ++ ) {
 		for ( i = 0; i < node.geometries.length; i ++ ) {
 
 
 			var instance_geometry = node.geometries[i];
 			var instance_geometry = node.geometries[i];
@@ -746,8 +748,15 @@ THREE.ColladaLoader = function () {
 
 
 						if ( geometry.doubleSided ) {
 						if ( geometry.doubleSided ) {
 
 
-							material3js = material3js.clone();
-							material3js.side = THREE.DoubleSide;
+							if ( !( material3js in double_sided_materials ) ) {
+
+								var _copied_material = material3js.clone();
+								_copied_material.side = THREE.DoubleSide;
+								double_sided_materials[ material3js ] = _copied_material;
+
+							}
+
+							material3js = double_sided_materials[ material3js ];
 
 
 						}
 						}