-
-
Notifications
You must be signed in to change notification settings - Fork 35.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Too dark edges due to new IBL multi-scattering approach #18569
Comments
/ping @elalish |
@silvainSayduck Your scene is washed out. Please use @YorickCobb Can you then tone-map your rendering, too? @elalish If you hack the renderer to render with indirect diffuse lighting only, you will see a dark rim. Can you think of a physical explanation? |
@WestLangley I'm really not sure, but frankly the multiscattering approach in three is pretty hard for me to follow and it definitely gives different results than Filament. Seems likely related to this. The only physical thing I can think of for giving a dark rim would be the geometric shadowing term, but that doesn't seem like it should apply to diffuse light. |
/ping @jsantell |
Hi, Thanks everyone for looking into this! @WestLangley, I've updated my links as you suggested (thanks for looking into my code), and it makes indeed a big difference (and already makes the dark ridges more realistic in my opinion). Here they are again, with the new screenshots I also added the tone mapping to BabylonJS, which now makes the whole scene very dark, I'm not sure if there's something I am not doing that would make this comparison more accurate/useful. |
Related #18669 |
To continue the discussion of #16409, it still seems to me that three.js's new IBL multi-scattering code is yielding too strong dark edges on light fully glossy material.
Maybe this is now something that is acted as acceptable or even an improvement (as the author of the new approach's paper states), but I thought I'd report examples and then have an official decision or start an improvement process if need here.
Here is a demo using the current latest (r113)
![](https://camo.githubusercontent.com/753e8ee27863de91bcfa7006a729cba015fbddcd1f6937a7679e517369d05966/68747470733a2f2f692e696d6775722e636f6d2f48516478486d302e706e67)
Here is the same scene before the IBL multi-scattering update (r104)
![](https://camo.githubusercontent.com/e19632e7dcbb2d913f5b0941f731e9d79f556dc8c1fe01064d5c1ea3323266cf/68747470733a2f2f692e696d6775722e636f6d2f53306e324e6d412e706e67)
And as a reference, here is the same scene (using the same environment map converted to DDS) in BabylonJS
![](https://camo.githubusercontent.com/b3d4e1b91ac88f8c6ac7a3a282780369ea5e4e8c62763644957c0c6f981dc144/68747470733a2f2f692e696d6775722e636f6d2f416830666f43502e706e67)
The text was updated successfully, but these errors were encountered: