Sfoglia il codice sorgente

Merge pull request #8268 from Mugen87/dev

Minor additions to new BufferGeometry
Mr.doob 9 anni fa
parent
commit
5c543d18b1

+ 1 - 1
src/extras/geometries/BoxBufferGeometry.js

@@ -29,7 +29,7 @@ THREE.BoxBufferGeometry = function ( width, height, depth, widthSegments, height
 	var indexCount = ( vertexCount / 4 ) * 6;
 	var indexCount = ( vertexCount / 4 ) * 6;
 
 
 	// buffers
 	// buffers
-	var indices = new ( vertexCount > 65535 ? Uint32Array : Uint16Array )( indexCount );
+	var indices = new ( indexCount > 65535 ? Uint32Array : Uint16Array )( indexCount );
 	var vertices = new Float32Array( vertexCount * 3 );
 	var vertices = new Float32Array( vertexCount * 3 );
 	var normals = new Float32Array( vertexCount * 3 );
 	var normals = new Float32Array( vertexCount * 3 );
 	var uvs = new Float32Array( vertexCount * 2 );
 	var uvs = new Float32Array( vertexCount * 2 );

+ 1 - 1
src/extras/geometries/TorusBufferGeometry.js

@@ -27,7 +27,7 @@ THREE.TorusBufferGeometry = function ( radius, tube, radialSegments, tubularSegm
 	var indexCount = radialSegments * tubularSegments * 2 * 3;
 	var indexCount = radialSegments * tubularSegments * 2 * 3;
 
 
 	// buffers
 	// buffers
-	var indices = new ( vertexCount > 65535 ? Uint32Array : Uint16Array )( indexCount );
+	var indices = new ( indexCount > 65535 ? Uint32Array : Uint16Array )( indexCount );
 	var vertices = new Float32Array( vertexCount * 3 );
 	var vertices = new Float32Array( vertexCount * 3 );
 	var normals = new Float32Array( vertexCount * 3 );
 	var normals = new Float32Array( vertexCount * 3 );
 	var uvs = new Float32Array( vertexCount * 2 );
 	var uvs = new Float32Array( vertexCount * 2 );

+ 10 - 30
src/loaders/ObjectLoader.js

@@ -104,9 +104,10 @@ THREE.ObjectLoader.prototype = {
 						break;
 						break;
 
 
 					case 'BoxGeometry':
 					case 'BoxGeometry':
+					case 'BoxBufferGeometry':
 					case 'CubeGeometry': // backwards compatible
 					case 'CubeGeometry': // backwards compatible
 
 
-						geometry = new THREE.BoxGeometry(
+						geometry = new THREE[ data.type ](
 							data.width,
 							data.width,
 							data.height,
 							data.height,
 							data.depth,
 							data.depth,
@@ -117,20 +118,10 @@ THREE.ObjectLoader.prototype = {
 
 
 						break;
 						break;
 
 
-					case 'CircleBufferGeometry':
-
-						geometry = new THREE.CircleBufferGeometry(
-							data.radius,
-							data.segments,
-							data.thetaStart,
-							data.thetaLength
-						);
-
-						break;
-
 					case 'CircleGeometry':
 					case 'CircleGeometry':
+					case 'CircleBufferGeometry':
 
 
-						geometry = new THREE.CircleGeometry(
+						geometry = new THREE[ data.type ](
 							data.radius,
 							data.radius,
 							data.segments,
 							data.segments,
 							data.thetaStart,
 							data.thetaStart,
@@ -140,8 +131,9 @@ THREE.ObjectLoader.prototype = {
 						break;
 						break;
 
 
 					case 'CylinderGeometry':
 					case 'CylinderGeometry':
+					case 'CylinderBufferGeometry':
 
 
-						geometry = new THREE.CylinderGeometry(
+						geometry = new THREE[ data.type ](
 							data.radiusTop,
 							data.radiusTop,
 							data.radiusBottom,
 							data.radiusBottom,
 							data.height,
 							data.height,
@@ -155,22 +147,9 @@ THREE.ObjectLoader.prototype = {
 						break;
 						break;
 
 
 					case 'SphereGeometry':
 					case 'SphereGeometry':
-
-						geometry = new THREE.SphereGeometry(
-							data.radius,
-							data.widthSegments,
-							data.heightSegments,
-							data.phiStart,
-							data.phiLength,
-							data.thetaStart,
-							data.thetaLength
-						);
-
-						break;
-
 					case 'SphereBufferGeometry':
 					case 'SphereBufferGeometry':
 
 
-						geometry = new THREE.SphereBufferGeometry(
+						geometry = new THREE[ data.type ](
 							data.radius,
 							data.radius,
 							data.widthSegments,
 							data.widthSegments,
 							data.heightSegments,
 							data.heightSegments,
@@ -232,8 +211,9 @@ THREE.ObjectLoader.prototype = {
 						break;
 						break;
 
 
 					case 'TorusGeometry':
 					case 'TorusGeometry':
+					case 'TorusBufferGeometry':
 
 
-						geometry = new THREE.TorusGeometry(
+						geometry = new THREE[ data.type ](
 							data.radius,
 							data.radius,
 							data.tube,
 							data.tube,
 							data.radialSegments,
 							data.radialSegments,
@@ -631,7 +611,7 @@ THREE.ObjectLoader.prototype = {
 
 
 			return object;
 			return object;
 
 
-		}
+		};
 
 
 	}()
 	}()