vfx pipelineMay 14, 2026

HOUDINI_USD_GSPLAT — NATIVE 3D GAUSSIAN SPLAT RENDERING IN HOUDINI SOLARIS

An open-source native integration of 3D Gaussian Splatting into Houdini Solaris via a first-class USD schema, UsdImaging adapter, and CPU Hydra render delegate — bringing Gaussian splats into the USD scene graph as proper USD primitives with full Houdini LOP workflows.

Authors
Plattipus Research Lab
Topics
Gaussian SplattingUSDHydraHoudiniSolarisVFX PipelineOpen SourceRealtime Rendering3DGS

Overview

houdini_usd_gsplat is a native open-source integration of 3D Gaussian Splatting into Houdini Solaris. Rather than treating Gaussian splats as a foreign format loaded through a workaround, this project defines splats as first-class USD primitives — complete with a custom USD schema, a UsdImaging adapter, and a Hydra render delegate that performs CPU rasterisation with EWA splatting and spherical harmonics.

The result is a proper USD-native workflow: Gaussian splat .ply captures slot into any Houdini LOP graph, compose with other USD prims, and render through the same Hydra viewport pipeline used by every other primitive type in Solaris.

GitHub: github.com/plattipus/houdini-gsplat


What's Included

ParticleField3DGaussianSplat — USD Schema

A new USD prim schema (ParticleField3DGaussianSplat) that encodes every per-Gaussian attribute directly in the USD scene graph:

  • Position, opacity, covariance scale and rotation
  • Spherical harmonic coefficients for view-dependent colour

Splats authored against this schema compose, reference, layer, and variant-switch like any other USD primitive.

UsdImaging Adapter

The UsdVolParticleFieldImaging adapter bridges the USD schema to Hydra. It reads ParticleField3DGaussianSplat prims and populates the Hydra render index so any delegate — including the native viewport — can consume them without bespoke format handling.

Hydra Render Delegate — HdParticleField

HdParticleField is a CPU rasteriser built as a Hydra delegate:

  • EWA splatting — elliptical weighted average filtering for sharp, alias-free splat edges
  • Spherical harmonics — view-dependent colour evaluated per-Gaussian at render time
  • Depth-sorted compositing — back-to-front alpha compositing in the Hydra pipeline

PLY Import LOP

A Houdini LOP node (Ply Import) that ingests standard .ply Gaussian splat captures and writes them directly into the USD stage as ParticleField3DGaussianSplat prims. No intermediate conversion step required.

Gsplat Instancer LOP

Gsplat Instancer LOP in Houdini

The Gsplat Instancer LOP enables Gaussian splat instancing at the USD level — place, transform, and scatter splat captures across a scene using standard USD instancing semantics.

Uruk LOP

A specialised LOP for scene composition workflows involving splat-heavy scenes — named for the internal pipeline step that merges environment captures with hero geometry.

ply2usd CLI

A command-line tool that converts any .ply Gaussian splat file to a standalone USD file containing a ParticleField3DGaussianSplat prim. Useful for pre-processing captures outside of Houdini or integrating into existing USD pipeline tooling.


USD Architecture

The key design decision is treating each Gaussian splat capture as a USD primitive, not a viewport overlay or custom drawable. This means:

  • Splats participate in USD composition — layering, referencing, variants, payload loading
  • Scene assembly in Solaris works identically whether the prim is a mesh, volume, or Gaussian splat
  • Downstream tools that speak USD (Karma, USD render delegates, custom Hydra delegates) can address splat prims through the standard imaging API
  • Render-time data flow follows the Hydra contract: schema → imaging adapter → render index → delegate

The UsdVolParticleFieldImaging adapter name reflects the early prototyping lineage (Gaussian splats share volumetric compositing characteristics with USD volumes) and is preserved in the release for pipeline compatibility.


Requirements

DependencyVersion
Houdini21.0.559 or later
CMake3.20 or later
PlatformmacOS ARM64 (Linux RPATH wired, untested)

License

MIT — open for production use, modification, and redistribution. Contributions welcome via the GitHub repository.

End of paper
← Back to Lab