提交 f204e2bf 编写于 作者: M Mr.doob

GLTFLoader: Replaced _ with library approach.

上级 74e95712
......@@ -51,6 +51,15 @@ THREE.GLTFLoader.prototype = {
console.time( 'GLTFLoader' );
var library = {
buffers: {},
bufferViews: {},
accessors: {},
meshes: {},
nodes: {},
scenes: {}
};
// buffers
var buffers = json.buffers;
......@@ -65,7 +74,7 @@ THREE.GLTFLoader.prototype = {
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 ) {
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 arraybuffer = bufferViews[ accessor.bufferView ]._arraybuffer;
var arraybuffer = library.bufferViews[ accessor.bufferView ];
var itemSize = TYPE_SIZES[ accessor.type ];
var TypedArray = COMPONENT_TYPES[ accessor.componentType ];
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 ) {
geometry.setIndex( accessors[ primitive.indices ]._bufferattribute );
geometry.setIndex( library.accessors[ primitive.indices ] );
}
for ( var attributeId in attributes ) {
var attribute = attributes[ attributeId ];
var bufferAttribute = accessors[ attribute ]._bufferattribute;
var bufferAttribute = library.accessors[ attribute ];
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 geometries = meshes[ meshId ]._geometries;
var geometries = library.meshes[ meshId ];
var group = new THREE.Group();
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 ];
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 ++ ) {
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 {
scene: json.scenes[ json.scene ]._container
scene: library.scenes[ json.scene ]
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册