diff --git a/packages/core/src/batch/AbstractBatchRenderer.js b/packages/core/src/batch/AbstractBatchRenderer.js index 935b5b7..d37b277 100644 --- a/packages/core/src/batch/AbstractBatchRenderer.js +++ b/packages/core/src/batch/AbstractBatchRenderer.js @@ -730,8 +730,10 @@ } let offset = sourceOffsets[s]; + const size = (typeof attribute !== 'string') + ? attribute.size : builtinAttributeSizes[attribute]; - for (let float = 0; float < attribute.size; float++) + for (let float = 0; float < size; float++) { float32View[aIndex++] = source[offset++ % source.length]; } diff --git a/packages/core/src/batch/AbstractBatchRenderer.js b/packages/core/src/batch/AbstractBatchRenderer.js index 935b5b7..d37b277 100644 --- a/packages/core/src/batch/AbstractBatchRenderer.js +++ b/packages/core/src/batch/AbstractBatchRenderer.js @@ -730,8 +730,10 @@ } let offset = sourceOffsets[s]; + const size = (typeof attribute !== 'string') + ? attribute.size : builtinAttributeSizes[attribute]; - for (let float = 0; float < attribute.size; float++) + for (let float = 0; float < size; float++) { float32View[aIndex++] = source[offset++ % source.length]; } diff --git a/packages/core/src/batch/BatchBuffer.js b/packages/core/src/batch/BatchBuffer.js index 128ef7e..5ee8a5f 100644 --- a/packages/core/src/batch/BatchBuffer.js +++ b/packages/core/src/batch/BatchBuffer.js @@ -26,14 +26,14 @@ * * @member {Float32Array} */ - this.float32View = new Float32Array(this.vertices); + this.float32View = new Float32Array(this.rawBinaryData); /** * View on the raw binary data as a `Uint32Array`. * * @member {Uint32Array} */ - this.uint32View = new Uint32Array(this.vertices); + this.uint32View = new Uint32Array(this.rawBinaryData); } /**