OSL reference implementation uses non-standard "sheen" and "metal" closures?
bhouston opened this issue · 1 comments
Thanks for the reference OSL shader. It is quite nice except for one peculiarity.
It makes use of two closures "sheen" and "metal" that are non-standard OSL closures. We should probably state that in the OSL shader.
Maybe one should try to get "sheen" and "metal" accepted as part of the OSL standard shader specification?
They are not listed as part of the official OSL specification:
https://github.com/imageworks/OpenShadingLanguage/blob/master/src/doc/osl-languagespec.pdf
They are not supported by Blender's Cycles OSL:
https://docs.blender.org/manual/en/latest/render/shader_nodes/osl.html
It doesn't appear in the V-Ray's OSL support either:
https://docs.chaosgroup.com/display/VRAY3MAX/OSL+Support
Nor do they seem to be documented as supported by Arnold:
https://docs.arnoldrenderer.com/display/A5ARP/OSL+Shaders
Although I did find a hint they are supported by a version of Arnold according to this PR to MaterialX's Arnold OSL translation node: https://github.com/autodesk-forks/MaterialX/pull/420/files/aea870f3a33744c6f10c8c5e30768e0437beee08
Sorry for the late reply @bhouston, I missed this ticket. Indeed, Standard Surface can't be fully implemented in OSL without implementing the non-standard closures. We hope that (at least some of) those missing closures (or suitable alternatives) will be added to OSL soon, and we are making efforts to make that happen.