AcademySoftwareFoundation / OpenPBR

Specification and reference implementation for the OpenPBR Surface shading model
Apache License 2.0
401 stars 17 forks source link

Proposal: Fuzz/sheen can darken as well as lighten #176

Open sharktacos opened 2 months ago

sharktacos commented 2 months ago

I’d like to propose that it would be nice if the fuzz/sheen parameter was able to darken as well as lighten. Many surface appearances such as nylon stockings, denim jeans, and silk all appear darker on the glancing angle rather than lighter.

Offering this as a topic for discussion.

peterkutz commented 2 months ago

Hi @sharktacos , I agree that being able to make dark fuzz would be very useful. I also raised this concern a while back and we actually already included this capability in the spec.

Currently the spec only mentions this indirectly as part of the math and this statement:

The microflake fibers are assumed to have a single-scattering albedo that effectively produces a reflection tinted with the fuzz_color after multiple scattering.

For this issue, I would suggest that we add a sentence to the spec to explicitly say that you can make dark fuzz as well as light fuzz.

sharktacos commented 1 month ago

Echoing @peterkutz I have tested, darkening with fuzz in the web viewer, and indeed it works splendidly. So it would simply be a matter of noting this existing feature in the documentation.

portsmouth commented 1 month ago

Just to note, I think it's arguably a slight defect of the Zeltner model that it doesn't explicitly model the color of the fuzz, i.e. one has to add it "artifically" as an overall tint. So it can't really be said to actually model the multiple scattering between colored fibres.

Also it seems arbitrary to me that the optical depth was fixed at 1. So room for improvement..