Autodesk / arnold-usd

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

Warning reading USD shader parameters of type unsigned int in the reader #888

Open jhodgson opened 2 years ago

jhodgson commented 2 years ago

Shader parameters of type unsigned int are represented by integer parameters in Houdini, and these are currently translated as integer primitives attributes in usd.

The best way to fix this is to tag the houdini parameters with their usd type using the sidefx::shader_parmtype tag since this will result in the correctly translated usd types. But the Houdini material translation python scripts don't support the Sdf.ValueTypeNames.UInt type (see HTOA-1841) so there is an exception setting the scalar values.

This has been fixed in Houidini after version 18.5.707

jhodgson commented 2 years ago

Shaders with parameters of type unsigned in are in some cases being represented as signed ints in the usd description (HTOA-1839).

Coding Error (secondary thread): in _FailGet at line 570 of /Users/ansono/devel/upstreams/arnold-kook/usd/build/usd-21.08_static_darwin_clang-10.0.1_cxx14/pxr/base/vt/value.cpp -- Attempted to get value of type 'int' from VtValue holding 'unsigned int'

See HTOA-1839 for creating the usd attributes with the correct unsigned type to work around this issue.

Archive.zip

sebastienblor commented 2 years ago

The warning here doesn't come from the shaders, it comes from this in the render settings node custom uint arnold:global:GI_diffuse_samples = 4 which is why it doesn't happen in the procedural since the options aren't translated in that case.

So, GI_diffuse_samples is set as a uint but it's an integer in arnold, I guess this should be changed in the HtoA side ?

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

Issue synced internally to ARNOLD-13289