How to generate custom AOV rendering buffer

Operating System:
Windows

Kit Version:
109 (Kit App Template)

Kit Template:

IssacWarehouse_Houdini.usd_rop_AOVs_spec_fails.usda.txt (114.3 KB)

IssacWarehouse_Houdini.usd_rop_AOVs_works.usda.txt (113.8 KB)

USD Composer

GPU Hardware:
40 series

GPU Driver:
580.97

Work Flow:

I am trying to create my own AOV for specular. I started with the provided sample asset IssacWarehouse.usd. I modified the stage in Houdini to add my own RenderVars RenderProduct node. This works with the expected AOVs provided in USD Composer. But can I apply my own? I got the information on creating the specular from a LLM and reading other documents but seem to be hitting a wall with getting custom render AOV success out of USD Composer.

Main Issue:
I modify my USD stage in Houdini and add a specular but it fails to render using Path Tracer.

Reproduction Steps:
My stage works properly in USD Composer Path Tracer when rendering standard render vars but fails when I add my own Specular AOV as follows:
def Scope “Render”
{
def Scope “Vars”
{
def RenderVar “PtSpecular”
{
token dataType = “color3f”
custom int driver:parameters:aov:clearValue = 0
custom token driver:parameters:aov:format = “float”
custom bool driver:parameters:aov:multiSampled = 0
custom string driver:parameters:aov:name = “rendervar_spec”
string sourceName = “lpe:C.*S”
token sourceType = “lpe”
}
}
}

I am attaching my Houdini scene and USD files which work and do not. If anyone can please let me know if adding custom AOVs this way is possible and how to fix it if so. Thanks.

Error Code:
2026-01-05T18:52:52Z [4,371,424ms] [Warning] [omni.usd] Coding Error: in _IsValidPathForCreatingPrim at line 3720 of C:\g\207190794\USD\pxr\usd\usd\stage.cpp – Path must be an absolute path: <>

2026-01-05T18:52:52Z [4,371,424ms] [Warning] [omni.usd] Coding Error: in SetTargets at line 152 of C:\g\207190794\USD\pxr\usd\usd\relationship.cpp – Cannot set target <> on relationship </Render/RenderView.orderedVars>: Cannot map <> to layer @D:sandbox/nvidia_omniverse/Showcases_Content_NVD@10011/Samples/Showcases/2023_1/IsaacWarehouse/IssacWarehouse_Houdini.usd_rop_AOVs_spec.usda@ via stage’s EditTarget

2026-01-05T18:52:52Z [4,371,426ms] [Warning] [omni.usd] Coding Error: in _IsValidPathForCreatingPrim at line 3720 of C:\g\207190794\USD\pxr\usd\usd\stage.cpp – Path must be an absolute path: <>

2026-01-05T18:52:52Z [4,371,426ms] [Warning] [omni.usd] Coding Error: in SetTargets at line 152 of C:\g\207190794\USD\pxr\usd\usd\relationship.cpp – Cannot set target <> on relationship </Render/RenderView.orderedVars>: Cannot map <> to layer @D:sandbox/nvidia_omniverse/Showcases_Content_NVD@10011/Samples/Showcases/2023_1/IsaacWarehouse/IssacWarehouse_Houdini.usd_rop_AOVs_spec.usda@ via stage’s EditTarget

2026-01-05T18:52:53Z [4,371,586ms] [Warning] [omni.usd] Coding Error: in _IsValidPathForCreatingPrim at line 3720 of C:\g\207190794\USD\pxr\usd\usd\stage.cpp – Path must be an absolute path: <>

2026-01-05T18:52:53Z [4,371,586ms] [Warning] [omni.usd] Coding Error: in SetTargets at line 152 of C:\g\207190794\USD\pxr\usd\usd\relationship.cpp – Cannot set target <> on relationship </Render/RenderView.orderedVars>: Cannot map <> to layer @D:sandbox/nvidia_omniverse/Showcases_Content_NVD@10011/Samples/Showcases/2023_1/IsaacWarehouse/IssacWarehouse_Houdini.usd_rop_AOVs_spec.usda@ via stage’s EditTarget

2026-01-05T18:52:53Z [4,371,588ms] [Warning] [omni.usd] Coding Error: in _IsValidPathForCreatingPrim at line 3720 of C:\g\207190794\USD\pxr\usd\usd\stage.cpp – Path must be an absolute path: <>

2026-01-05T18:52:53Z [4,371,588ms] [Warning] [omni.usd] Coding Error: in SetTargets at line 152 of C:\g\207190794\USD\pxr\usd\usd\relationship.cpp – Cannot set target <> on relationship </Render/RenderView.orderedVars>: Cannot map <> to layer @D:sandbox/nvidia_omniverse/Showcases_Content_NVD@10011/Samples/Showcases/2023_1/IsaacWarehouse/IssacWarehouse_Houdini.usd_rop_AOVs_spec.usda@ via stage’s EditTarget

