wow. faster than lightning
.
We will look into that tomorrow!
Cant wait. Best.
wow. faster than lightning
.
We will look into that tomorrow!
Cant wait. Best.
@Cedric thank you, we appreciate your dedication in this, this is great news.
So. We looked at it, it works first of all.
Visually there is a differenz between ply spz and sog.
At low splat number, the color differences are visible.
The spz file shows clearly color differences and a general more pink/magenta/green appearance.
The sog seems to show a more dimmed color difference and tends more towards green, the strong magenta as in the spz is not visible.
At high splat count, the sog comes much closer to the ply file as the spz does still have a compressed feeling.
I guess that is expected. The filesizes are good, spz and sog almost matches in filesize.
Overall first impression is, to favor sog over spz as is feels more natural.
Phantastic. We will keep on working with sog and will implement the new version of bbl as soon as available, into our project.
Hope that other ppl will have similar results.
This is so great! Thank you so much for that swift implementation, amazing!
Best. Werner
on a test I did, I have a 180Mb PLY that gives a 17.3Mb spz and 10.7Mb sog. It contains SH.
sog features paletted SH with more bits per component than spz. From a code perspective, difficult to have a clear winner.
jep.
How would you compare filesize.
Does this depend on the type of content? Like more similar colors, higher vs lower splatcount?
Just interesting to know ![]()
I checked the sample on Babylon.js Playground.
It appears to be rotated 180 degrees, but is this expected?
scene.meshes[0].rotation.x = Math.PI;
The sample playground is working well for me across PC and mobile (Android). Thank you for the quick work on this, next week Iāll start experimenting with my own splats ![]()
For larger GS scenes I still get quite bad performance sometimes compared to e.g. SuperSplat. I wonder if thereās more gains that could be achieved in this area
FPS is especially important for WebXR for example⦠Iāll let you know if I come across any info/research in this area that could be useful!
Progressive splat loading could also be interestingā¦
Hi. In our experience, there are some factors which influence the FPS behavior of a scene.
It starts with the generation and distribution of the GS, so it also is connected to your sources like how the images are captured.
The overdraw of splats is costly. If you have e.g. a lot of big splats with low alpha or a lot behind each other. So cleaning can improve that. (I think the transform tool to create SOG has also cleaning/optimize options). Choosing the right images and method (e.g. in Postshot MCMC or splat3) makes a difference in the distribution and sizes.
Image overlaps as well for creating the cameras and the sparse point cloud.
Then the camera parameters can influence, how many splats you render on screen.
The render resolution has a big influence which is also connected to the device pixel ratio especially on mobile devices. There is also the GS antialiasing which also has a performance impact. The PC player (when you publish from SS) has a quality option which I think does turn off AA and sets a different DPR so you get performance boost.
So imo probably not so easy to compare just the player/viewer without looking at all the other parameters.
Best. Werner
Progressive splat loading could also be interestingā¦
This is something almost ready in the engine but because splats might not be sorted properly by default in the file, it results in a progressive loaded mess that pops up being sorted at the end. I didnāt quite like the effect. Iām curious if you can find a GS that display faster in any other engine than Babylon.
Just in case somebody missed the conversion tool ( .. cedric posted already) >
best. w.
Can this be done by now?
We are just talking about that, would be great to stream larger splats in somehow?
Best. w.
r.e. progressive loading + large Gaussian Splat LOD / streaming, see the demo of the new PlayCanvas Engine (open source) LOD streaming updates https://playcanv.as/p/ZoUBrC6e/ - when first loading in it seems to have some sort of progressive directional loading
Yes, Iāve seen the demo! itās pretty great and needs sorting of splats + serialization.
Is that something which could come?
Or can we do that?
Need to show that to our programmer ![]()
best.w.
thatās something you can do. there is this example in the documentation:
Reorder positions and enable progressive loading. Babylon.js docs
Iām curious if you can find a GS that display faster in any other engine than Babylon.
Iāve been playing around with some GS scenes and noticed a few things r.e. performance:
If you have any specific ideas / tips on optimising for GS in WebXR (or just GS on lower-powered hardware in general) Iād love to hear it! Thanks for your great work on BJS as always ![]()
Supersplat added LOD recently, that could explain the perf difference maybe ![]()
Iāve changed the instancing batch size. from 1 splat per instance to 16. This might improve perf on lower end devices. Let me know. GS Splat batch size by CedricGuillemet Ā· Pull Request #17442 Ā· BabylonJS/Babylon.js Ā· GitHub
Do you have some number of the perf difference?
GS is GPU intensive so a small improvement on memory fetching can be beneficial. Just a few bytes less per splat can make a difference.
Iāve changed the instancing batch size. from 1 splat per instance to 16. This might improve perf on lower end devices. Let me know.
Unfortunately I was presumably already using that perf improvement, as Iāve been using the CDN and tested over the weekend, and it looks like that was merged before the version bump last week.
Do you have some number of the perf difference?
Iāll see if I can do some proper profiling tonight/tomorrow but off the top of my head I think I was getting 5-15fps more in SuperSplat.
Thanks as always for being so active here on the forums!