From b02c1f12e5498964151347896956ea01ab7dbbf7 Mon Sep 17 00:00:00 2001 From: jichuanh Date: Fri, 8 May 2026 03:08:54 +0000 Subject: [PATCH] Revert "use RendererCfg as default renderer_cfg in CameraCfg (#5521)" This reverts commit 7b44452e9fa2893522332d70f542f6d232dc8e09. --- .../isaaclab/sensors/camera/camera.py | 3 +- .../isaaclab/sensors/camera/camera_cfg.py | 12 ++----- .../sensors/camera/tiled_camera_cfg.py | 8 ----- .../isaaclab/isaaclab/utils/backend_utils.py | 36 ------------------- 4 files changed, 4 insertions(+), 55 deletions(-) diff --git a/source/isaaclab/isaaclab/sensors/camera/camera.py b/source/isaaclab/isaaclab/sensors/camera/camera.py index c481002e524e..675ee4a7bb7c 100644 --- a/source/isaaclab/isaaclab/sensors/camera/camera.py +++ b/source/isaaclab/isaaclab/sensors/camera/camera.py @@ -113,8 +113,7 @@ def __init__(self, cfg: CameraCfg): # IsaacRtxRendererCfg overrides to flip /isaaclab/render/rtx_sensors. The # flag must be set pre-sim.reset() because SimulationContext.is_rendering # and several env classes read it before the renderer's __init__ runs. - renderer_type = getattr(self.cfg.renderer_cfg, "renderer_type", None) - if renderer_type == "isaac_rtx": + if self.cfg.renderer_cfg.renderer_type == "isaac_rtx": get_settings_manager().set_bool("/isaaclab/render/rtx_sensors", True) # Compute camera orientation (convention conversion) and spawn diff --git a/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py b/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py index 3ecec15d11d3..5ee6cf30b6f6 100644 --- a/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py +++ b/source/isaaclab/isaaclab/sensors/camera/camera_cfg.py @@ -9,6 +9,8 @@ from dataclasses import MISSING, field from typing import TYPE_CHECKING, Literal +from isaaclab_physx.renderers import IsaacRtxRendererCfg + from isaaclab.renderers import RendererCfg from isaaclab.sim import FisheyeCameraCfg, PinholeCameraCfg from isaaclab.utils import configclass @@ -189,7 +191,7 @@ class OffsetCfg: on :attr:`renderer_cfg` instead. """ - renderer_cfg: RendererCfg = field(default_factory=RendererCfg) + renderer_cfg: RendererCfg = field(default_factory=IsaacRtxRendererCfg) """Renderer configuration for camera sensor.""" def __post_init__(self): @@ -199,14 +201,6 @@ def __post_init__(self): :class:`DeprecationWarning` and is copied onto ``self.renderer_cfg`` when that cfg defines the same-named field. """ - # TODO when Camera.__init__ moves rtx_sensor setting out of camera initialization - # the default renderer config instantiation can be moved into the render factory - # and get_default_render_cfg method can be removed from backend_utils - renderer_type = getattr(self.renderer_cfg, "renderer_type", None) - if renderer_type == "default": - from isaaclab.utils.backend_utils import get_default_renderer_cfg - - self.renderer_cfg = get_default_renderer_cfg() # Forwarded by name: any same-named field on ``renderer_cfg`` will receive the value. for field_name, default in _DEPRECATED_RENDERER_FIELD_DEFAULTS.items(): value = getattr(self, field_name) diff --git a/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py b/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py index e200468daa78..d35ff285ff13 100644 --- a/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py +++ b/source/isaaclab/isaaclab/sensors/camera/tiled_camera_cfg.py @@ -27,14 +27,6 @@ class TiledCameraCfg(CameraCfg): class_type: type["TiledCamera"] | str = "{DIR}.tiled_camera:TiledCamera" def __post_init__(self): - # TODO when Camera.__init__ moves rtx_sensor setting out of camera initialization - # the default renderer config instantiation can be moved into the render factory - # and get_default_render_cfg method can be removed from backend_utils - renderer_type = getattr(self.renderer_cfg, "renderer_type", None) - if renderer_type == "default": - from isaaclab.utils.backend_utils import get_default_renderer_cfg - - self.renderer_cfg = get_default_renderer_cfg() warnings.warn( "TiledCameraCfg is deprecated. Use CameraCfg directly — " "Camera now includes TiledCamera's vectorized rendering optimizations.", diff --git a/source/isaaclab/isaaclab/utils/backend_utils.py b/source/isaaclab/isaaclab/utils/backend_utils.py index ddc627171ae1..9f69a66aa04d 100644 --- a/source/isaaclab/isaaclab/utils/backend_utils.py +++ b/source/isaaclab/isaaclab/utils/backend_utils.py @@ -3,48 +3,12 @@ # # SPDX-License-Identifier: BSD-3-Clause -from __future__ import annotations - import importlib import logging -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from isaaclab.renderers.renderer_cfg import RendererCfg logger = logging.getLogger(__name__) -def get_default_renderer_cfg() -> RendererCfg: - """Return the default :class:`~isaaclab.renderers.renderer_cfg.RendererCfg` for cameras. - - Lazily imports :mod:`isaaclab_physx.renderers` and returns a new - :class:`~isaaclab_physx.renderers.IsaacRtxRendererCfg` instance. - - Returns: - A new default Isaac RTX renderer configuration. - - Raises: - ImportError: If :mod:`isaaclab_physx.renderers` cannot be imported or does not - expose ``IsaacRtxRendererCfg``. - """ - try: - renderers_mod = importlib.import_module("isaaclab_physx.renderers") - except ImportError as e: - raise ImportError( - "The default camera renderer configuration requires the optional 'isaaclab_physx' " - "package (import 'isaaclab_physx.renderers'). Install isaaclab_physx or set " - "CameraCfg.renderer_cfg explicitly." - ) from e - try: - default_cls = renderers_mod.IsaacRtxRendererCfg - except AttributeError as e: - raise ImportError( - "Module 'isaaclab_physx.renderers' is available but does not define 'IsaacRtxRendererCfg'." - ) from e - return default_cls() - - class FactoryBase: """A generic factory class that dynamically loads backends."""