UNPKG

@sparkjsdev/spark

Version:

An advanced 3D Gaussian Splatting renderer for THREE.js

32 lines (31 loc) 1.38 kB
export type PlyPropertyType = "char" | "uchar" | "short" | "ushort" | "int" | "uint" | "float" | "double"; export type PlyElement = { name: string; count: number; properties: Record<string, PlyProperty>; }; export type PlyProperty = { isList: boolean; type: PlyPropertyType; countType?: PlyPropertyType; }; export type SplatCallback = (index: number, x: number, y: number, z: number, scaleX: number, scaleY: number, scaleZ: number, quatX: number, quatY: number, quatZ: number, quatW: number, opacity: number, r: number, g: number, b: number) => void; export type SplatShCallback = (index: number, sh1: Float32Array, sh2?: Float32Array, sh3?: Float32Array) => void; export declare class PlyReader { fileBytes: Uint8Array; header: string; littleEndian: boolean; elements: Record<string, PlyElement>; comments: string[]; data: DataView | null; static defaultPointScale: number; numSplats: number; constructor({ fileBytes }: { fileBytes: Uint8Array | ArrayBuffer; }); parseHeader(): Promise<void>; parseData(elementCallback: (element: PlyElement) => null | ((index: number, item: Record<string, number | number[]>) => void)): void; parseSplats(splatCallback: SplatCallback, shCallback?: SplatShCallback): void; injectRgba(rgba: Uint8Array): void; } export declare const SH_C0 = 0.28209479177387814;