Hello Support Team.
In the main branch (1.130.1), 3DGS is now supported experimentally, as stated in the following statement: “Added experimental support for loading 3D Tiles with Gaussian splats encoded with SPZ compression using the draft glTF extension KHR_spz_gaussian_splats_compression.”
I would like to clarify the meaning of this “experimental support”. Specifically:
How does “experimental support” differ from “official support” in this context?
Is this considered a technical preview?
After glTF officially adopts the KHR_spz_gaussian_splats_compression extension, will 3D Tiles and CesiumJS support also be considered official support?
There’s a ton of research and development going on in the area of Gaussian splatting, and many technical aspects are not fully settled yet. The support in CesiumJS (and the support for converting PLY files into tilesets with Gaussian splats with Cesium ion) is “experimental” insofar that certain aspects of that support may still change. This may refer to performance, coordinate system conventions, spherical harmonics support, the structure of the glTF, and many more.
The latter primarily refers to the fact that the KHR_spz_gaussian_splats_compression pull request is not finalized. Changes that will have to be expected there are 1. the structure of the extension as a whole (it will likely be based on a more generic Gaussian splatting extension in the future), 2. details of the SPZ format itself (there are considerations to reduce the quantization compression for the rotation quaternions), 3. the attribute names, which may have to be disambiguated (with the names possibly being defined in the aforementioned base extension), and possibly others.
I’m not sure about a differentiation between “experimental support” and “technical preview”. There probably is some overlap. But maybe others will chime in with additional details here.