@@ -143,8 +143,7 @@ Object.assign(pc, function () {
143
143
var size = getNumComponents ( accessor . type ) * getComponentSizeInBytes ( accessor . componentType ) ;
144
144
var buffer = buffers [ bufferView . buffer ] ;
145
145
sourceDesc [ semantic ] = {
146
- array : new Uint32Array ( buffer . buffer ) ,
147
- buffer : bufferView . buffer ,
146
+ buffer : buffer . buffer ,
148
147
size : size ,
149
148
offset : ( accessor . hasOwnProperty ( 'byteOffset' ) ? accessor . byteOffset : 0 ) +
150
149
( bufferView . hasOwnProperty ( 'byteOffset' ) ? bufferView . byteOffset : 0 ) +
@@ -178,8 +177,7 @@ Object.assign(pc, function () {
178
177
} ) ;
179
178
180
179
sourceDesc [ pc . SEMANTIC_NORMAL ] = {
181
- array : new Uint32Array ( normals . buffer ) ,
182
- buffer : null ,
180
+ buffer : normals . buffer ,
183
181
size : 12 ,
184
182
offset : 0 ,
185
183
stride : 12 ,
@@ -220,25 +218,26 @@ Object.assign(pc, function () {
220
218
221
219
var vertexData = vertexBuffer . lock ( ) ;
222
220
var targetArray = new Uint32Array ( vertexData ) ;
223
- var sourceArray , targetStride , sourceStride ;
221
+ var sourceArray ;
224
222
225
223
if ( isCorrectlyInterleaved ) {
226
224
// copy data
227
- sourceArray = new Uint32Array ( positionDesc . array . buffer ,
225
+ sourceArray = new Uint32Array ( positionDesc . buffer ,
228
226
positionDesc . offset ,
229
227
numVertices * vertexBuffer . format . size / 4 ) ;
230
228
targetArray . set ( sourceArray ) ;
231
229
} else {
230
+ var targetStride , sourceStride ;
232
231
// copy data and interleave
233
232
for ( i = 0 ; i < vertexBuffer . format . elements . length ; ++ i ) {
234
233
target = vertexBuffer . format . elements [ i ] ;
235
234
targetStride = target . stride / 4 ;
236
235
237
236
source = sourceDesc [ target . name ] ;
238
- sourceArray = source . array ;
237
+ sourceArray = new Uint32Array ( source . buffer , source . offset , source . count * source . stride / 4 ) ;
239
238
sourceStride = source . stride / 4 ;
240
239
241
- var src = source . offset / 4 ;
240
+ var src = 0 ;
242
241
var dst = target . offset / 4 ;
243
242
for ( j = 0 ; j < numVertices ; ++ j ) {
244
243
for ( k = 0 ; k < source . size / 4 ; ++ k ) {
0 commit comments