Explorar o código

GLTFLoader: Replaced _ with library approach.

Mr.doob %!s(int64=9) %!d(string=hai) anos
pai
achega
f204e2bf0b
Modificáronse 1 ficheiros con 23 adicións e 14 borrados
  1. 23 14
      examples/js/loaders/GLTFLoader.js

+ 23 - 14
examples/js/loaders/GLTFLoader.js

@@ -51,6 +51,15 @@ THREE.GLTFLoader.prototype = {
 
 
 		console.time( 'GLTFLoader' );
 		console.time( 'GLTFLoader' );
 
 
+		var library = {
+			buffers: {},
+			bufferViews: {},
+			accessors: {},
+			meshes: {},
+			nodes: {},
+			scenes: {}
+		};
+
 		// buffers
 		// buffers
 
 
 		var buffers = json.buffers;
 		var buffers = json.buffers;
@@ -65,7 +74,7 @@ THREE.GLTFLoader.prototype = {
 
 
 				if ( buffer.uri.indexOf( header ) === 0 ) {
 				if ( buffer.uri.indexOf( header ) === 0 ) {
 
 
-					buffer._arraybuffer = stringToArrayBuffer( buffer.uri.substr( header.length ) );
+					library.buffers[ bufferId ] = stringToArrayBuffer( buffer.uri.substr( header.length ) );
 
 
 				}
 				}
 
 
@@ -80,9 +89,9 @@ THREE.GLTFLoader.prototype = {
 		for ( var bufferViewId in bufferViews ) {
 		for ( var bufferViewId in bufferViews ) {
 
 
 			var bufferView = bufferViews[ bufferViewId ];
 			var bufferView = bufferViews[ bufferViewId ];
-			var arraybuffer = buffers[ bufferView.buffer ]._arraybuffer;
+			var arraybuffer = library.buffers[ bufferView.buffer ];
 
 
-			bufferView._arraybuffer = arraybuffer.slice( bufferView.byteOffset, bufferView.byteOffset + bufferView.byteLength );
+			library.bufferViews[ bufferViewId ] = arraybuffer.slice( bufferView.byteOffset, bufferView.byteOffset + bufferView.byteLength );
 
 
 		}
 		}
 
 
@@ -107,13 +116,13 @@ THREE.GLTFLoader.prototype = {
 
 
 			var accessor = accessors[ accessorId ];
 			var accessor = accessors[ accessorId ];
 
 
-			var arraybuffer = bufferViews[ accessor.bufferView ]._arraybuffer;
+			var arraybuffer = library.bufferViews[ accessor.bufferView ];
 			var itemSize = TYPE_SIZES[ accessor.type ];
 			var itemSize = TYPE_SIZES[ accessor.type ];
 			var TypedArray = COMPONENT_TYPES[ accessor.componentType ];
 			var TypedArray = COMPONENT_TYPES[ accessor.componentType ];
 
 
 			var array = new TypedArray( arraybuffer, accessor.byteOffset, accessor.count * itemSize );
 			var array = new TypedArray( arraybuffer, accessor.byteOffset, accessor.count * itemSize );
 
 
-			accessor._bufferattribute = new THREE.BufferAttribute( array, itemSize );
+			library.accessors[ accessorId ] = new THREE.BufferAttribute( array, itemSize );
 
 
 		}
 		}
 
 
@@ -141,14 +150,14 @@ THREE.GLTFLoader.prototype = {
 
 
 				if ( primitive.indices ) {
 				if ( primitive.indices ) {
 
 
-					geometry.setIndex( accessors[ primitive.indices ]._bufferattribute );
+					geometry.setIndex( library.accessors[ primitive.indices ] );
 
 
 				}
 				}
 
 
 				for ( var attributeId in attributes ) {
 				for ( var attributeId in attributes ) {
 
 
 					var attribute = attributes[ attributeId ];
 					var attribute = attributes[ attributeId ];
-					var bufferAttribute = accessors[ attribute ]._bufferattribute;
+					var bufferAttribute = library.accessors[ attribute ];
 
 
 					switch ( attributeId ) {
 					switch ( attributeId ) {
 
 
@@ -172,7 +181,7 @@ THREE.GLTFLoader.prototype = {
 
 
 			}
 			}
 
 
-			mesh._geometries = geometries;
+			library.meshes[ meshId ] = geometries;
 
 
 		}
 		}
 
 
@@ -219,7 +228,7 @@ THREE.GLTFLoader.prototype = {
 
 
 					var meshId = node.meshes[ i ];
 					var meshId = node.meshes[ i ];
 
 
-					var geometries = meshes[ meshId ]._geometries;
+					var geometries = library.meshes[ meshId ];
 
 
 					var group = new THREE.Group();
 					var group = new THREE.Group();
 					group.name = geometries.name;
 					group.name = geometries.name;
@@ -237,7 +246,7 @@ THREE.GLTFLoader.prototype = {
 
 
 			}
 			}
 
 
-			node._object = object;
+			library.nodes[ nodeId ] = object;
 
 
 		}
 		}
 
 
@@ -249,7 +258,7 @@ THREE.GLTFLoader.prototype = {
 
 
 				var child = node.children[ i ];
 				var child = node.children[ i ];
 
 
-				node._object.add( nodes[ child ]._object );
+				library.nodes[ nodeId ].add( library.nodes[ child ] );
 
 
 			}
 			}
 
 
@@ -267,11 +276,11 @@ THREE.GLTFLoader.prototype = {
 			for ( var i = 0; i < scene.nodes.length; i ++ ) {
 			for ( var i = 0; i < scene.nodes.length; i ++ ) {
 
 
 				var node = scene.nodes[ i ];
 				var node = scene.nodes[ i ];
-				container.add( nodes[ node ]._object );
+				container.add( library.nodes[ node ] );
 
 
 			}
 			}
 
 
-			scene._container = container;
+			library.scenes[ sceneId ] = container;
 
 
 		}
 		}
 
 
@@ -279,7 +288,7 @@ THREE.GLTFLoader.prototype = {
 
 
 		return {
 		return {
 
 
-			scene: json.scenes[ json.scene ]._container
+			scene: library.scenes[ json.scene ]
 
 
 		};
 		};