Home

Awesome

GSOPs (Gaussian Splatting Operators) for SideFX Houdini 20.5

Now available under the Houdini Commercial license.

Watch the GSOPs Showcase

GSOPs Showcase Video

About

GSOPs is a collaborative project from David Rhodes and Ruben Diaz. It is comprised of a viewport renderer, example files, and several digital assets to assist with common I/O and editing operations for 3DGS content. GSOPs is developed in our personal time and is provided as-is.

Use GSOPs to import, render, edit, and export 3D Gaussian splatting models, or to generate synthetic training data. Synthetic data is capable of producing high-fidelity models with view-dependent effects and performant rendering on most modern devices. GSOPs is effective at isolating objects, eliminating noise and floaters, deforming and animating splat models, composing scenes, meshing and relighting splats, and conducting feature analysis.

For more examples of GSOPs in action, check out GSOPs on LinkedIn and GSOPs on YouTube.

🥉 GSOPs won 3rd place in the H20 SIDEFX LABS Tech Art Challenge.

Join us on Discord!

Motivation

Houdini's powerful, data-efficient architecture makes it the go-to platform for procedural content production across many industries. Its flexible and extensible design empowers users to tackle complex challenges at the right level of abstraction, focusing on problem-solving rather than low-level technicalities.

This unique combination of flexibility and ease of use is especially valuable in the rapidly evolving field of Novel View Synthesis. It enables quick prototyping, testing, and refinement of new workflows, keeping pace with the latest research. Additionally, it provides a direct path for innovations to transition into real-world applications within a well-established, production-ready solution.

SideFX, the developer of Houdini, fosters innovation through its "Labs" initiative. This incubator allows for the iteration of new tools and workflows before they become mainstream. Similarly, GSOPs provides a dedicated playground for Novel View Synthesis, enabling users to craft new workflows that closely align with the final visual result while prioritizing a creative and enjoyable process.

We're passionate about the potential of editable radiance fields in SideFX Houdini and we're eager to continue pushing boundaries. If you believe in this initiative or have benefitted from GSOPs, please consider supporting us with contributions, feedback, or donations. Thank you!

<a href="https://www.buymeacoffee.com/gsopsproject"><img src="help/images/support_gsops.png" alt="Support GSOPs" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>

SOP Nodes

For more information regarding any of the following nodes, please reference the built-in help cards. (SideFX, if you are reading this, thank you for making an incredible documentation system!)

GSplat Source

Notes

Installation

  1. For the latest and greatest, clone this repository (develop branch). Alternatively, for a more stable build, download the latest release.
    • Either clone with --recurse-submodules, or run git submodule init followed by git submodule update.
    • If you have separately installed houdini-gsplat-renderer, it is recommneded to delete existing compiled binaries to avoid plug-in conflicts!
  2. Copy the packages directory found in the repository root, and paste it in the $HOUDINI_USER_PREF_DIR folder. More information here.
  3. Open the GSOPs_20.5.json file inside the packages directory you just pasted. Modify the "GSOPS" path found inside to the the location used in step one.
  4. Install the latest SideFX Labs release.

Getting Started

  1. Open a few example scenes from the hip directory. Use these to validate your installation and better understand Gaussian splatting workflows.
  2. For accurate color results, disable OpenColorIO in the viewport. If you don't see your splats in the viewport, you may also need to disable viewport lighting.
  3. The GSplat Source SOP (i.e., the "render" node) does not currently have an output. This means it must exist at the end of your network. (We intend to change this in the future so that it's embedded in the gaussian_splats_import SOP for a streamlined user experience.)
  4. Houdini provides many wonderful tools that will help you work with Gaussian Splat data. If you're not already familiar, check out the following SOP nodes: point cloud normal/surface, VDB from particles/polygons, cluster, and group (w/keep in bounding regions).

Splat Animation Sequences

Synthetic Training Data

Help

Known Issues

We consider GSOPs to be a professional-grade prototyping toolset. It is not free from error, and the user experience could be improved in many areas. Here are some of the known issues:

Contribution Wish List

We have not yet been able to implement all the cool ideas we have. However, in open-sourcing GSOPs, we hope to involve the community. After all, we're stronger together! Please join us on Discord!

Here's our wish list for community contributions (please feel free to bring your own ideas, too):

Acknowledgements

Thank you, community! Your support, interest, and rapid contributions to gaussian splatting have inspired and motivated us.

From David

Jonne Geven and Antti Veräjänkorva have been my "rubber ducks." Thanks, guys. Always helpful to have cool people to bounce ideas around with.

Aras PranckeviÄŤius was quick to adopt Gaussian Splatting with a Unity implementation. He also went out of his way to help me with several problems I encountered during development. Thank you, Aras!

Major kudos to the original inventors of Gaussian Splatting, Inria and the Max Planck Institut for Informatik (MPII)!

From Ruben

I don't think I would have gotten this far without the inspiration from so many amazing open-source projects. I’d like to highlight two in particular; although I haven’t directly reached out to the authors, their work has been massively helpful, so I want to give special kudos to them:

Final Thoughts

This project is licensed under a copyleft AGPL-3.0 license. If you require a different arrangement, please contact us to discuss alternatives.

Also, if you create something cool and share it on social media, we'd love to see. Please consider tagging us!

Keep splatting!