Procházet zdrojové kódy

Merge remote-tracking branch 'WestLangley/dev-lathe' into dev

Mr.doob před 12 roky
rodič
revize
377946894b
2 změnil soubory, kde provedl 8 přidání a 6 odebrání
  1. 4 3
      build/three.js
  2. 4 3
      src/extras/geometries/LatheGeometry.js

+ 4 - 3
build/three.js

@@ -31733,7 +31733,7 @@ THREE.LatheGeometry = function ( points, segments, phiStart, phiLength ) {
 	phiStart = phiStart || 0;
 	phiLength = phiLength || 2 * Math.PI;
 
-	var inversePointLength = 1.0 / points.length;
+	var inversePointLength = 1.0 / ( points.length - 1 );
 	var inverseSegments = 1.0 / segments;
 
 	for ( var i = 0, il = segments; i <= il; i ++ ) {
@@ -31773,9 +31773,9 @@ THREE.LatheGeometry = function ( points, segments, phiStart, phiLength ) {
 
 			this.faces.push( new THREE.Face4( a, b, c, d ) );
 
-			var u0 = 1 - i * inverseSegments;
+			var u0 = i * inverseSegments;
 			var v0 = j * inversePointLength;
-			var u1 = u0 - inverseSegments;
+			var u1 = u0 + inverseSegments;
 			var v1 = v0 + inversePointLength;
 
 			this.faceVertexUvs[ 0 ].push( [
@@ -31791,6 +31791,7 @@ THREE.LatheGeometry = function ( points, segments, phiStart, phiLength ) {
 
 	}
 
+	this.mergeVertices();
 	this.computeCentroids();
 	this.computeFaceNormals();
 	this.computeVertexNormals();

+ 4 - 3
src/extras/geometries/LatheGeometry.js

@@ -18,7 +18,7 @@ THREE.LatheGeometry = function ( points, segments, phiStart, phiLength ) {
 	phiStart = phiStart || 0;
 	phiLength = phiLength || 2 * Math.PI;
 
-	var inversePointLength = 1.0 / points.length;
+	var inversePointLength = 1.0 / ( points.length - 1 );
 	var inverseSegments = 1.0 / segments;
 
 	for ( var i = 0, il = segments; i <= il; i ++ ) {
@@ -58,9 +58,9 @@ THREE.LatheGeometry = function ( points, segments, phiStart, phiLength ) {
 
 			this.faces.push( new THREE.Face4( a, b, c, d ) );
 
-			var u0 = 1 - i * inverseSegments;
+			var u0 = i * inverseSegments;
 			var v0 = j * inversePointLength;
-			var u1 = u0 - inverseSegments;
+			var u1 = u0 + inverseSegments;
 			var v1 = v0 + inversePointLength;
 
 			this.faceVertexUvs[ 0 ].push( [
@@ -76,6 +76,7 @@ THREE.LatheGeometry = function ( points, segments, phiStart, phiLength ) {
 
 	}
 
+	this.mergeVertices();
 	this.computeCentroids();
 	this.computeFaceNormals();
 	this.computeVertexNormals();