Open brechtvl opened 1 year ago
Thank you for pointing this out.
We could describe that the fuzz uses the normal of the layer underneath. In the case of partial coverage, that would be a blend of two fuzz lobes using normal from the base and coat layers. It would be expensive to evaluate, but implementations could approximate by "blending" normals.
Pushed a PR for this: https://github.com/AcademySoftwareFoundation/OpenPBR/pull/117
Can be closed, addressed in https://github.com/AcademySoftwareFoundation/OpenPBR/pull/117
Coat uses
geometry_coat_normal
, while other layers including fuzz usegeometry_normal
. Now that fuzz is on top of coat, this may no longer be correct.Consider a material with a bumpy base layer, and a smooth coat layer on top that fills in the bumps. The fuzz should then have a smooth normal as well?
A solution could be to blend
geometry_normal
andgeometry_coat_normal
withcoat_weight
, and use that as the fuzz normal?