Browse Source

Compute flat normals when detail is zero

WestLangley 8 years ago
parent
commit
cd71783f75
1 changed files with 10 additions and 1 deletions
  1. 10 1
      src/geometries/PolyhedronGeometry.js

+ 10 - 1
src/geometries/PolyhedronGeometry.js

@@ -74,7 +74,16 @@ function PolyhedronBufferGeometry( vertices, indices, radius, detail ) {
 	this.addAttribute( 'position', new Float32BufferAttribute( vertexBuffer, 3 ) );
 	this.addAttribute( 'normal', new Float32BufferAttribute( vertexBuffer.slice(), 3 ) );
 	this.addAttribute( 'uv', new Float32BufferAttribute( uvBuffer, 2 ) );
-	this.normalizeNormals();
+
+	if ( detail === 0 ) {
+
+		BufferGeometry.prototype.computeVertexNormals.call( this ); // flat normals
+
+	} else {
+
+		this.normalizeNormals(); // smooth normals
+
+	}
 
 	// helper functions