Skip to content

Enable extent_adaptive_clamping for gaussian splats - #34

Merged
WeiPhil merged 1 commit into
google:mainfrom
WeiPhil:feat/extent-adaptive-clamping
Sep 16, 2026
Merged

WeiPhil merged 1 commit into
google:mainfrom
WeiPhil:feat/extent-adaptive-clamping

Conversation

@WeiPhil

@WeiPhil WeiPhil commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator
  • Enable extent_adaptive_clamping = true on Mitsuba ellipsoidsmesh plugins in both C++ Hydra (PrimTranslator::BuildParticleField) and Python offline translator (usd_mitsuba.gaussian_splatting) for 1.5x-1.7x faster 3DGS rendering.
  • Clamp splat opacities to >= 0.0101 (via LoadOpacities in C++ and np.maximum in Python) to prevent 0 or NaN proxy shell extents when opacity <= 0.01.
  • Split ParticleFieldSpec::attributes_dirty into opacities_dirty and sh_dirty so in-place opacity updates include 'data' in parameters_changed (triggering EllipsoidsMesh::recompute_mesh()), while pure SH updates avoid proxy mesh and BVH recomputation.
  • Add unit and fuzzing tests verifying opacity clamping and in-place adaptive proxy shell updates.

- Enable extent_adaptive_clamping = true on Mitsuba ellipsoidsmesh plugins in both C++ Hydra (PrimTranslator::BuildParticleField) and Python offline translator (usd_mitsuba.gaussian_splatting) for 1.5x-1.7x faster 3DGS rendering.
- Clamp splat opacities to >= 0.0101 (via LoadOpacities in C++ and np.maximum in Python) to prevent 0 or NaN proxy shell extents when opacity <= 0.01.
- Split ParticleFieldSpec::attributes_dirty into opacities_dirty and sh_dirty so in-place opacity updates include 'data' in parameters_changed (triggering EllipsoidsMesh::recompute_mesh()), while pure SH updates avoid proxy mesh and BVH recomputation.
- Add unit and fuzzing tests verifying opacity clamping and in-place adaptive proxy shell updates.
@WeiPhil
WeiPhil merged commit aadb366 into google:main Sep 16, 2026
9 checks passed
@WeiPhil
WeiPhil deleted the feat/extent-adaptive-clamping branch September 17, 2026 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants