Răsfoiți Sursa

CTMLoader: Removed createModelClassic.
I don't think it's needed anymore.

Mr.doob 11 ani în urmă
părinte
comite
457df7983f
1 a modificat fișierele cu 13 adăugiri și 249 ștergeri
  1. 13 249
      examples/js/loaders/ctm/CTMLoader.js

+ 13 - 249
examples/js/loaders/ctm/CTMLoader.js

@@ -64,7 +64,7 @@ THREE.CTMLoader.prototype.loadParts = function( url, callback, parameters ) {
 				// load joined CTM file
 
 				var partUrl = basePath + jsonObject.data;
-				var parametersPart = { useWorker: parameters.useWorker, useBuffers: parameters.useBuffers, offsets: jsonObject.offsets };
+				var parametersPart = { useWorker: parameters.useWorker, offsets: jsonObject.offsets };
 				scope.load( partUrl, callbackFinal, parametersPart );
 
 			}
@@ -91,7 +91,6 @@ THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
 	var scope = this;
 
 	var offsets = parameters.offsets !== undefined ? parameters.offsets : [ 0 ];
-	var useBuffers = parameters.useBuffers !== undefined ? parameters.useBuffers : true;
 
 	var xhr = new XMLHttpRequest(),
 		callbackProgress = null;
@@ -123,15 +122,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
 							var e1 = Date.now();
 							// console.log( "CTM data parse time [worker]: " + (e1-s) + " ms" );
 
-							if ( useBuffers ) {
-
-								scope.createModelBuffers( ctmFile, callback );
-
-							} else {
-
-								scope.createModelClassic( ctmFile, callback );
-
-							}
+							scope.createModel( ctmFile, callback );
 
 							var e = Date.now();
 							console.log( "model load time [worker]: " + (e-e1) + " ms, total: " + (e-s));
@@ -152,15 +143,7 @@ THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
 
 						var ctmFile = new CTM.File( stream );
 
-						if ( useBuffers ) {
-
-							scope.createModelBuffers( ctmFile, callback );
-
-						} else {
-
-							scope.createModelClassic( ctmFile, callback );
-
-						}
+						scope.createModel( ctmFile, callback );
 
 					}
 
@@ -205,16 +188,14 @@ THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
 };
 
 
