update_scene#

NyxPyRenderer.update_scene(env_index)[source]#

Sync one Genesis environment’s state to the Nyx GPU buffers.

Per-frame entry point. Pulls the current rigid-body transforms, deformable vertex positions, and (when no Nyx sensor is registered) Genesis camera poses for the selected env, copies them into the pre-allocated CUDA tensors, hands their pointers to Nyx via BridgeUpdateData, and selects the environment map slot.

MPM-recon entities also get their per-frame surface reconstruction run here: particles are pulled to the CPU, meshed via genesis.utils.particle.particles_to_mesh(), and the resulting vertices + remapped indices are streamed into the shared deformable buffer along with a per-entity active-triangle count.

Parameters:

env_index (int) – Which parallel Genesis environment to render. Must be in [0, n_envs).

Notes

Z-up (Genesis) to Y-up (Nyx) conversion for per-frame transforms is deferred to the Nyx GPU shaders; the tensors uploaded here remain in Genesis-native coordinates with WXYZ quaternions.