Current usdKatana flattens face-varying primvars during import, meaning there will be a unique value for each face-vertex.
This causes few issues:
Potentially increased memory usage in the scenegraph. Face-varying representation can save memory when values are shared between vertices.
Increased memory usage when rendering with KtoA. Arnold requires indices for face-varying values all the time, so KtoA needs to generate an index list for these values.
When subdividing with Arnold, the subdivision code is not able detect shared UVs, so the subdiv_uv_smoothing value (that supports pinning uvs to vertices, edges etc.) is working incorrectly compared to Alembic.
Here is a screenshow showing the difference between a mesh imported from usd vs alembic, and when uv pinning is enabled for subdivision and rendered using KtoA. Left is usd, right is alembic.
Current usdKatana flattens face-varying primvars during import, meaning there will be a unique value for each face-vertex.
This causes few issues:
Here is a screenshow showing the difference between a mesh imported from usd vs alembic, and when uv pinning is enabled for subdivision and rendered using KtoA. Left is usd, right is alembic.
Originally reported in: https://community.foundry.com/discuss/post/1195106/content/121275 .