-THREE.CTMLoader.prototype.createModelBuffers = function ( file, callback ) {
+THREE.CTMLoader.prototype.createModel = function ( file, callback ) {
 
 	var Model = function ( ) {
 
-		var scope = this;
-
-		scope.materials = [];
-
 		THREE.BufferGeometry.call( this );
 
+		this.materials = [];
+
 		// init GL buffers
 		var vertexIndexArray = file.body.indices,
 		vertexPositionArray = file.body.vertices,
@@ -230,20 +211,18 @@ THREE.CTMLoader.prototype.createModelBuffers = function ( file, callback ) {
 			vertexColorArray = file.body.attrMaps[ 0 ].attr;
 		}
 
-		// attributes
-		var attributes = scope.attributes;
-
-		attributes[ "index" ]    = { itemSize: 1, array: vertexIndexArray };
-		attributes[ "position" ] = { itemSize: 3, array: vertexPositionArray };
+		this.addAttribute( 'index', vertexIndexArray, 1 );
+		this.addAttribute( 'position', vertexPositionArray, 3 );
 
 		if ( vertexNormalArray !== undefined ) 
-			attributes[ "normal" ] = { itemSize: 3, array: vertexNormalArray };
+			this.addAttribute( 'normal', vertexNormalArray, 3 );
 
 		if ( vertexUvArray !== undefined ) 
-			attributes[ "uv" ] = { itemSize: 2, array: vertexUvArray };
+			this.addAttribute( 'uv', vertexUvArray, 2 );
 
 		if ( vertexColorArray !== undefined ) 
-			attributes[ "color" ]  = { itemSize: 4, array: vertexColorArray };
+			this.addAttribute( 'color', vertexColorArray, 4 );
+
 	}
 
 	Model.prototype = Object.create( THREE.BufferGeometry.prototype );
@@ -259,219 +238,4 @@ THREE.CTMLoader.prototype.createModelBuffers = function ( file, callback ) {
 
 	callback( geometry );
 
-};
-
-THREE.CTMLoader.prototype.createModelClassic = function ( file, callback ) {
-
-	var Model = function ( ) {
-
-		var scope = this;
-
-		scope.materials = [];
-
-		THREE.Geometry.call( this );
-
-		var normals = [],
-			uvs = [],
-			colors = [];
-
-		init_vertices( file.body.vertices );
-
-		if ( file.body.normals !== undefined )
-			init_normals( file.body.normals );
-
-		if ( file.body.uvMaps !== undefined && file.body.uvMaps.length > 0 )
-			init_uvs( file.body.uvMaps[ 0 ].uv );
-
-		if ( file.body.attrMaps !== undefined && file.body.attrMaps.length > 0 && file.body.attrMaps[ 0 ].name === "Color" )
-			init_colors( file.body.attrMaps[ 0 ].attr );
-
-		var hasNormals = normals.length > 0 ? true : false,
-			hasUvs = uvs.length > 0 ? true : false,
-			hasColors = colors.length > 0 ? true : false;
-
-		init_faces( file.body.indices );
-
-		this.computeCentroids();
-		this.computeFaceNormals();
-		//this.computeTangents();
-
-		function init_vertices( buffer ) {
-
-			var x, y, z, i, il = buffer.length;
-
-			for( i = 0; i < il; i += 3 ) {
-
-				x = buffer[ i ];
-				y = buffer[ i + 1 ];
-				z = buffer[ i + 2 ];
-
-				vertex( scope, x, y, z );
-
-			}
-
-		};
-
-		function init_normals( buffer ) {
-
-			var x, y, z, i, il = buffer.length;
-
-			for( i = 0; i < il; i += 3 ) {
-
-				x = buffer[ i ];
-				y = buffer[ i + 1 ];
-				z = buffer[ i + 2 ];
-
-				normals.push( x, y, z );
-
-			}
-
-		};
-
-		function init_colors( buffer ) {
-
-			var r, g, b, a, i, il = buffer.length;
-
-			for( i = 0; i < il; i += 4 ) {
-
-				r = buffer[ i ];
-				g = buffer[ i + 1 ];
-				b = buffer[ i + 2 ];
-				a = buffer[ i + 3 ];
-
-				var color = new THREE.Color();
-				color.setRGB( r, g, b );
-
-				colors.push( color );
-
-			}
-
-		};
-
-
-		function init_uvs( buffer ) {
-
-			var u, v, i, il = buffer.length;
-
-			for( i = 0; i < il; i += 2 ) {
-
-				u = buffer[ i ];
-				v = buffer[ i + 1 ];
-
-				uvs.push( u, v );
-
-			}
-
-		};
-
-		function init_faces( buffer ) {
-
-			var a, b, c,
-				u1, v1, u2, v2, u3, v3,
-				m, face,
-				i, il = buffer.length;
-
-			m = 0; // all faces defaulting to material 0
-
-			for( i = 0; i < il; i += 3 ) {
-
-				a = buffer[ i ];
-				b = buffer[ i + 1 ];
-				c = buffer[ i + 2 ];
-
-				if ( hasNormals ){
-
-					face = f3n( scope, normals, a, b, c, m, a, b, c );
-
-				} else {
-
-					face = f3( scope, a, b, c, m );
-
-				}
-
-				if ( hasColors ) {
-
-					face.vertexColors[ 0 ] = colors[ a ];
-					face.vertexColors[ 1 ] = colors[ b ];
-					face.vertexColors[ 2 ] = colors[ c ];
-
-				}
-
-				if ( hasUvs ) {
-
-					u1 = uvs[ a * 2 ];
-					v1 = uvs[ a * 2 + 1 ];
-
-					u2 = uvs[ b * 2 ];
-					v2 = uvs[ b * 2 + 1 ];
-
-					u3 = uvs[ c * 2 ];
-					v3 = uvs[ c * 2 + 1 ];
-
-					uv3( scope.faceVertexUvs[ 0 ], u1, v1, u2, v2, u3, v3 );
-
-				}
-
-			}
-
-		}
-
-	};
-
-	function vertex ( scope, x, y, z ) {
-
-		scope.vertices.push( new THREE.Vector3( x, y, z ) );
-
-	};
-
-	function f3 ( scope, a, b, c, mi ) {
-
-		var face = new THREE.Face3( a, b, c, null, null, mi );
-
-		scope.faces.push( face );
-
-		return face;
-
-	};
-
-	function f3n ( scope, normals, a, b, c, mi, nai, nbi, nci ) {
-
-		var nax = normals[ nai * 3     ],
-			nay = normals[ nai * 3 + 1 ],
-			naz = normals[ nai * 3 + 2 ],
-
-			nbx = normals[ nbi * 3     ],
-			nby = normals[ nbi * 3 + 1 ],
-			nbz = normals[ nbi * 3 + 2 ],
-
-			ncx = normals[ nci * 3     ],
-			ncy = normals[ nci * 3 + 1 ],
-			ncz = normals[ nci * 3 + 2 ];
-
-		var na = new THREE.Vector3( nax, nay, naz ),
-			nb = new THREE.Vector3( nbx, nby, nbz ),
-			nc = new THREE.Vector3( ncx, ncy, ncz );
-
-		var face = new THREE.Face3( a, b, c, [ na, nb, nc ], null, mi );
-
-		scope.faces.push( face );
-
-		return face;
-
-	};
-
-	function uv3 ( where, u1, v1, u2, v2, u3, v3 ) {
-
-		var uv = [];
-		uv.push( new THREE.Vector2( u1, v1 ) );
-		uv.push( new THREE.Vector2( u2, v2 ) );
-		uv.push( new THREE.Vector2( u3, v3 ) );
-		where.push( uv );
-
-	};
-
-	Model.prototype = Object.create( THREE.Geometry.prototype );
-
-	callback( new Model() );
-
-};
+};