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…
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.
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.
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
Should the SSS type menu (Random Walk, etc) be left outside the subsurface panel? does it affect anything except subsurface?
No, it would be good to put those options (or enums as Brecht…
I just fixed it in main by using if (do_multiscatter != 0.0)
. But yes would be much better if the parameter is bool
.