However the geometry processor never appears in carb’s plugin registry.
Loading it manually via ctypes succeeds but produces no registered interfaces.
Question: What is the correct mechanism for
libcarb.ujitso.processor.geometry.plugin.so to get loaded and registered
at startup? Is there a kit config entry or additional flag required beyond
–/UJITSO/geometry=true?
Hi, thanks for the update from your original post #372720.
Workaround for 5.1: since --format nurec (the OmniNuRecFieldAsset path) already renders correctly on your setup, that’s the supported route on 5.1. ParticleField3DGaussianSplat is the older 3DGS schema; OmniNuRecFieldAsset is what 5.1’s geometry path is actively wired up for.
Consider upgrading to Isaac Sim 6.0. Per the 6.0 announcement, Kit 110.0 reworked the 3DGS rendering path with Fabric Scene Delegate integration, normalized UJITSO processor defaults (the same layer where your geometry processor is silently failing to register), and added multi-GPU and mesh-light improvements.
You can file the plugin-registration bug as a GitHub Issue, since the underlying problem in 5.1 — plugin .so present on disk, --/UJITSO/geometry=true reported true at runtime, but the processor never enters carb’s registry — matches the unresolved #365702. Attach your flags, plugin path, and the kit_*.log from ~/.nvidia-omniverse/logs/Kit/Isaac-Sim/5.1/ (search “ujitso” / “geometry”).
Thank you for the detailed response, this clarifies the rendering path situation perfectly.
We’ve confirmed --format nurec (OmniNuRecFieldAsset) renders in Isaac Sim 5.1 and we can navigate the scene, so that’s good progress. However we’re seeing a significant quality gap compared to what the same PLY produces in SuperSplat or in our 3DGUT-rendered PNG frames.
Specifically:
SuperSplat renders the scene photorealistically (PSNR 34.12 / SSIM 0.969, sharp details, correct view-dependent colour on reflective surfaces)
--format nurec in Isaac Sim 5.1 renders the same scene with heavy blur, washed-out colours, and no view-dependent effects
We understand this is because the NuRec voxel conversion (volume.nurec) discards the spherical harmonics coefficients that encode view-dependent colour, reducing each gaussian to a single averaged colour per voxel. Is this an inherent limitation of the OmniNuRecFieldAsset path, or is there a way to improve the voxel resolution / SH preservation during export?
Also, does Isaac Sim 6.0 with the reworked ParticleField3DGaussianSplat path preserve the full SH coefficients and render at SuperSplat quality? That would be the main motivation for upgrading.
Yes, the quality gap you are seeing with --format nurec is expected to some extent. I would treat the OmniNuRecFieldAsset path in Isaac Sim 5.1 as a compatibility/workaround path rather than a lossless way to preserve the original PLY/3DGS radiance. In particular, it is not equivalent to feeding the original Gaussian set with full SH coefficients into a splat renderer, so view-dependent color/detail can be reduced. I’m not aware of a public exporter flag that makes the NuRec volume representation preserve the full original SH basis in the same way as ParticleField3DGaussianSplat.
For Isaac Sim 6.0, the path to test is ParticleField3DGaussianSplat / lightfield / standard USD. That schema is designed to carry radiance:sphericalHarmonicsDegree and radiance:sphericalHarmonicsCoefficients, so at the asset/schema level it is the SH-preserving path. The current 3DGRUT export docs also recommend ParticleField for new assets and note that custom NuRec USDZ is on the deprecation path.
That said, I would not promise exact SuperSplat parity. Even with the same SH data, output can differ due to the renderer’s Gaussian projection/kernel, sorting hint, tonemapping/exposure, precision, and post-processing path.
For a clean 6.0 comparison, I’d suggest:
Export as ParticleField/standard, not NuRec.
Verify the USD has the expected radiance:sphericalHarmonicsDegree and coefficient count, e.g. degree 3 means num_gaussians * 16float3/half3 coefficients.
Avoid accidentally exporting only SH degree 0 / DC color.
Launch/render with single-GPU and Gaussian tonemapping set before the first Hydra sync: --/renderer/multiGpu/enabled=false --/rtx/rtpt/gaussian/skipTonemapping/enabled=false
Compare sortingModeHint values such as zDepth, cameraDistance, and rayHitDistance if your exporter exposes them.
If the 6.0 ParticleField render still has a large PSNR/SSIM gap versus SuperSplat from the same camera pose, please attach a minimal PLY/USDZ plus the exact export and render commands. That would help separate a lossy NuRec transcode issue from a ParticleField exporter issue or an Isaac Sim renderer issue.