Future of Gaussian Splatting Support Directly in three.js?

Hi everyone,

I’m exploring options for integrating Gaussian Splatting into web-based 3D projects using three.js.

The mkkellogg/GaussianSplats3D library has been a notable community effort in this space. Considering the increasing utility of Gaussian Splatting, I was wondering:

Are there any discussions, plans, or considerations for officially supporting Gaussian Splatting rendering directly within the core three.js library?

Any insights into the potential roadmap for such a feature or the core team’s perspective on robust Gaussian Splatting integration would be greatly appreciated.

Thanks!

Popular as they are, I don’t see the formats / representations of gaussian splats as something particularly standardized yet. As such there might be need for multiple “loaders” for splats in three.js, and in general three.js leaves all loaders of standard file formats outside the core library in the three/addons/libs directory, or as separate repositories.

As for whether a particular library belongs in the three.js repository’s addons, or a separate repository, I think that’s usually a matter of discussion between the maintainers of the project and of three.js. Inclusion in the main repo doesn’t necessarily imply more importance, some very important projects like three-mesh-bvh are external. For a more complex project it can be advantageous to keep it in a separate repository — for example, it’s much easier to have build processes and test suites specific to that project, if you’re doing so in a third-party repository. If the author of this project would prefer to maintain it within the three.js repository, though, I expect three.js maintainers would be happy to discuss that.

It sounds like maybe you’re assuming that support for gaussian splats would be “better” in some way if the code were moved into a central repository. It’s not obvious to me whether that’s true, or not, relocating the code doesn’t necessarily translate into more maintainers (and can sometimes have the opposite effect). Do you feel something is missing from the community efforts?

Related:

3 Likes

I would add that.. I see gaussian splats evolving really quickly, and I see a new library/improvement/implementations/optimizations pretty frequently.

It totally fits into the ecosystem as an addon, but doesn’t really belong in core/examples since the implementation details are very non-trivial.

@Chronoz99 It’s tempting to see things as “missing” from the library, but I think its better to think of the ecosystem, which it definitely already is a part of.
threejs is aiming at a lower level of abstraction so that it continues to be a relatively simple foundation to build tools like gaussian splats on top of.

It may be that it eventually settles into a more complete state, and forms the basis for new general rendering paradigms, but I think it’s still too new.

3 Likes