2
0
Эх сурвалжийг харах

Geometry.computeVertexNormals: Reuse vertexNormals.

Mr.doob 10 жил өмнө
parent
commit
14c3d61eda

+ 15 - 3
src/core/Geometry.js

@@ -328,9 +328,21 @@ THREE.Geometry.prototype = {
 
 
 			face = this.faces[ f ];
 			face = this.faces[ f ];
 
 
-			face.vertexNormals[ 0 ] = vertices[ face.a ].clone();
-			face.vertexNormals[ 1 ] = vertices[ face.b ].clone();
-			face.vertexNormals[ 2 ] = vertices[ face.c ].clone();
+			var vertexNormals = face.vertexNormals;
+
+			if ( vertexNormals.length === 3 ) {
+
+				vertexNormals[ 0 ].copy( vertices[ face.a ] );
+				vertexNormals[ 1 ].copy( vertices[ face.b ] );
+				vertexNormals[ 2 ].copy( vertices[ face.c ] );
+
+			} else {
+
+				vertexNormals[ 0 ] = vertices[ face.a ].clone();
+				vertexNormals[ 1 ] = vertices[ face.b ].clone();
+				vertexNormals[ 2 ] = vertices[ face.c ].clone();
+
+			}
 
 
 		}
 		}