Updates for glTF base extension structure #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The PR for the Gaussian splat support in glTF went through a few iterations. Some of the most important changes have been...
There is still some ongoing discussion about "What is 'color'?" and "What are 'spherical hamonics'?", and "What is this actually all about?" - this is tracked in KhronosGroup/glTF#2539
This PR updates the JSplat libraries to offer a dedicated reader/writer for splats that are stored in glTF using the
KHR_gaussian_splattingbase extension, without SPZ compression.The implementation is not yet complete (e.g. quantized attributes are not yet supported). But the
JSplatRoundtripsexample (which is only an internal test, not specified in any way, and changing constantly!) can already read/convert/write all the splat formats, which now areGSPLAT,PLY_ASCII,PLY_BINARY_LE,PLY_BINARY_BE,SPZ,SPZ_GLTF, and (new:)GLTF.The viewer application has not been updated yet. This will require some tweaking: When loading a glTF with splats, it's not immediately clear whether they are SPZ-compressed or not. I'll have to check where exactly that decision can be made. (I'd like to avoid a dependency from the glTF part to the glTF-SPZ part, but will sort this out somehow).
In the context of all this, I might rename the
jsplat-io-spz-gltfproject tojsplat-io-gltf-spz, which makes more sense in view of the extension structure and possible future extensions/compression methods that may be added to glTF. Good thing that all this is happening in version0.0.1-SNAPSHOT, right? I can do whatever I want 😎