Skip to content

[Proposal] Reuse authored Newton MPM Points as dynamic render targets #7758

Description

@maxkra15

Proposal

After #7637, Newton MPM spawners author the schema-valid simulation UsdGeom.Points at <asset>/geometry/points. The simulation Points remain invisible, and MPMObject creates a second mutable <asset>/Particles cloud per environment for runtime visualization.

Make the authored simulation Points usable as the dynamic render target across homogeneous and heterogeneous cloned environments. Once that path is proven, remove the duplicate runtime Points prims and their separate registration and synchronization path.

Motivation

The duplicate render cloud is intentionally retained in PR #7637 because cloned or instanced authored Points may share prototype data and may not be independently writable. It preserves current behavior in Kit, Newton GL, and Newton RTX while USD authoring changes.

Long term, one authored Points representation should own both simulation data and visualization. That removes duplicate stage data, avoids a second path-to-particle-range association, and simplifies MPM rendering and synchronization.

Related upstream range addressability: newton-physics/newton#4225.

Alternatives

Keep the separate <asset>/Particles cloud permanently. This is correct today and remains the fallback until every renderer and clone mode passes, but it adds memory and synchronization complexity.

Build Info

Additional context

The migration must not remove the existing visualization path until cloned, deforming Points work in all supported renderers. Surface rendering in the teapot demo must also remain unaffected.

Checklist

  • I have checked that there is no similar issue in the repo (required)

Acceptance Criteria

  • Homogeneous and heterogeneous clones have independently writable authored Points with correct per-environment transforms and particle ranges.
  • Deforming particles render correctly in Newton GL, Newton RTX, and Kit.
  • Particle colors, bound materials, visibility, and update-frequency behavior remain correct.
  • Teapot particle and surface render modes remain correct.
  • The extra <asset>/Particles prim creation, registration, and synchronization path is removed without a startup or frame-time regression.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions