isaaclab_ppisp#
Post-render PPISP (Physically Plausible Image Signal Processing) for IsaacLab.
Provides the renderer-backend-agnostic ISP pipeline that converts the renderer’s
HDR scene-linear AOV to LDR RGBA at the end of a render tick. Renderer backends
(IsaacRtxRenderer,
OVRTXRenderer,
NewtonWarpRenderer) compose
PpispPipeline internally when the camera’s
isp_cfg is set.
Classes#
The following classes are part of the public isaaclab_ppisp API.
Configuration for PPISP post-processing. |
|
Post-render PPISP kernel applier. |
- class isaaclab_ppisp.PpispCfg[source]#
Bases:
objectConfiguration for PPISP post-processing.
PPISP inputs are static in IsaacLab. NRE exports store the authoritative values on a USD camera as
ppisp:*attributes. If animated USD attributes are imported, the first authored time sample is used and later samples are ignored.Methods:
- classmethod __new__(*args, **kwargs)#
- class isaaclab_ppisp.PpispPipeline[source]#
Bases:
objectPost-render PPISP kernel applier.
Constructed by renderer backends when
spec.cfg.isp_cfgis set. Owns the normalisedPpispCfgand dispatches the PPISP Warp kernel once per render tick viaapply().One pipeline instance applies to the whole Camera sensor batch. The PPISP Warp kernel takes scalar coefficients, so every cloned view in a tiled batch shares the same ISP configuration — there is no per-view ISP today. Per-view support would require packing the cfg into GPU arrays and indexing by
camera_idinside the kernel.Today only
PpispCfgis accepted; future ISP implementations can either subclass or be selected by cfg type without changes to the backend renderers.Methods:
- __init__(cfg: PpispCfg)[source]#
Initialize the PPISP pipeline.
Normalises
cfgon construction (validates input keys, fills defaults).Cameraalready normalisesisp_cfgbefore passing theCameraRenderSpecto the backend, so renderer backends pass a concrete, resolved config here.- Parameters:
cfg¶ – The PPISP configuration.
- classmethod __new__(*args, **kwargs)#