The EEVEE tests weren’t updated before the patch, they have some problems on Mac and look very foggy.
Should clarify that 1 doubles the reflectivity at normal incidence, as suggested in the pull request
Should be something like “Tint of dielectric reflection at normal incidence or metallic reflection at near-grazing incidence”.
Maybe “Adjust the specular reflectivity by modulating the IOR (0.5 means no adjustment, 0 removes all reflections, 1 doubles the reflectivity at normal incidence)”?
OpenPBR does combine them
Indeed, they say “We assume that specular_ior (including any modulation via specular_ior_level as in equation ) defines n”
I don’t really like this approach…
The pull request is now ready for review, with two TODOs that I probably have no time nor effort to finish. A few comments:
- The multiscatter saturation logic of glass in EEVEE is copied from…
Does this metallic tint belong in the specular panel? In my pull request #112192 I was not sure if the specular tint should affect the metal edge color, because I think the metallic tint should go to the metallic panel. I don't think we should put both in the same panel.
We should add a reference to the formula. I guess Fresnel and Schlick is well-known enough so people know how to search for them, but this F82 is not.
If this is not implemented yet I would suggest to add a TODO in the metallic block.
A specular value of 0 giving a diffuse material does sound more intuitive to me than the current approach. But I agree with Alaska that if transparent materials should not make use of the specular input, then we also shouldn't let the specular input affect the transparent IOR. We can adjust the specular IOR locally in its own block.
This description is incorrect. A value of 1 doubles the reflectance only at normal incidence
Don't move F0_from_ior()
to here because