@@ -51,6 +51,15 @@ THREE.GLTFLoader.prototype = {
51
51
52
52
console . time ( 'GLTFLoader' ) ;
53
53
54
+ var library = {
55
+ buffers : { } ,
56
+ bufferViews : { } ,
57
+ accessors : { } ,
58
+ meshes : { } ,
59
+ nodes : { } ,
60
+ scenes : { }
61
+ } ;
62
+
54
63
// buffers
55
64
56
65
var buffers = json . buffers ;
@@ -65,7 +74,7 @@ THREE.GLTFLoader.prototype = {
65
74
66
75
if ( buffer . uri . indexOf ( header ) === 0 ) {
67
76
68
- buffer . _arraybuffer = stringToArrayBuffer ( buffer . uri . substr ( header . length ) ) ;
77
+ library . buffers [ bufferId ] = stringToArrayBuffer ( buffer . uri . substr ( header . length ) ) ;
69
78
70
79
}
71
80
@@ -80,9 +89,9 @@ THREE.GLTFLoader.prototype = {
80
89
for ( var bufferViewId in bufferViews ) {
81
90
82
91
var bufferView = bufferViews [ bufferViewId ] ;
83
- var arraybuffer = buffers [ bufferView . buffer ] . _arraybuffer ;
92
+ var arraybuffer = library . buffers [ bufferView . buffer ] ;
84
93
85
- bufferView . _arraybuffer = arraybuffer . slice ( bufferView . byteOffset , bufferView . byteOffset + bufferView . byteLength ) ;
94
+ library . bufferViews [ bufferViewId ] = arraybuffer . slice ( bufferView . byteOffset , bufferView . byteOffset + bufferView . byteLength ) ;
86
95
87
96
}
88
97
@@ -107,13 +116,13 @@ THREE.GLTFLoader.prototype = {
107
116
108
117
var accessor = accessors [ accessorId ] ;
109
118
110
- var arraybuffer = bufferViews [ accessor . bufferView ] . _arraybuffer ;
119
+ var arraybuffer = library . bufferViews [ accessor . bufferView ] ;
111
120
var itemSize = TYPE_SIZES [ accessor . type ] ;
112
121
var TypedArray = COMPONENT_TYPES [ accessor . componentType ] ;
113
122
114
123
var array = new TypedArray ( arraybuffer , accessor . byteOffset , accessor . count * itemSize ) ;
115
124
116
- accessor . _bufferattribute = new THREE . BufferAttribute ( array , itemSize ) ;
125
+ library . accessors [ accessorId ] = new THREE . BufferAttribute ( array , itemSize ) ;
117
126
118
127
}
119
128
@@ -141,14 +150,14 @@ THREE.GLTFLoader.prototype = {
141
150
142
151
if ( primitive . indices ) {
143
152
144
- geometry . setIndex ( accessors [ primitive . indices ] . _bufferattribute ) ;
153
+ geometry . setIndex ( library . accessors [ primitive . indices ] ) ;
145
154
146
155
}
147
156
148
157
for ( var attributeId in attributes ) {
149
158
150
159
var attribute = attributes [ attributeId ] ;
151
- var bufferAttribute = accessors [ attribute ] . _bufferattribute ;
160
+ var bufferAttribute = library . accessors [ attribute ] ;
152
161
153
162
switch ( attributeId ) {
154
163
@@ -172,7 +181,7 @@ THREE.GLTFLoader.prototype = {
172
181
173
182
}
174
183
175
- mesh . _geometries = geometries ;
184
+ library . meshes [ meshId ] = geometries ;
176
185
177
186
}
178
187
@@ -219,7 +228,7 @@ THREE.GLTFLoader.prototype = {
219
228
220
229
var meshId = node . meshes [ i ] ;
221
230
222
- var geometries = meshes [ meshId ] . _geometries ;
231
+ var geometries = library . meshes [ meshId ] ;
223
232
224
233
var group = new THREE . Group ( ) ;
225
234
group . name = geometries . name ;
@@ -237,7 +246,7 @@ THREE.GLTFLoader.prototype = {
237
246
238
247
}
239
248
240
- node . _object = object ;
249
+ library . nodes [ nodeId ] = object ;
241
250
242
251
}
243
252
@@ -249,7 +258,7 @@ THREE.GLTFLoader.prototype = {
249
258
250
259
var child = node . children [ i ] ;
251
260
252
- node . _object . add ( nodes [ child ] . _object ) ;
261
+ library . nodes [ nodeId ] . add ( library . nodes [ child ] ) ;
253
262
254
263
}
255
264
@@ -267,19 +276,19 @@ THREE.GLTFLoader.prototype = {
267
276
for ( var i = 0 ; i < scene . nodes . length ; i ++ ) {
268
277
269
278
var node = scene . nodes [ i ] ;
270
- container . add ( nodes [ node ] . _object ) ;
279
+ container . add ( library . nodes [ node ] ) ;
271
280
272
281
}
273
282
274
- scene . _container = container ;
283
+ library . scenes [ sceneId ] = container ;
275
284
276
285
}
277
286
278
287
console . timeEnd ( 'GLTFLoader' ) ;
279
288
280
289
return {
281
290
282
- scene : json . scenes [ json . scene ] . _container
291
+ scene : library . scenes [ json . scene ]
283
292
284
293
} ;
285
294
0 commit comments