Repository navigation
v2.0.0: Direct PLY/SPZ loading, global sorting, stochastic render, removed edits/cutouts
LatestAgainst my better judgement, here's a "everything's changed!" release. Originally this repository was made to play around with some simple forms of 3DGS in-memory compression, where I explored a chunked splat layout, possibility of using e.g. BC7 texture compression for data, and so on. That was interesting, but it seems that most people who use this are only interested in "I just want to render splats inside unity" aspect. Later on I wanted to play around with things like stochastic transparency (#174), but never took the plunge to finish it. So this release reshuffles things around in a major way, hence 2.0.0 version.
Note that like all this time, I have exactly zero VR/XR devices around, so these code paths could have broken in the process. I tried not to, but who knows!
- No more "create gaussian asset" workflow; instead you just drop and use your 3DGS
.plyor.spzfiles directly.- While at it, add SPZ 4 support (the one where data streams are zstd-compressed).
- Support loading from files relative to StreamingAssets, filesystem (relative or absolute paths), or from URLs.
- Removed all the splat editing tools; these days using something like SuperSplat Editor is much easier and they have more & better tools.
- Global sorting: multiple intersecting splat objects now render correctly in the sorted/blended case too. Previously multiple overlapping splats did not quite sort correctly among themselves:

whereas now they do:

- Splat rendering options are not per-splat anymore, but rather global to the scene. Do that by adding
GaussianSplatRenderingOptionscomponent to any game object.

- In addition to the traditional "sort the splats and alpha blend them", add an option for stochastic rendering, which needs no sorting. It can use a simple temporal/reprojection filter. Without any temporal filtering it is quite noisy:

but with more frames it gets less noisy:

and eventually more or less converges to regular result:

- Removed some debug rendering options (the only left is "Draw Points"), removed option to sort only every Nth frame.
- Runtime VRAM/memory usage is similar to previous "Medium" quality (about 104 bytes/splat), with a tiny bit higher data precision. Performance is similar as well.
- Compile error and warning fixes for Unity 6.0, 6.3, 6.6, 7.0 alpha.
Full Changelog: v1.1.2...v2.0.0