Skip to content

Conversation

@kellyguo11
Copy link
Contributor

@kellyguo11 kellyguo11 commented Dec 5, 2025

Description

Adapted from #4066 by @matthewtrepte

Introduces new albedo annotator type for Camera and TiledCamera for faster rendering. The faster path will be enabled if only albedo and/or depth/distance_from_camera/distance_from_image_plane annotators are requested. If regular RGB is also requested, we cannot enable the most performant path.

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there
@github-actions github-actions bot added the isaac-lab Related to Isaac Lab team label Dec 5, 2025
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 5, 2025

Greptile Overview

Greptile Summary

This PR introduces a new albedo annotator type for Camera and TiledCamera sensors, enabling faster diffuse albedo and depth rendering in Isaac Sim 6.0+.

  • Added albedo annotator type to Camera and TiledCamera, registered from the DiffuseAlbedoSD AOV
  • Implemented fast rendering path by setting /rtx/sdg/force/disableColorRender when only albedo/depth annotators are requested
  • Added version gating to ensure albedo support is only enabled on Isaac Sim 6.0+, with warning for older versions
  • Disables fast path when GUI is active to prevent black viewport
  • Added new CartpoleAlbedoCameraEnvCfg and registered Isaac-Cartpole-Albedo-Camera-Direct-v0 gym environment
  • Comprehensive test coverage added for both Camera and TiledCamera

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk - it adds a new feature with proper version gating and backward compatibility.
  • The changes are well-structured, properly guarded by version checks, and include comprehensive test coverage. The fast path is correctly disabled when GUI is present. Only minor type hint inconsistency found.
  • No files require special attention.

Important Files Changed

File Analysis

Filename Score Overview
source/isaaclab/isaaclab/sensors/camera/camera.py 5/5 Added albedo annotator support with fast rendering path (disableColorRender) for Isaac Sim 6.0+, version gating for backward compatibility, and proper annotator registration from AOV.
source/isaaclab/isaaclab/sensors/camera/tiled_camera.py 5/5 Added albedo annotator support for TiledCamera with proper buffer allocation and annotator registration from AOV.
source/isaaclab/test/sensors/test_camera.py 5/5 Added albedo to test lists and new dedicated test_camera_resolution_albedo_only test case for Camera class.
source/isaaclab/test/sensors/test_tiled_camera.py 5/5 Added albedo to test lists and new dedicated test_albedo_only_camera test case for TiledCamera class.
source/isaaclab_tasks/isaaclab_tasks/direct/cartpole/cartpole_camera_env.py 4/5 Added CartpoleAlbedoCameraEnvCfg and albedo handling in _get_observations. Type hints on CartpoleCameraEnv class do not include the new CartpoleAlbedoCameraEnvCfg.

Sequence Diagram

sequenceDiagram participant User participant Camera/TiledCamera participant carb_settings participant rep.AnnotatorRegistry participant SimulationContext User->>Camera/TiledCamera: __init__(cfg with albedo) Camera/TiledCamera->>Camera/TiledCamera: get_version() alt Isaac Sim >= 6.0 Camera/TiledCamera->>Camera/TiledCamera: Check if all data_types in fast_types alt Only albedo/depth types Camera/TiledCamera->>carb_settings: set("/rtx/sdg/force/disableColorRender", True) end Camera/TiledCamera->>SimulationContext: has_gui() alt GUI enabled Camera/TiledCamera->>carb_settings: set("/rtx/sdg/force/disableColorRender", False) end else Isaac Sim < 6.0 Camera/TiledCamera->>Camera/TiledCamera: Log warning (albedo not supported) end Note over Camera/TiledCamera: During _initialize_impl Camera/TiledCamera->>rep.AnnotatorRegistry: register_annotator_from_aov("DiffuseAlbedoSD") Camera/TiledCamera->>rep.AnnotatorRegistry: get_annotator("DiffuseAlbedoSD") Note over Camera/TiledCamera: During _update_buffers_impl Camera/TiledCamera->>rep.AnnotatorRegistry: get_data() Camera/TiledCamera->>User: Return albedo data (4 channels, uint8) 
Loading
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Comments (1)

  1. source/isaaclab_tasks/isaaclab_tasks/direct/cartpole/cartpole_camera_env.py, line 113-116 (link)

    style: Type hints should include CartpoleAlbedoCameraEnvCfg for consistency with the new config class.

8 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@kellyguo11 kellyguo11 merged commit 3e16468 into isaac-sim:feature/isaacsim-6-0 Dec 6, 2025
7 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infrastructure isaac-lab Related to Isaac Lab team

1 participant