engine icon indicating copy to clipboard operation
engine copied to clipboard

[Feature Request] 3D Gaussian Splatting MCMC support

Open equilento opened this issue 1 year ago • 11 comments

It would be awesome if Markov Chain Monte Carlo is supported. PostShot just added support and the results are MUCH better. I actually tried loading MCMC ply file inside SuperSplat but it doesn't really show anything, just what seems a bunch of very distant splats. Tried compressing it and loading inside Playcanvas and it does in fact load but it looks like a complete mess.

equilento avatar Jul 14 '24 17:07 equilento

Hi @equilento,

From a quick search I wasn't able to find an example file for MCMC GS.

If you are able to provide an example file then I can investigate the issue.

Thanks!

slimbuck avatar Jul 15 '24 07:07 slimbuck

Sure, thanks! here is an example file: https://easyupload.io/rh2nww

equilento avatar Jul 15 '24 08:07 equilento

Hi @equilento,

This file is actually loading fine. The issue is there are very large splats far from the center of the scene. (So the camera is initialised far away to frame everything).

Here is a quick video showing how I select the very far away splats using the new DATA panel:

https://github.com/user-attachments/assets/09eebf17-022f-4939-a2d8-d6e3404fbd56

After deleting the large splats the scene flickers still in supersplat. I will fix this issue next.

slimbuck avatar Jul 15 '24 08:07 slimbuck

Yeah, not only does it flicker but it is a mess. This is another model MCMC and "regular" GS in comparison. ADC Splat MCMC Splat

equilento avatar Jul 15 '24 13:07 equilento

Hi @equilento,

Sorry I don't understand what is being shown in the screenshot above.

Is the bottom image an MCMC scene loaded in Supersplat or...?

slimbuck avatar Jul 15 '24 13:07 slimbuck

Yes, the bottom one is MCMC scene after I did the clean up like you showed. I tried loading it inside the editor and the results are the same.

equilento avatar Jul 15 '24 13:07 equilento

Ah, right. Can you send me the original GS scene and instructions on how to replicate this issue?

slimbuck avatar Jul 15 '24 13:07 slimbuck

Ok so I stumbled on something quite interesting. After I deleted far-away unnecessary splats like you suggested, focused on the model and zoomed in I get something that looks very bad (fig. 1) BUT after I then compress it, save it and open it again inside SuperSplat I get a model that looks much better (fig. 2) but still not as good as it is supposed to look like (fig. 3) fig  1 fig  2 fig  3

Uncompressed/unedited file: https://easyupload.io/gdbt1n

equilento avatar Jul 15 '24 15:07 equilento

Hi @equilento,

Thanks for this!

The issue with the flickering is that deleted splats are not actually removed from the scene, they are just made transparent. This means the sorter buckets still include all splats, even though they're deleted. (We perform a very fast bucket sort for performance reasons).

I am busy updating the engine to support quickly removing deleted splats from sorting and rendering. This removers the flickering (equivalent of saving and reloading the scene) and speeds up the scene as you edit.

I will double check with the scene you gave me, but seems like it's the same issue.

Thanks again!

slimbuck avatar Jul 15 '24 15:07 slimbuck

BTW for your testing, it's probably better to save the cut-down scene and then load that instead of saving a compressed version of the scene (since compression is lossy). Only the save the compressed version for runtime use.

slimbuck avatar Jul 15 '24 15:07 slimbuck

I tried cutting down the original, saved the uncompressed file, reloading and then compressing it, opened it and it seems fine now. Couple of days ago I tried just compressing the original and I put it inside PlayCanvas editor and the flickering was present, even though I haven't done any editing. Why would that be? If I understood you correctly this shouldn't happen. Anyway this seems like a quick fix for me for now. Don't know how this would be reflected on bigger scenes.

Thank you for this!

equilento avatar Jul 15 '24 16:07 equilento

@slimbuck - can this be closed or is more work needed?

mvaligursky avatar Mar 24 '25 16:03 mvaligursky

That's a yes. 🚀

willeastcott avatar Mar 24 '25 16:03 willeastcott

Ooops. I should let the PR close this. 😊

willeastcott avatar Mar 24 '25 16:03 willeastcott