Gaussian Splats, NME material block

Is there a plan to add NME support for the Gaussian Splat materials/mesh? (maybe in release 7 :wink: )
I am fascinated by the results of the splats but also wondering if that has some future potential.

This is a great idea! What would be the goal of that block?

TBH we dont have too much knowledge about Splats atm.
We try to figure out if we can incorporate it in our pipeline.
As it is so different to the standard pipeline we dont exactly know how to approach this new method of depicting information.
Can we light it, can we do shadows, can we modify colors, and so on.

ATM we have a mesh and we apply a noise for a iridescence thickness in a standard PBR workflow.
Base is a photogrammetry model.

Basically we want to do the same but with GS.
Need to rush now.
Will get to that later on.

Adding @Cedric to get his thoughts on how to use nme on a splat.

I was thinking of something like the pbr node: A GaussianSplatting node and new mesh inputs (coefficients for the gaussian, splat size,…). I think it’s doable. I have a very small knowledge of how NME internals work but we can discuss that after 7.0 release I think.
Adding @Evgeni_Popov who did a lot to make GS material/mesh consistent with the rest of the engine.

I have a question re. the fileformat.
There is the .ply fileformat and a .splat fileformat

I have edited and converted a .ply file to a .splat format, which was generated from polycam, with the supersplat tool SuperSplat
The .splat files are reasonable smaller.
Babylon can read and load that format (as it seems).
The supersplat editor is quite convinient and so far the only tool which I know to edit splats.
It seems that e.g. meshlab .ply files dont seem to work after editing?
A splat editor for babylon maybe (?) ;).

Sry to be a bit wild here, we are just on that splatting topic right now.

We are also looking into the material and shading for the splats, which we will have some questions later on I guess…

Thx, Best.


I think my first question would be if it is possible to use a custom fragment shader for a GaussianSplattingMaterial. As far as I understood I only have a world position and a color, which could enable a custom shader to do some effects.

My second question is more on an algorithmic level: Is it possible to compute a per-splat surface normal?

For the next questions I might start a new thread :slight_smile:

Helmut (who is testing with Werner and impressed by the image quality)

This is a feature that is getting some traction. At least a tool in the inspector to load/save in different formats plus the ability to selected/delete/move splat would be a great addition.

I think my first question would be if it is possible to use a custom fragment shader

Not possible at the moment. I think it will be in the roadmap for Babylon.js 8 release.

Is it possible to compute a per-splat surface normal?

I think it’s possible and it would be a good example for the GS custom shaders.

Regarding NME support, I think that’s something we will have to discuss with the team, as the shader code is quite specific when dealing with gaussian splats. We would have to find a clean way to make it available in the editor.

NME is really cool when it comes to accessability. (not necessarily necessary when working with professionals here :wink: ) I love the NME.
First steps would be to get access to all the possible features of the tech itself.(?)
I wondering if that is the “new triangle”. Everything so far looks exciting.

I was thinking about a special mode actually (like procedural or particles)

1 Like

May I ask how to export. las files to the. py format supported by babylonjs? Is there any tool available? I am unable to load the. py file even after exporting it using CloudCompare. The screenshot below shows an error message.

The cloud compare .ply file does not support splatting in its setup.
You could do it by hand, but there is a conversion tool, which does that for you.

Hope that helps.


Might be interesting oO

Best. Werner