Show HN: Playcanvas and Gracia 4dgs
https://demo.gracia.ai/playcanvas.html
I did a double take when I first saw this.
The issue you saw had been addressed in 1.7.0. We were generating codebooks for color and scale using k-means, which would result in bad values sometimes for the extremes. In 1.7.0 we switched to an optimal quantiser with outlier handling. It was actually surprisingly hard to get this right.
I just got opus to valid this now and it found another issue with our scale codebook gen, which I will fix now. Huzzzah!
Scenes often comprise gigabytes of lossless webp, some of which you can see at https://superspl.at.
1. Capturing the entire scene with photos or video and converting ("training") these into a 3d Gaussian splat. This is what Vincent did so well with Grace. Open source tools for training are Brush and Lichtfeld Studio.
2. Creating a user experience with the resulting capture. In the case of Grace it involved adding the peek effect, camera controls, moving cars etc. This was all done using PlayCanvas as the article describes, which is also open source.
There is still some art to doing 1 well, but with a capable LLM agent and our (PlayCanvas') awesome community on Discord, you could probably manage both.
The data savings are huge, but the compression step is slow and requires a GPU.
It would be awesome if we could find a better/faster method of compressing these 45 dimensional monsters.
https://demo.gracia.ai/playcanvas.html
I did a double take when I first saw this.
https://github.com/playcanvas/splat-transform
It's annoying having so many ML and GS training tools rely exclusively on cuda/nvidia .So for our open-source command-line gaussian splat converter/compressor, we decided to try WebGPU instead.It's working well so far and a single codebase runs on Linux, MacOS and Windows without too much fuss. This is mostly thanks to Google's dawn project <3.Eventually some of this could also run directly...
Also wondering how you handle named uniforms?
- SuperSplat dev :)
Dreams doesn't use gaussian splats as such, but we still learn a lot about how to compress and render a huge number of particles efficiently. (We're not doing half of this on PlayCanvas... yet).
We just found that splats encode some view-dependent shininess anyway (for example the guitar body https://playcanvas.com/model-viewer?load=https://code.playca...) and so considered the extra data and rendering cost of SH not worth it for now.
It would be quite straightforward to add SH to the PLY file and we'll definitely consider it in future!