@playcanvas/splat-transform
Version:
Library and CLI tool for 3D Gaussian splat format conversion and transformation
38 lines (37 loc) • 1.3 kB
TypeScript
import { DataTable } from './data-table';
type CoordinateSystem = {
RDF: number;
};
type GaussianCloud = {
numPoints: number;
shDegree: number;
antialiased: boolean;
extensions: unknown[];
positions: Float32Array;
scales: Float32Array;
rotations: Float32Array;
alphas: Float32Array;
colors: Float32Array;
sh: Float32Array;
};
type PackOptions = {
version: number;
from: number;
sh1Bits?: number;
shRestBits?: number;
};
type UnpackOptions = {
to: number;
};
type SpzModule = {
CoordinateSystem: CoordinateSystem;
LATEST_SPZ_HEADER_VERSION: number;
loadSpzFromBuffer(data: Uint8Array | ArrayBuffer, options?: UnpackOptions): GaussianCloud | Promise<GaussianCloud>;
saveSpzToBuffer(cloud: GaussianCloud, options?: PackOptions): Uint8Array;
};
declare const SPZ_SH_COMPONENTS: readonly [0, 9, 24, 45, 72];
declare const getSpzModule: () => Promise<SpzModule>;
declare const gaussianCloudToDataTable: (cloud: GaussianCloud) => DataTable;
declare const dataTableToGaussianCloud: (dataTable: DataTable) => GaussianCloud;
declare const makeSpzPackOptions: (overrides?: Partial<PackOptions>) => Promise<PackOptions>;
export { SPZ_SH_COMPONENTS, dataTableToGaussianCloud, gaussianCloudToDataTable, getSpzModule, makeSpzPackOptions };