I rewrote EEVEE principled BSDF #111754, and adjusted the part in this pull request so that it uses coat IOR instead of the default 1.5 in the merge commit 445464e5f2999a727d0795b05e0519b73a75b09…
Okay, I've submitted the fix as #112213. With that applied, the issue is solved from what I can tell.
There's still a mismatch between Cycles SVM, Cycles OSL, and EEVEE.
When the coat IOR is below or at 1.0, all three behave differently.
- Cycles SVM behaves like IOR is 1.0 and there…
I am perhaps discovering a bug in the proposed re-implementation. It is not obvious on first read, but there are actually and unfortunately two variables exactly called pdf in the current…
For now, I guess it's fine to keep this fixed as 1. We could expose it as a socket later on.
Yes, that sounds VERY plausible. Thanks for checking!
I guess the proper fix would be to restructure the loop here into (pseudocode):
while True:
handle closure
do:
if stack is…
I committed a fix.
Great, thanks!
The test now passes, there is still small discrepancy, I assume this is expected because there is clearcoat on top of it? It already looks a bit…
I'd rather have this alpha change committed when there is an optimization for it, since we don't need it yet. I would like to avoid a performance regression here, and the solution for this to me…