2026-01-05T18:52:53Z [4,371,590ms] [Warning] [omni.usd] Coding Error: in _IsValidPathForCreatingPrim at line 3720 of C:\g\207190794\USD\pxr\usd\usd\stage.cpp – Path must be an absolute path: <>

2026-01-05T18:52:53Z [4,371,590ms] [Warning] [omni.usd] Coding Error: in SetTargets at line 152 of C:\g\207190794\USD\pxr\usd\usd\relationship.cpp – Cannot set target <> on relationship </Render/RenderView.orderedVars>: Cannot map <> to layer @D:sandbox/nvidia_omniverse/Showcases_Content_NVD@10011/Samples/Showcases/2023_1/IsaacWarehouse/IssacWarehouse_Houdini.usd_rop_AOVs_spec.usda@ via stage’s EditTarget

2026-01-05T18:52:54Z [4,372,806ms] [Warning] [omni.kit.viewport.utility] is_hdr ignored when render_product_path is provided

Hi there and thanks for posting. Currently we do not support custom AOVs. We only support the list of AOVs we currently have available. Light Path Expressions are currently not supported, but we are aiming to support them this year. I am pretty sure that we already support basic specular. Can you tell me what you are trying to achieve?

Hi @Richard3D, thank you for your response.

Are there any goal release dates tentatively set forth for LPE in USD Composer?

While I am unable to disclose goals for LPE, I can say I am looking to compare various USD scenes to review the different AOV outputs so roughness and specular are of interest.

Out of the available AOVs, which would best replicate roughness or specular pass?

These appear to be the default Render View AOVs that USD Composer creates, please confirm that is correct:

/Render/Vars/hdrColor
/Render/Vars/ldrColor
/Render/Vars/PtPreDenoisedResult
/Render/Vars/PtBackground
/Render/Vars/PtDirectlllumation
/Render/Vars/PtDiffuseFilter
/Render/Vars/PtGlobalIllumination
/Render/Vars/Ptllluminance
/Render/Vars/PtLuminance
/Render/Vars/PtMotion
/Render/Vars/PtMultiMatteO
/Render/Vars/PtMultiMatte1
/Render/Vars/PtMultiMatte2
/Render/Vars/PtMultiMatte3
/Render/Vars/PtMultiMatte4
/Render/Vars/PtMultiMatte5
/Render/Vars/PtMultiMatte6
/Render/Vars/PtMultiMatte7
/Render/Vars/PtReflections
/Render/Vars/PtReflectionFilter
/Render/Vars/PtRefractions
/Render/Vars/PtRefractionFilter
/Render/Vars/PtSubsurfaceScattering
/Render/Vars/PtSubsurfaceFilter
/Render/Vars/PtSelflllumination
/Render/Vars/PtViewNormal
/Render/Vars/PtVolumes
/Render/Vars/PtWorldNormal
/Render/Vars/PtWorldPos
/Render/Vars/PtZDepth

aovs = [“hdrColor”,
“ldrColor”,
“PtPreDenoisedResult”,
“PtBackground”,
“PtDirectlllumation”,
“PtDiffuseFilter”,
“PtGlobalIllumination”,
“Ptllluminance”,
“PtLuminance”,
“PtMotion”,
“PtMultiMatteO”,
“PtMultiMatte1”,
“PtMultiMatte2”,
“PtMultiMatte3”,
“PtMultiMatte4”,
“PtMultiMatte5”,
“PtMultiMatte6”,
“PtMultiMatte7”,
“PtReflections”,
“PtReflectionFilter”,
“PtRefractions”,
“PtRefractionFilter”,
“PtSubsurfaceScattering”,
“PtSubsurfaceFilter”,
“PtSelflllumination”,
“PtViewNormal”,
“PtVolumes”,
“PtWorldNormal”,
“PtWorldPos”,
“PtZDepth”]

Does the PtMultiMatte* AOVs provide some other modifyable instance of a rougness or specular pass?

Thanks,
-David.

Just curious but why specifically specular and roughness? Are you actually doing SDG (synthetic data generation) or some kind of scientific evaluation? Or is this a VFX workflow? We provide a lot of AOVs to be able to rebuild the image perfectly with various layers. However, I do not see a specific one for roughness or specular, at this time.

I do not have a date for LPEs in OV yet, I am sorry.

@Richard3d I am unable to share the why but I sure do appreciate your quick and informative response. Thank you most kindly and have a grand weekend!

Ok good luck

1 Like