Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] SPZ file format support #308

Open
leohumnew opened this issue Dec 2, 2024 · 11 comments
Open

[Feature Request] SPZ file format support #308

leohumnew opened this issue Dec 2, 2024 · 11 comments

Comments

@leohumnew
Copy link

Would you consider adding support for the open-source SPZ file format? It's similar to .splat files but includes spherical harmonics and is more compressed in some aspects.

Thanks for the amazing work on this editor!

@willeastcott
Copy link
Contributor

Is this for import, export or both?

BTW, just so that you know, SuperSplat's compressed PLY format (which compresses even smaller than SPZ) gets spherical harmonic support this week. See this PR:

playcanvas/engine#7143

@leohumnew
Copy link
Author

leohumnew commented Dec 3, 2024

In an ideal world - both. But exporting would currently be the most useful of the two in my specific case.

Great news that .splat will be getting spherical harmonic support! It's a great file format that is actually the one I use for most of my projects. My questions would be:

  • Is it also an open-source / open-license file format? i.e. could it be implemented / used by anyone from fully publicly available specs without licensing fees / issues?
  • With spherical harmonics, will it continue being smaller than SPZ? It would be interesting to see some comparisons using the same base PLY!

Totally love SuperSplat and it will continue being my main GS editor, I just need to think from an actual use-case perspective in terms of the file formats! Babylon.js which my main project uses supports both .splat and .spz, so it just comes down to which the most efficient is. But even with SH support in .splat I definitely think interoperability with .spz wouldn't hurt - it would allow people to import them into SuperSplat (as e.g. scaniverse are pushing for it to be a main export format) and export in that format when necessary.

@the-ponpon
Copy link

Getting compressed PLY format with SH up to 3 is great news!
Where can I find the most updated specification of the PLY compressed format?
https://blog.playcanvas.com/compressing-gaussian-splats/ is still describing a compression that does not keep SH as far as I understand

Thanks in advance

@slimbuck
Copy link
Member

slimbuck commented Dec 3, 2024

Hi @leohumnew!

Just to say the .splat format is not the same as the .compressed.ply format. We are in the process of extending the compressed.ply format with spherical harmonics data. To answer your questions:

  • Yes the format is open source, like the entire engine and supersplat - for us this is the default.
  • The new spherical harmonic data is not compressed much, just quantised, much like spz. However the rest of the data is well smaller.

@the-ponpon - yes we'll write a blog post describing the new format soon as it's out (which should be reaaaaaal sooon!!).

Thanks!

@the-ponpon
Copy link

Great news!
I just saw the feature in engine 2.3.0 release!
Any chance engine 1.x.x gets the same feature?
I am using playcanvas Editor which is currently on 1.7.5...

Thanks in advance!

Pierre

@slimbuck
Copy link
Member

slimbuck commented Dec 3, 2024

Yes engine 1 will support compressed spherical harmonics!

@the-ponpon
Copy link

Great!
Do you have an estimated delivery time?

Thanks again in advance,
Pierre

@slimbuck
Copy link
Member

slimbuck commented Dec 4, 2024

About two weeks ago :) . Hoping for this week!

@the-ponpon
Copy link

Hi there,
I have tested SH compression on supersplat 1.10 and I find it really impressive!!!

However, I do not see the editor offering to run with engine 1.76 yet.
Do you have any ETA for that?

Thanks in advance!

@slimbuck
Copy link
Member

slimbuck commented Dec 9, 2024

Hi @the-ponpon , yes we're hoping to update the editor in the next few days with support for SH.

@tonetechnician
Copy link

Just wanted to add here, it seems over at Babylonjs they have an spz loader with an open ticket in the project for playcanvas support. Could be nice for any development on this to be contributed there to allow for loading in playcanvas.

https://github.com/users/drumath2237/projects/23?pane=issue&itemId=88974254&issue=drumath2237%7Cspz-loader%7C47

I've managed to get the initial loading to work to get the splat positions etc... by loading the output of the spz-loader into a GSplatResource, but still working on the correct colour components as something is going off there.

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

No branches or pull requests

5 participants