From 3006665954dcf4be1a340490e5308f007fe3b843 Mon Sep 17 00:00:00 2001 From: HuiDong Chen Date: Tue, 16 Jun 2026 20:51:59 +0800 Subject: [PATCH 1/4] draft --- .../test/core/test_rendering_deformable.py | 37 +++++ .../core/test_rendering_deformable_kitless.py | 33 ++++ .../test/rendering_test_utils.py | 147 +++++++++++++++++- 3 files changed, 213 insertions(+), 4 deletions(-) create mode 100644 source/isaaclab_tasks/test/core/test_rendering_deformable.py create mode 100644 source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py diff --git a/source/isaaclab_tasks/test/core/test_rendering_deformable.py b/source/isaaclab_tasks/test/core/test_rendering_deformable.py new file mode 100644 index 00000000000..1ea22167aa0 --- /dev/null +++ b/source/isaaclab_tasks/test/core/test_rendering_deformable.py @@ -0,0 +1,37 @@ +# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md). +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause + +"""Rendering correctness tests for test-local Franka cloth deformable camera setup.""" + +# Launch Isaac Sim Simulator first for kit-based combinations. +from isaaclab.app import AppLauncher + +app_launcher = AppLauncher(headless=True, enable_cameras=True) +simulation_app = app_launcher.app + +from pathlib import Path # noqa: E402 + +import pytest # noqa: E402 +from rendering_test_utils import ( # noqa: E402 + DEFORMABLE_PHYSICS_RENDERER_AOV_COMBINATIONS, + make_attach_comparison_properties_fixture, + make_determinism_fixture, + make_generate_html_report_fixture, + rendering_test_deformable, +) + +pytestmark = pytest.mark.isaacsim_ci + +_COMPARISON_SCORES: list[dict] = [] + +_determinism_fixture = make_determinism_fixture() +_generate_html_report_fixture = make_generate_html_report_fixture(_COMPARISON_SCORES, Path(__file__).stem + ".html") +_attach_comparison_properties_fixture = make_attach_comparison_properties_fixture(_COMPARISON_SCORES) + + +@pytest.mark.parametrize("physics_backend,renderer,data_type", DEFORMABLE_PHYSICS_RENDERER_AOV_COMBINATIONS) +def test_rendering_deformable(physics_backend, renderer, data_type): + """Test Franka cloth deformable rendering correctness.""" + rendering_test_deformable(physics_backend, renderer, data_type, _COMPARISON_SCORES) diff --git a/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py b/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py new file mode 100644 index 00000000000..7e289404bc1 --- /dev/null +++ b/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py @@ -0,0 +1,33 @@ +# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md). +# All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause + +"""Kit-less rendering correctness tests for test-local Franka cloth deformable camera setup.""" + +from pathlib import Path + +import pytest +from rendering_test_utils import ( + DEFORMABLE_KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS, + make_attach_comparison_properties_fixture, + make_determinism_fixture, + make_generate_html_report_fixture, + make_require_ovlibs_install_fixture, + rendering_test_deformable, +) + +pytestmark = pytest.mark.isaacsim_ci + +_COMPARISON_SCORES: list[dict] = [] + +_determinism_fixture = make_determinism_fixture() +_generate_html_report_fixture = make_generate_html_report_fixture(_COMPARISON_SCORES, Path(__file__).stem + ".html") +_attach_comparison_properties_fixture = make_attach_comparison_properties_fixture(_COMPARISON_SCORES) +_require_ovlibs_install_fixture = make_require_ovlibs_install_fixture() + + +@pytest.mark.parametrize("physics_backend,renderer,data_type", DEFORMABLE_KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS) +def test_rendering_deformable_kitless(physics_backend, renderer, data_type): + """Camera output must match golden images for the Franka cloth deformable test setup.""" + rendering_test_deformable(physics_backend, renderer, data_type, _COMPARISON_SCORES) diff --git a/source/isaaclab_tasks/test/rendering_test_utils.py b/source/isaaclab_tasks/test/rendering_test_utils.py index 2e35bc1f0d5..0fa64cdad55 100644 --- a/source/isaaclab_tasks/test/rendering_test_utils.py +++ b/source/isaaclab_tasks/test/rendering_test_utils.py @@ -32,6 +32,8 @@ # needs to be large enough to tolerate minor rendering noise while small enough to catch unexpected changes. MAX_DIFFERENT_PIXELS_PERCENTAGE_BY_ENV_NAME = { "cartpole": 1.0, + # Cloth and soft-body edges show more anti-aliasing noise than rigid cartpole geometry. + "franka_cloth_deformable": 5.0, # Shadow-hand renderings (incl. ``Isaac-Reorient-Cube-Shadow-Camera-Direct``) show up to # ~3.28 % per-pixel diff from anti-aliasing noise along the many finger/cube edges. 5.0 gives # headroom above that without masking real regressions, which the SSIM gate still catches. @@ -87,17 +89,20 @@ def _make_sensor_data_type_params( - physics_backend: str, renderer: str, sensor_data_types: list[str] = None + physics_backend: str, + renderer: str, + sensor_data_types: list[str] | None = None, + extra_marks: tuple[Any, ...] = (), ) -> list[pytest.param]: """Create golden-image parameter entries for every supported output type.""" - sensor_data_types = sensor_data_types or _DEFAULT_SENSOR_DATA_TYPES + sensor_data_types = list(sensor_data_types or _DEFAULT_SENSOR_DATA_TYPES) return [ pytest.param( physics_backend, f"{renderer}_renderer", data_type, id=f"{physics_backend}-{renderer}-{data_type}", - marks=_FLAKY_MARK, + marks=(_FLAKY_MARK, *extra_marks), ) for data_type in sensor_data_types ] @@ -152,6 +157,23 @@ def _make_sensor_data_type_params( ), ] +_NEWTON_WARP_DEFORMABLE_SKIP = pytest.mark.skip( + reason="Newton Warp renderer does not yet deform volume/cloth/MPM/cable meshes." +) +_OVRTX_NEWTON_DEFORMABLE_SKIP = pytest.mark.skip( + reason="OVRTX syncs rigid transforms only; Newton deformable Fabric mesh sync is follow-up work." +) + +DEFORMABLE_PHYSICS_RENDERER_AOV_COMBINATIONS = [ + *_make_sensor_data_type_params("newton", "isaacsim_rtx"), + *_make_sensor_data_type_params("newton", "newton", extra_marks=(_NEWTON_WARP_DEFORMABLE_SKIP,)), +] + +DEFORMABLE_KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS = [ + *_make_sensor_data_type_params("newton", "ovrtx", extra_marks=(_OVRTX_NEWTON_DEFORMABLE_SKIP,)), + *_make_sensor_data_type_params("newton", "newton", extra_marks=(_NEWTON_WARP_DEFORMABLE_SKIP,)), +] + def maybe_save_stage(test_name: str, physics_backend: str, renderer: str, data_type: str) -> None: """If ``ISAAC_LAB_SAVE_STAGES`` is set, dump the current USD stage to that directory.""" @@ -197,7 +219,7 @@ def _redirect_ovrtx_renderer_log_to_stdout(env_cfg: Any) -> None: # manager-based envs scene = getattr(env_cfg, "scene", None) if scene is not None: - for camera_name in ("base_camera", "wrist_camera"): + for camera_name in ("base_camera", "wrist_camera", "tiled_camera"): camera_cfg = getattr(scene, camera_name, None) if camera_cfg is not None: camera_cfgs.append(camera_cfg) @@ -217,6 +239,11 @@ def _physics_preset_name(physics_backend: str) -> str: return "newton_mjwarp" if physics_backend == "newton" else physics_backend +def _physics_preset_name_deformable(physics_backend: str) -> str: + """Map deformable-test physics labels to Hydra preset names.""" + return "newton_mjwarp_vbd" if physics_backend == "newton" else physics_backend + + def _normalize_tensor(tensor: torch.Tensor, data_type: str) -> torch.Tensor: """Convert camera output tensor to [0, 1] float32 for conversion to image.""" normalized = tensor.float() @@ -770,3 +797,115 @@ def rendering_test_dexsuite_kuka( # This invokes camera sensor and renderer cleanup explicitly before pytest teardown, otherwise OV # native code could probably complain about leaks and trigger segmentation fault. env = None + + +def _make_franka_cloth_camera_env_cfg(data_type: str): + """Create a test-local Franka cloth camera env cfg without exposing a production task.""" + import isaaclab.sim as sim_utils + from isaaclab.envs import mdp as env_mdp + from isaaclab.managers import ObservationGroupCfg as ObsGroup + from isaaclab.managers import ObservationTermCfg as ObsTerm + from isaaclab.managers import SceneEntityCfg + from isaaclab.sensors import CameraCfg + from isaaclab.utils.configclass import configclass + + from isaaclab_tasks.core.lift.config.franka_soft.franka_cloth_env_cfg import FrankaClothEnvCfg, FrankaClothSceneCfg + from isaaclab_tasks.utils.presets import MultiBackendRendererCfg + + @configclass + class TestFrankaClothCameraSceneCfg(FrankaClothSceneCfg): + """Franka cloth scene with a test-only camera sensor.""" + + tiled_camera: CameraCfg = CameraCfg( + prim_path="/World/envs/env_.*/Camera", + offset=CameraCfg.OffsetCfg( + pos=(0.85, -0.55, 0.42), + rot=(0.52, 0.18, 0.27, 0.79), + convention="opengl", + ), + data_types=[data_type], + spawn=sim_utils.PinholeCameraCfg(clipping_range=(0.01, 2.5)), + width=100, + height=100, + renderer_cfg=MultiBackendRendererCfg(), + ) + + @configclass + class TestFrankaClothCameraObservationsCfg: + """Image-only observations for the local rendering test env.""" + + @configclass + class PolicyCfg(ObsGroup): + image = ObsTerm( + func=env_mdp.image, + params={"sensor_cfg": SceneEntityCfg("tiled_camera"), "data_type": data_type, "permute": True}, + ) + + def __post_init__(self) -> None: + self.enable_corruption = False + self.concatenate_terms = True + + policy: ObsGroup = PolicyCfg() + + @configclass + class TestFrankaClothCameraEnvCfg(FrankaClothEnvCfg): + """Test-only camera variant of ``Isaac-Lift-Cloth-Franka``.""" + + scene: TestFrankaClothCameraSceneCfg = TestFrankaClothCameraSceneCfg( + num_envs=4, env_spacing=2.5, replicate_physics=True + ) + observations: TestFrankaClothCameraObservationsCfg = TestFrankaClothCameraObservationsCfg() + + def __post_init__(self) -> None: + super().__post_init__() + self.commands.deformable_pose.debug_vis = False + self.events.reset_deformable.params["position_range"] = { + "x": (0.0, 0.0), + "y": (0.0, 0.0), + "z": (0.0, 0.0), + } + + return TestFrankaClothCameraEnvCfg() + + +def rendering_test_deformable( + physics_backend: str, + renderer: str, + data_type: str, + comparison_scores: list[dict], +) -> None: + from isaaclab.envs import ManagerBasedRLEnv + + env_cfg = _make_franka_cloth_camera_env_cfg(data_type) + env_cfg = _apply_overrides_to_env_cfg( + env_cfg, [f"presets={_physics_preset_name_deformable(physics_backend)},{renderer}"] + ) + + env_cfg.scene.num_envs = 4 + + if renderer == "ovrtx_renderer": + _redirect_ovrtx_renderer_log_to_stdout(env_cfg) + + test_name = "franka_cloth_deformable" + env = None + + try: + env = ManagerBasedRLEnv(env_cfg) + + zero_actions = torch.zeros(env.num_envs, env.action_manager.total_action_dim, device=env.device) + for _ in range(500): + env.step(zero_actions) + + maybe_save_stage(test_name, physics_backend, renderer, data_type) + validate_camera_outputs( + test_name, + physics_backend, + renderer, + {data_type: env.scene.sensors["tiled_camera"].data.output[data_type]}, + max_different_pixels_percentage=MAX_DIFFERENT_PIXELS_PERCENTAGE_BY_ENV_NAME[test_name], + comparison_scores=comparison_scores, + ) + finally: + if env is not None: + env.close() + env = None From 11c36b5a9f4705b58531d425d7477910e2530b0c Mon Sep 17 00:00:00 2001 From: HuiDong Chen Date: Tue, 16 Jun 2026 21:28:05 +0800 Subject: [PATCH 2/4] golden images (some are invalid) --- .../newton-isaacsim_rtx_renderer-albedo.png | 3 +++ .../newton-isaacsim_rtx_renderer-depth.png | 3 +++ .../newton-isaacsim_rtx_renderer-rgb.png | 3 +++ .../newton-isaacsim_rtx_renderer-semantic_segmentation.png | 3 +++ ...saacsim_rtx_renderer-simple_shading_constant_diffuse.png | 3 +++ ...ton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png | 3 +++ ...newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png | 3 +++ source/isaaclab_tasks/test/rendering_test_utils.py | 6 +++++- 8 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-albedo.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-depth.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-rgb.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-semantic_segmentation.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-albedo.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-albedo.png new file mode 100644 index 00000000000..d93c0fd4d83 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-albedo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cf8b6985106c77ea8c59e160cfffc1ddf0ee40e409d3f1e077b6ca0282a3e2b +size 3629 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-depth.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-depth.png new file mode 100644 index 00000000000..31c35b63a6d --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-depth.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24e28613d5c02790928e0da3e4bbb7fea8a2523bf9b73f7c77e2605ba703d9dc +size 5479 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-rgb.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-rgb.png new file mode 100644 index 00000000000..12bea11b0b2 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-rgb.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:658e13897f4f4fc957e5d8ca585e9190a52195f214fb296658ae481017a1ab63 +size 54019 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-semantic_segmentation.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-semantic_segmentation.png new file mode 100644 index 00000000000..24c3f318065 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-semantic_segmentation.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f372f30ddd2737c40ce663c9a6614ca9379557fb65ee8d7f97cc91d709caf94d +size 1844 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png new file mode 100644 index 00000000000..0d1c833fca1 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:098e5d450c6162bef4afebde4b5761b563079d1bdaf90687fe1e5dbed932a40b +size 3240 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png new file mode 100644 index 00000000000..09e86c05a8f --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:271356c4d28b126f5530b023e5ad6c7225a771b5a239594ae9e77347e1f96d63 +size 3959 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png new file mode 100644 index 00000000000..b30d057ed61 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cef163377d7e99071a2ccab79ff4792b17d87291a8990d20765adf6d201c8870 +size 9467 diff --git a/source/isaaclab_tasks/test/rendering_test_utils.py b/source/isaaclab_tasks/test/rendering_test_utils.py index 0fa64cdad55..e6b21604065 100644 --- a/source/isaaclab_tasks/test/rendering_test_utils.py +++ b/source/isaaclab_tasks/test/rendering_test_utils.py @@ -892,8 +892,9 @@ def rendering_test_deformable( try: env = ManagerBasedRLEnv(env_cfg) + # After 15 steps, the cloth should have fallen down on top of the cube and deformed. zero_actions = torch.zeros(env.num_envs, env.action_manager.total_action_dim, device=env.device) - for _ in range(500): + for _ in range(15): env.step(zero_actions) maybe_save_stage(test_name, physics_backend, renderer, data_type) @@ -908,4 +909,7 @@ def rendering_test_deformable( finally: if env is not None: env.close() + + # This invokes camera sensor and renderer cleanup explicitly before pytest teardown, otherwise OV + # native code could probably complain about leaks and trigger segmentation fault. env = None From 4488dae85adddaccf63565548a81773e679b4d53 Mon Sep 17 00:00:00 2001 From: HuiDong Chen Date: Tue, 16 Jun 2026 22:11:13 +0800 Subject: [PATCH 3/4] enable ovrtx rendering test (failure expected) --- .../test/core/test_rendering_deformable.py | 4 ++-- .../core/test_rendering_deformable_kitless.py | 4 ++-- .../physx-isaacsim_rtx_renderer-albedo.png | 3 +++ .../physx-isaacsim_rtx_renderer-depth.png | 3 +++ .../physx-isaacsim_rtx_renderer-rgb.png | 3 +++ ...sim_rtx_renderer-semantic_segmentation.png | 3 +++ ...nderer-simple_shading_constant_diffuse.png | 3 +++ ...tx_renderer-simple_shading_diffuse_mdl.png | 3 +++ ...m_rtx_renderer-simple_shading_full_mdl.png | 3 +++ .../test/rendering_test_utils.py | 20 +++---------------- 10 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-albedo.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-depth.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-rgb.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-semantic_segmentation.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png diff --git a/source/isaaclab_tasks/test/core/test_rendering_deformable.py b/source/isaaclab_tasks/test/core/test_rendering_deformable.py index 1ea22167aa0..321a65d87f7 100644 --- a/source/isaaclab_tasks/test/core/test_rendering_deformable.py +++ b/source/isaaclab_tasks/test/core/test_rendering_deformable.py @@ -15,7 +15,7 @@ import pytest # noqa: E402 from rendering_test_utils import ( # noqa: E402 - DEFORMABLE_PHYSICS_RENDERER_AOV_COMBINATIONS, + PHYSICS_RENDERER_AOV_COMBINATIONS, make_attach_comparison_properties_fixture, make_determinism_fixture, make_generate_html_report_fixture, @@ -31,7 +31,7 @@ _attach_comparison_properties_fixture = make_attach_comparison_properties_fixture(_COMPARISON_SCORES) -@pytest.mark.parametrize("physics_backend,renderer,data_type", DEFORMABLE_PHYSICS_RENDERER_AOV_COMBINATIONS) +@pytest.mark.parametrize("physics_backend,renderer,data_type", PHYSICS_RENDERER_AOV_COMBINATIONS) def test_rendering_deformable(physics_backend, renderer, data_type): """Test Franka cloth deformable rendering correctness.""" rendering_test_deformable(physics_backend, renderer, data_type, _COMPARISON_SCORES) diff --git a/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py b/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py index 7e289404bc1..9aa2e4e6124 100644 --- a/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py +++ b/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py @@ -9,7 +9,7 @@ import pytest from rendering_test_utils import ( - DEFORMABLE_KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS, + KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS, make_attach_comparison_properties_fixture, make_determinism_fixture, make_generate_html_report_fixture, @@ -27,7 +27,7 @@ _require_ovlibs_install_fixture = make_require_ovlibs_install_fixture() -@pytest.mark.parametrize("physics_backend,renderer,data_type", DEFORMABLE_KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS) +@pytest.mark.parametrize("physics_backend,renderer,data_type", KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS) def test_rendering_deformable_kitless(physics_backend, renderer, data_type): """Camera output must match golden images for the Franka cloth deformable test setup.""" rendering_test_deformable(physics_backend, renderer, data_type, _COMPARISON_SCORES) diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-albedo.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-albedo.png new file mode 100644 index 00000000000..09d0604b689 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-albedo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47b362a3833757e6ee46c15db11ebd21189e6bd7c30767b88775e7506f1bc883 +size 3421 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-depth.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-depth.png new file mode 100644 index 00000000000..219134a9883 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-depth.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07418291b07213ea6e9acab68d3ad8c0bb1daf4a651069c65177aed88724c59e +size 5470 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-rgb.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-rgb.png new file mode 100644 index 00000000000..a39753c0bc9 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-rgb.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34a63a7c641e9a83db39c5cfb92bdb8121a846875c73e5a887b696154d497f79 +size 54084 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-semantic_segmentation.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-semantic_segmentation.png new file mode 100644 index 00000000000..371dc2d3b42 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-semantic_segmentation.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1090e9f00d5accbc571e38542609442b642264908fec63338024a293f4063d0c +size 1457 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png new file mode 100644 index 00000000000..dd157c0c4ce --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b993ae6b0af314f559ce690f62b6ddf134d372d6cfb0b2323311275cf1f88b7 +size 3239 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png new file mode 100644 index 00000000000..2cec8ce5a4f --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42b0867eea4397d5d97b03586df6c112aae3021ae8f6fea35279c9e579b508e3 +size 3663 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png new file mode 100644 index 00000000000..3091ac6d4c9 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33203fac250e34d766937b61a66c1742c1cda2f83ae061ae2d3d42c4f812a158 +size 9461 diff --git a/source/isaaclab_tasks/test/rendering_test_utils.py b/source/isaaclab_tasks/test/rendering_test_utils.py index e6b21604065..a5fb09e4907 100644 --- a/source/isaaclab_tasks/test/rendering_test_utils.py +++ b/source/isaaclab_tasks/test/rendering_test_utils.py @@ -157,23 +157,6 @@ def _make_sensor_data_type_params( ), ] -_NEWTON_WARP_DEFORMABLE_SKIP = pytest.mark.skip( - reason="Newton Warp renderer does not yet deform volume/cloth/MPM/cable meshes." -) -_OVRTX_NEWTON_DEFORMABLE_SKIP = pytest.mark.skip( - reason="OVRTX syncs rigid transforms only; Newton deformable Fabric mesh sync is follow-up work." -) - -DEFORMABLE_PHYSICS_RENDERER_AOV_COMBINATIONS = [ - *_make_sensor_data_type_params("newton", "isaacsim_rtx"), - *_make_sensor_data_type_params("newton", "newton", extra_marks=(_NEWTON_WARP_DEFORMABLE_SKIP,)), -] - -DEFORMABLE_KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS = [ - *_make_sensor_data_type_params("newton", "ovrtx", extra_marks=(_OVRTX_NEWTON_DEFORMABLE_SKIP,)), - *_make_sensor_data_type_params("newton", "newton", extra_marks=(_NEWTON_WARP_DEFORMABLE_SKIP,)), -] - def maybe_save_stage(test_name: str, physics_backend: str, renderer: str, data_type: str) -> None: """If ``ISAAC_LAB_SAVE_STAGES`` is set, dump the current USD stage to that directory.""" @@ -874,6 +857,9 @@ def rendering_test_deformable( data_type: str, comparison_scores: list[dict], ) -> None: + if physics_backend == "ovphysx": + pytest.skip("ovphysx is not supported yet.") + from isaaclab.envs import ManagerBasedRLEnv env_cfg = _make_franka_cloth_camera_env_cfg(data_type) From 7ac5fb728e0de807e2354d26d845e5dcbb371c67 Mon Sep 17 00:00:00 2001 From: HuiDong Chen Date: Wed, 17 Jun 2026 20:24:58 +0800 Subject: [PATCH 4/4] renaming tests --- .github/workflows/build.yaml | 6 ++++-- ...ng_deformable.py => test_rendering_franka_cloth.py} | 10 +++++----- ...tless.py => test_rendering_franka_cloth_kitless.py} | 10 +++++----- .../newton-isaacsim_rtx_renderer-albedo.png | 0 .../newton-isaacsim_rtx_renderer-depth.png | 0 .../newton-isaacsim_rtx_renderer-rgb.png | 0 ...ton-isaacsim_rtx_renderer-semantic_segmentation.png | 0 ...im_rtx_renderer-simple_shading_constant_diffuse.png | 0 ...saacsim_rtx_renderer-simple_shading_diffuse_mdl.png | 0 ...n-isaacsim_rtx_renderer-simple_shading_full_mdl.png | 0 .../physx-isaacsim_rtx_renderer-albedo.png | 0 .../physx-isaacsim_rtx_renderer-depth.png | 0 .../physx-isaacsim_rtx_renderer-rgb.png | 0 ...ysx-isaacsim_rtx_renderer-semantic_segmentation.png | 0 ...im_rtx_renderer-simple_shading_constant_diffuse.png | 0 ...saacsim_rtx_renderer-simple_shading_diffuse_mdl.png | 0 ...x-isaacsim_rtx_renderer-simple_shading_full_mdl.png | 0 .../franka_cloth/physx-newton_renderer-depth.png | 3 +++ .../franka_cloth/physx-newton_renderer-rgb.png | 3 +++ source/isaaclab_tasks/test/rendering_test_utils.py | 6 +++--- 20 files changed, 23 insertions(+), 15 deletions(-) rename source/isaaclab_tasks/test/core/{test_rendering_deformable.py => test_rendering_franka_cloth.py} (76%) rename source/isaaclab_tasks/test/core/{test_rendering_deformable_kitless.py => test_rendering_franka_cloth_kitless.py} (81%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/newton-isaacsim_rtx_renderer-albedo.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/newton-isaacsim_rtx_renderer-depth.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/newton-isaacsim_rtx_renderer-rgb.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/newton-isaacsim_rtx_renderer-semantic_segmentation.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/physx-isaacsim_rtx_renderer-albedo.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/physx-isaacsim_rtx_renderer-depth.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/physx-isaacsim_rtx_renderer-rgb.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/physx-isaacsim_rtx_renderer-semantic_segmentation.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png (100%) rename source/isaaclab_tasks/test/golden_images/{franka_cloth_deformable => franka_cloth}/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png (100%) create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-depth.png create mode 100644 source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-rgb.png diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5d715d4e294..49079182687 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -683,8 +683,9 @@ jobs: filter-pattern: "isaaclab_tasks" include-files: >- test_rendering_cartpole.py, - test_rendering_dexsuite_kuka_homo.py, test_rendering_dexsuite_kuka_hetero.py, + test_rendering_dexsuite_kuka_homo.py, + test_rendering_franka_cloth.py, test_rendering_registered_tasks.py, test_rendering_shadow_hand.py container-name: isaac-lab-rendering-correctness-test @@ -710,8 +711,9 @@ jobs: extra-pip-packages: "ovrtx ovphysx==0.4.13" include-files: >- test_rendering_cartpole_kitless.py, - test_rendering_dexsuite_kuka_homo_kitless.py, test_rendering_dexsuite_kuka_hetero_kitless.py, + test_rendering_dexsuite_kuka_homo_kitless.py, + test_rendering_franka_cloth_kitless.py, test_rendering_shadow_hand_kitless.py container-name: isaac-lab-rendering-correctness-kitless-test #endregion diff --git a/source/isaaclab_tasks/test/core/test_rendering_deformable.py b/source/isaaclab_tasks/test/core/test_rendering_franka_cloth.py similarity index 76% rename from source/isaaclab_tasks/test/core/test_rendering_deformable.py rename to source/isaaclab_tasks/test/core/test_rendering_franka_cloth.py index 321a65d87f7..6018d6cf1da 100644 --- a/source/isaaclab_tasks/test/core/test_rendering_deformable.py +++ b/source/isaaclab_tasks/test/core/test_rendering_franka_cloth.py @@ -3,7 +3,7 @@ # # SPDX-License-Identifier: BSD-3-Clause -"""Rendering correctness tests for test-local Franka cloth deformable camera setup.""" +"""Rendering correctness tests for test-local Franka cloth camera setup.""" # Launch Isaac Sim Simulator first for kit-based combinations. from isaaclab.app import AppLauncher @@ -19,7 +19,7 @@ make_attach_comparison_properties_fixture, make_determinism_fixture, make_generate_html_report_fixture, - rendering_test_deformable, + rendering_test_franka_cloth, ) pytestmark = pytest.mark.isaacsim_ci @@ -32,6 +32,6 @@ @pytest.mark.parametrize("physics_backend,renderer,data_type", PHYSICS_RENDERER_AOV_COMBINATIONS) -def test_rendering_deformable(physics_backend, renderer, data_type): - """Test Franka cloth deformable rendering correctness.""" - rendering_test_deformable(physics_backend, renderer, data_type, _COMPARISON_SCORES) +def test_rendering_franka_cloth(physics_backend, renderer, data_type): + """Test Franka cloth rendering correctness.""" + rendering_test_franka_cloth(physics_backend, renderer, data_type, _COMPARISON_SCORES) diff --git a/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py b/source/isaaclab_tasks/test/core/test_rendering_franka_cloth_kitless.py similarity index 81% rename from source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py rename to source/isaaclab_tasks/test/core/test_rendering_franka_cloth_kitless.py index 9aa2e4e6124..202a7a95735 100644 --- a/source/isaaclab_tasks/test/core/test_rendering_deformable_kitless.py +++ b/source/isaaclab_tasks/test/core/test_rendering_franka_cloth_kitless.py @@ -3,7 +3,7 @@ # # SPDX-License-Identifier: BSD-3-Clause -"""Kit-less rendering correctness tests for test-local Franka cloth deformable camera setup.""" +"""Kit-less rendering correctness tests for test-local Franka cloth camera setup.""" from pathlib import Path @@ -14,7 +14,7 @@ make_determinism_fixture, make_generate_html_report_fixture, make_require_ovlibs_install_fixture, - rendering_test_deformable, + rendering_test_franka_cloth, ) pytestmark = pytest.mark.isaacsim_ci @@ -28,6 +28,6 @@ @pytest.mark.parametrize("physics_backend,renderer,data_type", KITLESS_PHYSICS_RENDERER_AOV_COMBINATIONS) -def test_rendering_deformable_kitless(physics_backend, renderer, data_type): - """Camera output must match golden images for the Franka cloth deformable test setup.""" - rendering_test_deformable(physics_backend, renderer, data_type, _COMPARISON_SCORES) +def test_rendering_franka_cloth_kitless(physics_backend, renderer, data_type): + """Camera output must match golden images for the Franka cloth test setup.""" + rendering_test_franka_cloth(physics_backend, renderer, data_type, _COMPARISON_SCORES) diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-albedo.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-albedo.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-albedo.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-albedo.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-depth.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-depth.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-depth.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-depth.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-rgb.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-rgb.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-rgb.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-rgb.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-semantic_segmentation.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-semantic_segmentation.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-semantic_segmentation.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-semantic_segmentation.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/newton-isaacsim_rtx_renderer-simple_shading_full_mdl.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-albedo.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-albedo.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-albedo.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-albedo.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-depth.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-depth.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-depth.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-depth.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-rgb.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-rgb.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-rgb.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-rgb.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-semantic_segmentation.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-semantic_segmentation.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-semantic_segmentation.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-semantic_segmentation.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-simple_shading_constant_diffuse.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-simple_shading_diffuse_mdl.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png similarity index 100% rename from source/isaaclab_tasks/test/golden_images/franka_cloth_deformable/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png rename to source/isaaclab_tasks/test/golden_images/franka_cloth/physx-isaacsim_rtx_renderer-simple_shading_full_mdl.png diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-depth.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-depth.png new file mode 100644 index 00000000000..fd7042c7c06 --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-depth.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91fdd257d829f418e6d93ec3e069daca1e34ab3becaf88e6beb6b56107ac44a9 +size 2366 diff --git a/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-rgb.png b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-rgb.png new file mode 100644 index 00000000000..42a72fc0f1b --- /dev/null +++ b/source/isaaclab_tasks/test/golden_images/franka_cloth/physx-newton_renderer-rgb.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2435186fd495f9f68b814b545962c1b81eea5acce8aca9252e697652757f8e12 +size 9962 diff --git a/source/isaaclab_tasks/test/rendering_test_utils.py b/source/isaaclab_tasks/test/rendering_test_utils.py index a5fb09e4907..7412f0c461e 100644 --- a/source/isaaclab_tasks/test/rendering_test_utils.py +++ b/source/isaaclab_tasks/test/rendering_test_utils.py @@ -33,7 +33,7 @@ MAX_DIFFERENT_PIXELS_PERCENTAGE_BY_ENV_NAME = { "cartpole": 1.0, # Cloth and soft-body edges show more anti-aliasing noise than rigid cartpole geometry. - "franka_cloth_deformable": 5.0, + "franka_cloth": 5.0, # Shadow-hand renderings (incl. ``Isaac-Reorient-Cube-Shadow-Camera-Direct``) show up to # ~3.28 % per-pixel diff from anti-aliasing noise along the many finger/cube edges. 5.0 gives # headroom above that without masking real regressions, which the SSIM gate still catches. @@ -851,7 +851,7 @@ def __post_init__(self) -> None: return TestFrankaClothCameraEnvCfg() -def rendering_test_deformable( +def rendering_test_franka_cloth( physics_backend: str, renderer: str, data_type: str, @@ -872,7 +872,7 @@ def rendering_test_deformable( if renderer == "ovrtx_renderer": _redirect_ovrtx_renderer_log_to_stdout(env_cfg) - test_name = "franka_cloth_deformable" + test_name = "franka_cloth" env = None try: