@spearwolf/twopoint5d
Version:
Create 2.5D realtime graphics and pixelart with WebGL and three.js
33 lines • 1.55 kB
TypeScript
import type { TypedArray, VertexAttributeDataType, VertexAttributeUsageType, VertexObjectBuffersData } from './types.js';
import type { VertexObjectDescriptor } from './VertexObjectDescriptor.js';
interface BufferAttribute {
bufferName: string;
attributeName: string;
offset: number;
}
interface Buffer {
bufferName: string;
itemSize: number;
dataType: VertexAttributeDataType;
usageType: VertexAttributeUsageType;
typedArray: TypedArray;
serial: number;
}
export declare class VertexObjectBuffer {
readonly descriptor: VertexObjectDescriptor;
readonly capacity: number;
readonly attributeNames: readonly string[];
readonly buffers: Map<string, Buffer>;
readonly bufferAttributes: Map<string, BufferAttribute>;
readonly bufferNameAttributes: Map<string, BufferAttribute[]>;
constructor(source: VertexObjectDescriptor | VertexObjectBuffer, capacityOrBuffersData: number | VertexObjectBuffersData);
copy(other: VertexObjectBuffer, targetObjectOffset?: number): VertexObjectBuffer;
clone(): VertexObjectBuffer;
copyArray(source: TypedArray, bufferName: string, targetObjectOffset?: number): void;
copyWithin(targetIndex: number, startIndex: number, endIndex?: number): void;
copyAttributes(attributes: Record<string, ArrayLike<number>>, targetObjectOffset?: number): number;
toAttributeArrays(attributeNames: string[], startIndex?: number, endIndex?: number): Record<string, TypedArray>;
touch(): void;
}
export {};
//# sourceMappingURL=VertexObjectBuffer.d.ts.map