Fix car reflections in Outrun by implementing per-bit color masking #13640
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.
Followup to #13636 , implementing the fix for the yellow/blue reflection issue that surfaced after merging that. Just like that one, it's only enabled for Outrun for now, but I'll enable it wider once I gain confidence in it.
See #11358 (comment) for technical details - basically, the PSP can't just mask off the R,G,B and A channels when rendering, it can also mask off individual bits, and Outrun uses this to perform an intricate trick.
We do this masking in the shader. Note: This fix only works on Vulkan, GLES 3+ and desktop GL and D3D11. Not D3D9 and GLES 2.
@thedax :)