Autodesk / arnold-usd

Arnold components for USD
https://www.arnoldrenderer.com/
Other
236 stars 56 forks source link

Light blocker doesn't work in render delegate #1906

Closed xsisupport closed 3 weeks ago

xsisupport commented 1 month ago

Describe the bug A light blocker that worked with Arnold 7.2.5.2 does not work with Arnold 7.3.1

To Reproduce Load the attached usd file into Houdini and render. No light blocker. If you kick the usd file, you get the light blocker. The debug ass file for the Solaris viewport render shows that the light blocker is not connected to the light.

Simpler setups do work though, so it's something about how this scene is set up.

blocker_regression.zip

autodesk-oss-arnold-bot[bot] commented 1 month ago

Issue synced internally to ARNOLD-15019

cpichard commented 3 weeks ago

I can only reproduce this issue with a cmake build of the render delegate. It seems like the plugInfo.json files are incorrect, the libraries they are pointing too have quotes and are not readable by usd.

cpichard commented 3 weeks ago

I finally managed to reproduce the issue with houdini. The primvar primvars:arnold:shaders sets the light filters to the correct node, howeverprimvars:arnold:filters which overrides the node filters is set to an empty array and clears the value previously set by primvars:arnold:shaders. primvars:arnold:filters is defered to the ProcessConnection function which happens once all the nodes parameters are set.