@playcanvas/splat-transform
Version:
Library and CLI tool for 3D Gaussian splat format conversion and transformation
20 lines (19 loc) • 1.04 kB
TypeScript
import { SparseVoxelGrid } from './sparse-voxel-grid';
import { GpuDilation } from '../gpu';
/**
* GPU separable 3D dilation. Chunks the grid into block-aligned inner regions plus
* a halo on each side, runs three GPU passes per chunk, and OR's the
* dilated inner region into a fresh destination `SparseVoxelGrid`.
*
* The exact requested half-extents are passed to the dilation shaders. The
* sparse extraction halo is rounded up to the next 4-voxel block boundary so
* chunk extract/compact math remains block-aligned without over-dilating.
*
* @param gpu - Reusable GPU dilation context (compiled shader + buffers).
* @param src - Input sparse grid (read-only across the call).
* @param halfExtentXZ - Dilation half-extent in voxels along X and Z.
* @param halfExtentY - Dilation half-extent in voxels along Y.
* @returns Newly allocated dilated sparse grid.
*/
declare function gpuDilate3(gpu: GpuDilation, src: SparseVoxelGrid, halfExtentXZ: number, halfExtentY: number): Promise<SparseVoxelGrid>;
export { gpuDilate3 };