Skip to content

Updates quality render settings to reduce ghosting#4562

Merged
kellyguo11 merged 2 commits intoisaac-sim:developfrom
kellyguo11:ghosting-render-settings
Feb 9, 2026
Merged

Updates quality render settings to reduce ghosting#4562
kellyguo11 merged 2 commits intoisaac-sim:developfrom
kellyguo11:ghosting-render-settings

Conversation

@kellyguo11
Copy link
Copy Markdown
Contributor

Description

Updating quality settings with new parameters recommended by the rendering team to help reduce ghosting artifacts. Additionally, there was another setting recommended for interactive path tracing mode that is now added into SimulationContext.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)
  • Documentation update

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 documentation Improvements or additions to documentation isaac-sim Related to Isaac Sim team isaac-lab Related to Isaac Lab team labels Feb 6, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Feb 6, 2026

Greptile Overview

Greptile Summary

  • Updates the quality render-mode preset to enable RT2 adaptive sampling disocclusion controls intended to reduce ghosting/temporal artifacts.
  • Extends SimulationContext to apply an additional carb setting when /rtx/rendermode is PathTracing (interactive path tracing reuse behavior).
  • Adds documentation for mitigating ghosting/disocclusion artifacts by tuning an RTX disocclusion-related carb setting via RenderCfg.carb_settings.

Confidence Score: 3/5

  • This PR is mergeable after fixing two runtime/usage issues in SimulationContext and the new docs example.
  • The rendering preset change is low-risk, but the new SimulationContext logic can raise at runtime if /rtx/rendermode is unset, and the new documentation example uses a carb_settings key format that is incompatible with the existing key-normalization/validation logic (causing a ValueError for users).
  • source/isaaclab/isaaclab/sim/simulation_context.py; docs/source/how-to/configure_rendering.rst

Important Files Changed

Filename Overview
apps/rendering_modes/quality.kit Adds RT2 adaptive sampling disocclusion settings (rtx.rtpt.adaptiveSampling.disocclusion.*) to reduce ghosting/temporal artifacts; change is isolated to preset file.
docs/source/how-to/configure_rendering.rst Adds guidance for disocclusion/ghosting via disocclusionScale; example currently uses a leading-slash carb setting key that will fail RenderCfg.carb_settings validation and should be changed to dot/underscore style.
source/isaaclab/isaaclab/sim/simulation_context.py Adds a PathTracing-specific carb setting for always reusing the light cache; currently calls .lower() on /rtx/rendermode without guarding against None, which can raise at runtime.

Sequence Diagram

sequenceDiagram
    participant UserCode as User code (SimulationCfg/RenderCfg)
    participant SimCtx as SimulationContext
    participant Carb as carb.settings
    participant RTX as RTX renderer

    UserCode->>SimCtx: create SimulationContext(cfg)
    SimCtx->>SimCtx: _apply_render_settings()
    SimCtx->>Carb: get('/rtx/rendermode')
    alt renderMode == RaytracedLighting (case-insensitive)
        SimCtx->>Carb: set_string('/rtx/rendermode','RaytracedLighting')
    end
    alt renderMode == PathTracing (case-insensitive)
        SimCtx->>Carb: set('/rtx/pathtracing/lightcache/cached/alwaysReuse', true)
    end
    UserCode->>SimCtx: optionally pass RenderCfg.carb_settings
    SimCtx->>Carb: validate mapping via get_setting(key)
    SimCtx->>Carb: set_setting(key,value)
    Carb->>RTX: apply settings for rendering
    note over RTX: quality.kit preset enables
    note over RTX: rtx.rtpt.adaptiveSampling.disocclusion.*
    note over UserCode: docs suggest tuning disocclusionScale

Loading

Copy link
Copy Markdown
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.

3 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment thread docs/source/how-to/configure_rendering.rst
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Feb 6, 2026

Additional Comments (1)

source/isaaclab/isaaclab/sim/simulation_context.py
Possible None carb setting
self.carb_settings.get("/rtx/rendermode") can return None (e.g., when render settings are disabled or a different render backend is used), but the new code calls .lower() unconditionally (now twice: RaytracedLighting WAR + PathTracing block). This will raise AttributeError: 'NoneType' object has no attribute 'lower' during _apply_render_settings(). Consider guarding by checking the returned value is a string before calling .lower() (and reusing the normalized value for both checks).

@kellyguo11 kellyguo11 merged commit 88f9932 into isaac-sim:develop Feb 9, 2026
7 of 10 checks passed
daniela-hase pushed a commit to daniela-hase/IsaacLab that referenced this pull request Mar 30, 2026
# Description

Updating quality settings with new parameters recommended by the
rendering team to help reduce ghosting artifacts. Additionally, there
was another setting recommended for interactive path tracing mode that
is now added into SimulationContext.


## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (existing functionality will not work without user
modification)
- Documentation update

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] 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

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team isaac-sim Related to Isaac Sim team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant