appleseed icon indicating copy to clipboard operation
appleseed copied to clipboard

Hazy gloss implementation based on GGX to replace usage of STD distribution

Open rbrune opened this issue 5 years ago • 0 comments

Fixes #2329

based on "A Composite BRDF Model for Hazy Gloss" by P. Barla, R. Pacanowski and P. Vangorp Eurographics Symposium on Rendering 2018 https://hal.inria.fr/hal-01818666v2/document

To implement the hazy gloss I added an as_hazy_gloss.h OSL header with functions to map the hazy gloss parametrization to two GGX lobes. Since this is a rather big change to the as_standard_surface I also introduced an as_standard_surface_next which could be used to develop and test new features before we later on replace the original as_standard_surface or introduce versioned versions (as_standard_surface_v1/2/x).

While I'm confident that the mapping for gloss and metal are correct I'm not sure if it works correctly for glass.

no hazy gloss 01 - hazy gloss

haziness 0.1, haze extent 0.6 03 - hazy gloss

no hazy metal 04 - hazy metal

haziness 0.99, haze extent 0.7 06 - hazy metal

no hazy glass 07 - hazy glass

haziness 0.1, haze extent 0.5 08 - hazy glass

rbrune avatar Feb 13 '19 21:02 rbrune