AcademySoftwareFoundation / AcademySoftwareFoundation/OpenPBR
Should non-physical tinting affect lower layers?
- Dominant language
- CSS
- Stars
- 793
- Forks
- 44
- PR merge metrics
- No merged PRs in 30d
Description
The spec currently mentions that if `specular_color` is used to affect the color of the specular reflection, he underlying layers (diffuse/SSS/transmission) should be tinted according to the complementary color to preserve energy.
This makes sense from a physical perspective. However, from what I can tell, these parameters are intended for artistic control rather than physically motivated. Therefore, I'd argue that affecting the lower layers is unintuitive and unexpected - for example, if a user wants to achieve a white object with a green specular highlight, they'd need to set the base_color to something like `(0.96, 1.0, 0.96)`. Instead, I'd suggest to scale the lower layer's intensity according to the maximum value across components, in order to preserve energy without tinting it.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the OpenPBR specification passage describing how specular_color affects diffuse, SSS, and transmission layers. Compare the current complementary-color tinting behavior with the proposed maximum-component intensity scaling, then determine the agreed energy-preserving behavior and update the specification accordingly.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100