Triangle Splatting Support

I see the PR was merged but didn’t notice this in the release notes? Is SoG now in Babylon?

It’s part of 8.30.4 release : Release 8.30.4 · BabylonJS/Babylon.js · GitHub

2 Likes

Triangle splatting needs a differentiable renderer. I’ve read some papers to help me understand what it is. I don’t think I fully understood it :slight_smile:

Triangle splatting outputs a .ply file that can already be loaded inside BabylonJS (see Triangle splatting v2 ply rendering mismatch - #2 by CrashMaster) so I don’t think anything needs to be added (even though backface culling must be disabled and disable lighting)

I tried to tweak parameters but I don’t get the quality you achieve. I guess differential rendering might be more needed when density of triangle is low and it will help filling gaps.

EDIT: Fixed with specular at (0,0,0)

EDIT2: Nope, I’m missing something. I guess I need to change some more parameters.

EDIT3: Works with

const mat = new BABYLON.StandardMaterial("unlitVertexColorMat", scene);
mat.disableLighting = true;              
mat.emissiveColor = new BABYLON.Color3(1, 1, 1);
mat.diffuseColor = new BABYLON.Color3(1, 1, 1);
mat.backFaceCulling = false;
plyTriangularSplatmesh.material = mat;
1 Like

Yeah I pushed a lot of buttons in the sandbox inspector, but what you wrote is in line with what I remember ^^

From what I understood from the paper, the output only contains semi-connected opaque triangles, so differentiable rendering would be needed only for displaying the triangle soup while in-training with the same sorting logic as regular GS :thinking:

yes, that’s what I understood too. This made me curious about differentiable rendering. It’s being used in many areas from object reconstruction to lod computation.

1 Like

Which tool are u using for training?

best. Werner

I think everything you need is here : GitHub - trianglesplatting2/triangle-splatting2

1 Like