How to Use Three.JS's new Native Gaussian Splats
You can put a phone-captured object into Three.js without building a mesh or unwrapping a single UV. Here is the route from a raw scan to a compact SPZ file—and the few lines that render it.
You can put a phone-captured object into Three.js without building a mesh or unwrapping a single UV. Here is the route from a raw scan to a compact SPZ file—and the few lines that render it.
Adding Gaussian splats to a Three.js scene takes three lines. Keeping the implementation small took more work: GPU sorting, view-dependent color, and loaders that fit the existing engine instead of bringing a second rendering stack along.
A MaterialX file can load in both Blender and Three.js and still look wrong. Matching the reference meant chasing inverted logic, flipped coordinates, and noise functions where 'close enough' creates an entirely different pattern.
When a visual scripting system forces every complex interaction back into custom code, its simplicity has become a ceiling. That frustration led me to build behave-graph and push for portable interactivity in glTF.
Moving roughness and metallic values between tools does not guarantee the same image. glTF's PBR initiative aims to close that gap with a shared material specification—and reference renders that make visual differences testable.