Java libraries for Gaussian splats.
jsplat- The core library, with interfaces for splats and readers and writers- Reader/writer libraries:
jsplat-io-gsplat- gsplat formatjsplat-io-ply- PLY filesjsplat-io-spz- SPZ formatjsplat-io-gltf- glTF withKHR_gaussian_splattingjsplat-io-gltf-spz- glTF withKHR_spz_gaussian_splatting_compression_spz_2jsplat-io-sog- SOG Format, with a basic reader and an experimental (and slow) writer.
A basic viewer implementation can be found in jsplat-viewer,
with the actual implementation based on LWJGL in jsplat-viewer-lwjgl.
A basic application that brings together all JSplat libraries can be found
in jsplat-app.
The viewer and application are experimental. In order to view existing splat files, I recommend babylon.js: It supports most of the formats that are commonly used, and can conveniently display them via drag-and-drop.
An example
// Create an input stream for the PLY data
InputStream is = new FileInputStream("./data/unitCube-ascii.ply");
// Create a PLY reader, and read the splats
SplatListReader r = new PlySplatReader();
List<MutableSplat> splats = r.readList(is);
// Create an output stream for the SPZ data
OutputStream os = new FileOutputStream("./data/unitCube-output.spz");
// Create an SPZ writer, and write the splats
SplatListWriter w = new SpzSplatWriter();
w.writeList(splats, os);Further examples can be found in the examples project.
