Skip RTX scene partitioning without spectator-view support - #25
Closed
mataylor-nvidia wants to merge 2 commits into
Closed
Skip RTX scene partitioning without spectator-view support#25mataylor-nvidia wants to merge 2 commits into
mataylor-nvidia wants to merge 2 commits into
Conversation
Per-environment scene partitioning is now on by default, and the Kit viewport relies on /rtx/scenePartitioning/showAllPartitionsByDefault to see partitioned geometry. That RTX setting arrived in Isaac Sim 6.1. Carb settings are schemaless, so the experience files create the key on every runtime and reading it back cannot tell an implementing renderer from one that ignores it. On Isaac Sim 6.0 the viewport camera therefore ended up with no partition token and no spectator fallback, matching no partition and rendering an empty image. Resolve the capability from the Isaac Sim version and leave the stage unpartitioned when the spectator view is requested but unsupported, rather than half-applying the feature. Setting show_all_partitions_by_default=False keeps partitioning on those runtimes, with the viewport bound to one environment.
Record that /rtx/scenePartitioning/showAllPartitionsByDefault needs Isaac Sim 6.1 or newer, and that Isaac Lab skips scene-partition authoring on older releases so the Kit viewport keeps showing every environment.
Owner
Author
|
Superseded: keeping |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Follow-up to isaac-sim#7053. On that branch the Kit viewport renders completely black for any
camera task when running against the Isaac Sim version this repo's
pyproject.tomlpins(
isaacsim==6.0.1.0)._apply_viewport_camera_scene_partitionremoves the viewport camera'somni:scenePartitiontoken whenever
/rtx/scenePartitioning/showAllPartitionsByDefaultreads back as true, relyingon RTX to then show the camera every partition. Carb settings are schemaless, so the experience
files create that key on every runtime and reading it back cannot distinguish a renderer that
implements the spectator view from one that ignores it. The check passes on Isaac Sim 6.0, the
token is stripped, and nothing implements the fallback — so the camera matches no partition and
the viewport renders nothing.
Reproduced with 4 environments and the Isaac RTX renderer:
develop, partitioning onConfirmed against the installed runtime:
/renderer/scenePartitioning/enabledappears inrtx.scenedb.plugin.dllandcarb.scenerenderer-rtx.plugin.dll, while noshowAllPartitionsstring exists in any RTX binary shipped with Isaac Sim 6.0.0-rc.59 (Kit
6312fa25).Changes
show_all_partitions_supported()resolving the capability from the Isaac Sim version(
SHOW_ALL_PARTITIONS_MIN_ISAAC_SIM_VERSION = 6.1).IsaacRtxRenderer.prepare_stagenow skips scene-partition authoring when the spectator viewis requested but unsupported, and logs an actionable warning, rather than half-applying the
feature. The existing visualizer guard then leaves the viewport camera untouched.
Behavior on Isaac Sim 6.1+ is unchanged. Setting
IsaacRtxRendererCfg.global_settings.show_all_partitions_by_default=Falsekeeps per-environmentisolation on older runtimes, with the viewport bound to a single environment.
Trade-off
On Isaac Sim 6.0 this trades tiled-camera partition isolation for a working viewport. Isolation
does work on 6.0 when the spectator view is not requested, so the alternative is to keep
partitioning and have the visualizer fall back to tagging
env_0— a single-environment viewportinstead of an empty one. Happy to switch if that is preferred.
Note on the Isaac Sim pin
isaac-sim#7053 bumps only the CI container to 6.1.0-alpha.50;
pyproject.tomlstill pinsisaacsim[all,extscache]==6.0.1.0. Until those move together, anyone installing from the wheelsrather than the CI image is on a runtime without the spectator view. This change makes that
configuration degrade to the pre-isaac-sim/IsaacLab#7053 behavior instead of an empty viewport.
Type of change
Screenshots
Checklist
pre-commitchecks with./isaaclab.sh --formatsource/<pkg>/changelog.d/for every touched package (do not editCHANGELOG.rstor bumpextension.toml— CI handles that)CONTRIBUTORS.mdor my name already exists thereTesting
test_partitioning_skipped_when_spectator_view_unsupportedfails without the gate andpasses with it;
test_partitioning_kept_without_spectator_view_on_unsupported_runtimecoversthe opt-out path.
Isaac Sim build running them.
source/isaaclab_physx/test/renderers/— 36 passed.test_kit_visualizer_scene_partitioning.py+test_renderers.py— 10 passed.test_partitioning_isolates_rigid_objectfails on Isaac Sim 6.0 both with and without thischange (byte-identical pixel matrix) — the per-instance
PointInstancermarker tokens added inisaac-sim#7053 do not isolate on that runtime either. Untouched here.