Skip to content

Draft extension for SPZ compression support for Gaussian splats#81

Closed
keyboardspecialist wants to merge 33 commits into
3d-tiles-nextfrom
draft-spz-splat-compression
Closed

Draft extension for SPZ compression support for Gaussian splats#81
keyboardspecialist wants to merge 33 commits into
3d-tiles-nextfrom
draft-spz-splat-compression

Conversation

@keyboardspecialist

Copy link
Copy Markdown

Follows EXT_draco_mesh_compression as pattern.

Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_compression/README.md Outdated

@lilleyse lilleyse left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks pretty good. Just a few comments from me.

Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
@weegeekps

Copy link
Copy Markdown
Collaborator

I did something I shouldn't have and managed to completely pollute the history for this branch. I will try to clean it up later.

@lilleyse - when you have a moment another review pass is appreciated.

Comment on lines +131 to +140
"max": [
1,
1,
1,
],
"min": [
-1,
-1,
-1,
]

@weegeekps weegeekps May 15, 2025

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is required by the glTF spec for all POSITION accessors.

In reality, we should probably calculate the actual bounds, but right now this is good enough since we don't need them for implementation.

A good ask for the working group is if we can relax this requirement when our extension is in use.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

A good ask for the working group is if we can relax this requirement when our extension is in use.

I changed my mind about this. I think there's still potential for these bounds to be very useful in some engines. We should still require these bounds to be properly calculated.

@lilleyse lilleyse changed the base branch from main to 3d-tiles-next May 16, 2025 15:26
@lilleyse lilleyse changed the base branch from 3d-tiles-next to main May 16, 2025 15:27
@lilleyse lilleyse changed the base branch from main to 3d-tiles-next May 16, 2025 15:30
@lilleyse

lilleyse commented May 16, 2025

Copy link
Copy Markdown
Collaborator

I was able to fix the history by

  • merging main into 3d-tiles-next
  • merging 3d-tiles-next into this branch
  • changing the target branch to 3d-tiles-next
  • Adding back the 3d-tiles-next files that were removed

Though none of this will matter once a PR is opened in the Khronos repo (at least I don't see the need to keep the commit history)

@lilleyse lilleyse left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Just a few small comments from me. I like how simple the extension schema is now.

Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
Comment thread extensions/2.0/Khronos/KHR_spz_gaussian_splats_compression/README.md Outdated
weegeekps and others added 4 commits May 16, 2025 11:08
Co-authored-by: Sean Lilley <lilleyse@gmail.com>
Co-authored-by: Sean Lilley <lilleyse@gmail.com>
@weegeekps

Copy link
Copy Markdown
Collaborator

I'm going to close this PR and create a new branch cherry picked from this one. While Sean fixed the issue for our review purposes, my mishap still creates quite a mess for a PR into the official glTF repo.

@weegeekps weegeekps closed this May 22, 2025
@weegeekps

Copy link
Copy Markdown
Collaborator

Reopened in the Khronos Group glTF repo: KhronosGroup#2490

@GISUser1

GISUser1 commented Jul 8, 2025

Copy link
Copy Markdown

GISBox now fully supports the KHR_spz_gaussian_splats_compression slicing function. This feature, through an innovative slicing compression algorithm, significantly improves the transmission efficiency and rendering performance of Gaussian splatting point cloud data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants