If you haven’t been following the recent PRs, I’ve just contributed to Three.JS a fully native Gaussian Splatting (GS3D) loading system, and WebGPU-based renderer. The renderer supports view-depending rendering using spherical harmonics, and a GPU-based count sort for scalable and good looking results. Currently supported file formats are Nantic’s SPZ (versions 3 and 4), SPLAT, KSPLAT, PLY and glTF.
I describe it fully here:
The PRs are these and they have all been merged into dev:
this is an awesome contribution, thank you for the work on this! in terms of loading a gaussian splat over the PLY ( possibly gltf also ) file format would it be up to the user to determine if the file was a standard PLY or if it contains GS data? or does the updated PLYLoader handle this internally? obviously these updates are in their early stages but outside of PLY (GLTF) it seems we would use new GaussianSplatMesh for spz, splat and ksplat files, I’m wondering how the logic would change between file types that wouldn’t explicitly use GS data as their primary source of data …
also very excited to see Garret’s contributions to include support for per-mesh boundingBoxes of splats generated with GaussianSplatMesh
@bhouston I found your contributions rather interesting and then bothered adapting them for use with WebGL2, specifically gsplat.js and sparkjsdev/spark libraries.
There are currently 3 splat viewers available on my homepage, with most recent being GSPLAT Viewer and Spark SPLAT Viewer using these modified contributions of yours, so if you feel like testing them then go ahead - I kind of wonder where do you have that Jellyfish.spz model tacked away so I could try it myself.
Eventually, I did manage to create a working custom extensions for loading GLB models in both of these new viewers - these extensions are not open-sourced yet but were modeled as per new GLTFGaussianSplatLoaderExtension.js.
What what I can tell 4dv.ai is a proprietary format. I could throw Claude at it to reverse engineer it but I am not sure that is valuable because I think they would object. Maybe you can ask them to open source their format? Or publish a spec?