@@ -93,33 +93,17 @@ def render(self, render_data: Any) -> None:
9393 pass
9494
9595 @abstractmethod
96- def write_output (self , render_data : Any , output_name : str , output_data : torch . Tensor ) -> None :
97- """Write a specific output type to the given buffer .
96+ def read_output (self , render_data : Any , output_name : str , camera_data : Any ) -> None :
97+ """Read a named output from the renderer into the camera data container .
9898
99- Args:
100- render_data: The render data object from :meth:`create_render_data`.
101- output_name: Name of the output (e.g. ``"rgba"``, ``"depth"``).
102- output_data: Pre-allocated tensor to write the output into.
103- """
104- pass
105-
106- @abstractmethod
107- def get_output_info (self , render_data : Any ) -> dict [str , Any ] | None :
108- """Return static metadata collected during rendering.
109-
110- Renderers that produce metadata (e.g. semantic segmentation label
111- mappings) return a dictionary mapping output names to their metadata.
112- The returned dictionary is written once into :attr:`CameraData.info`
113- after the first render and is not queried again.
114-
115- Renderers that do not produce metadata should return ``None``.
99+ Implementations should populate ``camera_data.output[output_name]`` with
100+ rendered data and, when available, other metadata (ex. ``camera_data.info``).
116101
117102 Args:
118103 render_data: The render data object from :meth:`create_render_data`.
119-
120- Returns:
121- A dictionary mapping output names to their metadata, or ``None``
122- if the renderer does not produce metadata.
104+ output_name: Name of the output (e.g. ``"rgba"``, ``"depth"``).
105+ camera_data: The :class:`~isaaclab.sensors.camera.camera_data.CameraData`
106+ instance to populate.
123107 """
124108 pass
125109
0 commit comments