Hi all,
I have read the description of UsdGeomMesh, but it is not very clear. Under what conditions is the normal of the Mesh smooth and under what conditions is it linear? Is there an API that can directly obtain the smooth normal?
Thanks
Hi all,
I have read the description of UsdGeomMesh, but it is not very clear. Under what conditions is the normal of the Mesh smooth and under what conditions is it linear? Is there an API that can directly obtain the smooth normal?
Thanks
They key attribute to consider is subdivisionScheme
.
If it’s set to loop
or catmullClark
, the normals are generally smooth, but may be sharpened by the presence of corner and crease attributes.
If it’s set to bilinear
, points are linearly interpolated when subdivided and the normals are generally not smooth (face normals).
If the scheme is set to none
, no subdivision is applied and the primvars:normals
or normals
attributes explicitly specify the surface normal. These attributes have an interpolation
field which specifies whether or not that the normals are per face (uniform
), per point (varying
or vertex
), or per face vertex (faceVarying
).
If the scheme is set to none
and no attributes are specified, the fallback behavior is generally face (ie. unsmoothed) normals.