Developer Andrew Butt has published Splat Lab, a browser app that trains 3D Gaussian, point, triangle and convex splats side by side.
Babylon.js 9.0 supports rendering opaque triangle splat meshes, but training them still required CUDA. Splat Lab trains on WebGPU inside the page. A differentiable rasterizer written in WGSL compute shaders optimizes each primitive type against 32 to 96 renders of a dense "teacher" version of the source.
Each primitive type has its own tab. The 3DGS tab uses Babylon's built-in GaussianSplattingMesh, and the Points tab uses the WebGPU point splatting mode built into Babylon 9. The Triangle tab implements Triangle Splatting and Triangle Splatting+, and the Convex tab implements 3D convex splatting, both with custom shaders.
Splat Lab accepts glb, gltf, obj and stl meshes, trained splats in ply, splat and spz, ply point clouds, or a sculpt written in a small SDF language with primitives, smooth booleans, domain repetition, twist and noise. Every source is converted into the same set of oriented elements, which each renderer turns into its own primitive before training. An optional opaque finish for triangles anneals them to solid, after which they draw as an ordinary depth tested mesh with no sorting or blending.
Splat Lab intends to serve as a research playground. Color is view independent with no spherical harmonics, the loss has no D-SSIM term, and training caps at 800,000 Gaussians, 400,000 triangles and 250,000 convexes. Triangles lose fine detail, and a mesh teacher is built from surface samples, which gives softer supervision than a true render. Spherical harmonics, D-SSIM and export to ply, splat and glb are planned.
Splat Lab is available now on GitHub under the MIT license, with a live browser demo.




