Autodesk / arnold-usd

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

Hydra test_0037: Face varying normals not being read in hydra #1661

Closed sebastienblor closed 4 months ago

sebastienblor commented 1 year ago

Test scene from test_0037 has face varying normals set as "primvars:normals". But they seem to be skipped by Hydra when we loop through the primvars and so they don't show up in the render

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

Issue synced internally to ARNOLD-14049

cpichard commented 5 months ago

I had a quickl debug session and the normals are not passed to the render delegate.

The mesh /pPlatonic1/pPlatonicShape1 has a subdivisionScheme set to catmullClark, and according to the doc in https://openusd.org/docs/api/class_usd_geom_mesh.html (a not about normals)

Normals should not be authored on a subdivision mesh, since subdivision algorithms define their own normals. They should only be authored for polygonal meshes (subdivisionScheme = "none").

I guess this is the reason why the normals are not passed over.

sebastienblor commented 5 months ago

interesting, we can modify the test and set subdivisionScheme = "none". It won't fix the underlying problem though.

In the procedural side, since primvars:arnold:subdiv_iterations is not set, we are considering that subdiv is disabled (because that's the default behaviour in arnold)