Fix anisotropy not working when material is lit by environment map light #20077
+11
−19
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 objects being lit by environment map light not having the anisotropy effect applied correctly. The contribution of light from the environment map with anisotropy is calculated but immediately discarded. Instead what is applied is the regular environment map contribution (calculated without anisotropy) that happen right after.
This patch fixes the logic here to what I think is the intended one. Only calculate contribution once, with or without anisotropy depending on shader specialization.
Solution
Testing
Tested this by running the anisotropy example and comparing main vs PR results. See images below.
Showcase
Main:

PR:
