|
@@ -1,6 +1,7 @@
|
|
|
import { Nullable, DataArray, FloatArray } from "../types";
|
|
|
import { ThinEngine } from "../Engines/thinEngine";
|
|
|
import { DataBuffer } from "./dataBuffer";
|
|
|
+import { SliceTools } from "../Misc/sliceTools";
|
|
|
|
|
|
/**
|
|
|
* Class used to store data that will be store in GPU memory
|
|
@@ -211,15 +212,6 @@ export class VertexBuffer {
|
|
|
private _instanced: boolean;
|
|
|
private _instanceDivisor: number;
|
|
|
|
|
|
- // Copied from Tools. We don't import Tools to avoid raising the size of the package too much
|
|
|
- private static _Slice<T>(data: T, start?: number, end?: number): T {
|
|
|
- if ((data as any).slice) {
|
|
|
- return (data as any).slice(start, end);
|
|
|
- }
|
|
|
-
|
|
|
- return Array.prototype.slice.call(data, start, end);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* The byte type.
|
|
|
*/
|
|
@@ -424,7 +416,7 @@ export class VertexBuffer {
|
|
|
if (!(data instanceof Array || data instanceof Float32Array) || vertexBuffer.byteOffset !== 0 || data.length !== count) {
|
|
|
if (data instanceof Array) {
|
|
|
const offset = vertexBuffer.byteOffset / 4;
|
|
|
- return VertexBuffer._Slice(data, offset, offset + count);
|
|
|
+ return SliceTools.Slice(data, offset, offset + count);
|
|
|
} else if (data instanceof ArrayBuffer) {
|
|
|
return new Float32Array(data, vertexBuffer.byteOffset, count);
|
|
|
} else {
|
|
@@ -450,7 +442,7 @@ export class VertexBuffer {
|
|
|
}
|
|
|
|
|
|
if (forceCopy) {
|
|
|
- return VertexBuffer._Slice(data);
|
|
|
+ return SliceTools.Slice(data);
|
|
|
}
|
|
|
|
|
|
return data;
|