OpenPBR
OpenPBR copied to clipboard
Specification and reference implementation for the OpenPBR Surface shading model
After some discussion internally (with @ZapAndersson), we feel that the emission controls would be improved if: - we add an `emission_weight` parameter in [0,1], that multiplies the luminance, defaulting to...
As discussed on [Slack](https://academysoftwarefdn.slack.com/archives/C06365EAQMP/p1721304580941849), the spec is currently inconsistent about the range of `specular_weight`. For dielectrics, we allow it to exceed 1, as a sort of convenience. For metals, we...
Then GitHub pages needs to be pointed to the new `/docs` folder.
On testing we noticed that if `specular_weight > 1` and the material is metallic, then there is energy gain, e.g.: | `specular_weight` 1 | `specular_weight` 6 | | ------------- |...
When metal is coated by a dielectric (or a thin film), its Fresnel factor will be modified due to the adjacent dielectric IOR differing from air. Modeling this in OpenPBR...
We describe in the spec a recommendation for implementing the roughening that a coat will generate in the underlying base lobes.  A similar effect should occur for _fuzz_ also...
Clearly a very minor detail, but the reference implementation has [Fuzz before Coat](https://github.com/AcademySoftwareFoundation/OpenPBR/blob/main/reference/open_pbr_surface.mtlx#L50) while the specification has [Coat before Fuzz](https://academysoftwarefoundation.github.io/OpenPBR/#parameterreference) in the parameter reference.
The current way of repeating the `uifolder` string in the `uiname` makes for a very repetitive UI experience:  Suggestion: remove the UI folder prefix to get instead 
Some minor changes are needed to improve the clarity of the wording (around the implementation of the coat details). I discovered these while using the spec myself to implement the...
Based on the interesting discussion in https://github.com/AcademySoftwareFoundation/OpenPBR/issues/149, it seems worth adding this side note: 