Turn off OVRTX shadows by default - #7454
Conversation
Add OVRTXRendererCfg.enable_shadows, defaulting to False, and author it on the OVRTX render product as omni:rtx:shadows:enabled for the path-traced render modes and omni:rtx:minimal:castShadows for the simple_shading_* data types, so the toggle covers every render mode the renderer selects.
Greptile SummaryAdds an
Confidence Score: 5/5The PR appears safe to merge with no actionable correctness or security issues identified. The new configuration is propagated through both runtime construction paths, the generated USD consistently authors both mode-specific values, and repository callers remain compatible. Important Files Changed
Reviews (1): Last reviewed commit: "Turn off OVRTX shadows by default" | Re-trigger Greptile |
There was a problem hiding this comment.
Isaac Lab Review Bot
The change adds OVRTXRendererCfg.enable_shadows, defaulting to False, and threads it through both renderer initialization paths to author the path-traced and RTX Minimal shadow settings on the render product.
- Design and architecture: Keeping the policy toggle in the OVRTX-specific configuration and translating it into renderer-specific USD attributes in the render-scope builder is consistent with the existing separation. Authoring both mode-specific attributes makes behavior independent of the selected render mode.
- API: The new builder parameters are trailing and defaulted, preserving existing caller compatibility. The user-visible default change and the
OVRTXRendererCfg(enable_shadows=True)migration path are documented in the package changelog and field docstring. - Implementation: Both legacy and ovstage initialization paths forward the configuration value, and focused tests cover the default and opt-in USD output. The remaining non-blocking risk is runtime effectiveness: the PR reports that pinned
ovrtx==0.4.1.364340produces identical pixels for both values, so this currently establishes authored intent rather than demonstrated rendered-shadow behavior.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
Only RTX Minimal mode exposes a shadow switch. Author omni:rtx:minimal:castShadows there and drop omni:rtx:shadows:enabled: the setting name resolves and authors without error, but no path-tracing backend reads it, so authoring it advertised a control that does nothing.
Description
Turns off shadows by default for the OVRTX renderer, in the one render mode that can turn them off.
OVRTXRendererCfggainsenable_shadows, defaulting toFalse. When the render product is in RTXMinimal mode it authors
omni:rtx:minimal:castShadowsaccordingly. Minimal mode is what thesimple_shading_constant_diffuse,simple_shading_diffuse_mdlandsimple_shading_full_mdldatatypes select, so those are the outputs this affects. Opt back in with
OVRTXRendererCfg(enable_shadows=True).Screenshots
simple_shading_full_mdl, kit-less Newton scene, 640×480, single distant light at 45°, renderedthrough the unmodified
Camera/OVRTXRendererCfgpath.enable_shadows=Trueenable_shadows=False(new default)The pillar and sphere shadows are gone in the right-hand frame (
mean abs diff 1.49,max 116,1.3% of pixels differing by more than
8/255).Why the path-traced modes are not covered
RTPT and PathTracing provide no shadow switch — they always trace shadows.
omni:rtx:shadows:enabledexists as a setting name and authors onto the render product without error, but it only feeds
renderConfig.shadows, which no path-tracing backend reads. It is inert in every OVRTX mode.An earlier revision of this PR authored it alongside
castShadows; that has been removed rather thanleft in place advertising a control that does nothing.
enable_shadowstherefore does not changergbor the other AOV outputs, and the config docstring says so.Testing
source/isaaclab_ov/test/test_ovrtx_usd.py— covers the authored attribute in Minimal mode, andthat neither shadow setting is authored for the path-traced modes.
test_rendering_lift_kuka_homo_kitless[legacy-newton-ovrtx-simple_shading_full_mdl]and[legacy-newton-ovrtx_renderer-static]both pass against their existing golden images.Type of change
Checklist
pre-commitchecks with./isaaclab.sh --formatsource/<pkg>/changelog.d/for every touched packageCONTRIBUTORS.mdor my name already exists there