OpenPBR
OpenPBR copied to clipboard
Specification and reference implementation for the OpenPBR Surface shading model
Throwing out for discussion the idea of having two specular roughness sliders mixed by a lerp (typically using a mask texture for the mix), similar to Megascans materials in Unreal....
The soft min and max of that parameter are between 9.0 and 91.0, yet the default value is 0.0. I would have expected the default value to sit between the...
Rather than eliminating the `specular_weight` > 1 case (as proposed in #228), we discussed keeping this but fixing up the metal logic to ensure the Fresnel remains bounded. This makes...
Implements the change described in https://github.com/AcademySoftwareFoundation/OpenPBR/issues/229.  
Add section describing the "recommended logic needed to determine which of the parameters can be disabled". This describes the parameters which can safely be disabled (e.g. their UI element greyed...
Updating images to use the new shaderball, and adding some new images. Also indenting the anisotropy diagram to make it less distracting. 
In OpenPBR's thin walled mode, we describe the behavior of the base dielectric as follows: >The translucent-base slab can be considered an infinitesimally thin sheet of dielectric (absorbing but non-scattering),...
In the spec we say: >The fuzz shading normal is assumed to inherit from that of the substrate layer, the physical picture being that the fuzz volume settles and conforms...
This effect described in the spec, which makes the absorption color of the coat more "contrasty" is missing from the MaterialX implementation.  The Arnold implementation for reference looks as...
For reference, the issue with the coat darkening was this color shift that can happen in the presence of a strong coat color: I came up with this restatement of...