Source code for isaaclab.renderers.camera_render_spec
# 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
"""Immutable description of a tiled camera passed to render backends."""
from __future__ import annotations
from dataclasses import dataclass
from isaaclab.sensors.camera.camera_cfg import CameraCfg
[docs]
@dataclass(frozen=True)
class CameraRenderSpec:
"""Stable inputs for :meth:`~isaaclab.renderers.base_renderer.BaseRenderer.create_render_data`.
Backends use this instead of holding a reference to the :class:`~isaaclab.sensors.camera.Camera`
sensor instance, avoiding circular dependencies between sensors and render data.
Args:
cfg: Camera configuration (data types, resolution, filters, etc.).
device: Torch device string (e.g. ``"cuda:0"``) used by GPU annotators and Warp.
num_instances: Number of tiled camera instances (environments).
camera_prim_paths: Absolute USD paths for each environment's camera prim.
view_count: Number of camera prims (must match ``len(camera_prim_paths)``).
camera_path_relative_to_env_0: Camera prim path with ``/World/envs/env_0/`` prefix
stripped; required by OVRTX. Empty string if the first camera is not under env 0.
"""
cfg: CameraCfg
device: str
num_instances: int
camera_prim_paths: tuple[str, ...]
view_count: int
camera_path_relative_to_env_0: str