Skip to content

Conversation

@weegeekps
Copy link
Contributor

@weegeekps weegeekps commented Sep 29, 2025

This is a draft extension proposal for using Niantic Spatial's SPZ compression library for compression 3D Gaussian splatting data using the base KHR_gaussian_splatting extension with glTF. This extension targets version 2 of SPZ.

As we get closer to done with the base extension for 3D Gaussian splatting, KHR_gaussian_splatting, it has made more and more sense to break out the KHR_gaussian_splatting_compression_spz_2 extension for SPZ compression of 3DGS data. This allows them each to independently go through the ratification process and neither will hold up the other.

For previous history and conversations regarding the development of this extension, please look at the PR for KHR_gaussian_splatting before this linked comment.

Data may be used directly from SPZ or may be mapped to the placeholder attributes this extension provides. When mapping to attributes, the data from SPZ is mapped from the `GaussianCloudData` struct in SPZ to the following attributes in glTF. Several fields require additional conversion to make them glTF and renderer ready.

| SPZ `GaussianCloudData` field | glTF Attribute | Required Conversion |
| --- | --- |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The table formatting is broken

@javagl
Copy link
Contributor

javagl commented Nov 9, 2025

Not sure whether it's on the radar (I know that there currently is some turmoils around this topic...), but the wording and description around COLOR_0 may have to be updated.

This extension casually mentions COLOR_0, "as-if" it was a required attribute in the base extension. But in the base extension, it is described as an optional fallback. (I think that this means that there will be "fewer conversions" necessary, so in some way, it may actually simplify things, but the details should be reviewed carefully)

@weegeekps
Copy link
Contributor Author

@javagl I have updates in progress that bring this in line with the current base spec including the changes around color spaces. I plan on pushing those changes as soon as that work is fully settled and we have consensus.

@emackey emackey added the splatting Gaussian splatting label Dec 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

splatting Gaussian splatting

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants