Various fixes for transmittance effect #93448
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #88083
Fixes: #73946
Use correct shadow sampling for omni and spot lights. We changed how shadow maps were sampled in #51335, but we forgot to update the code for transmittance, so it was sampling from the totally wrong position. This resulted in the bug reported in #88083
Disable transmittance if shadows are disabled. Transmittance requires reading from the shadow map. It used to be calculated at the same time as shadows but was moved in #45023. It has been broken ever since. I noticed this while working on something unrelated.
Correct DirectionalLight transmittance bias to match shadow bias (its still pretty sensitive though). The calculation of bias was updated in #51025 but it wasn't updated for Transmittance. The result is that the default bias is way too large. Users need to manually adjust bias to a tiny amount for it to work at all.
before
after