Merge final outline render into composite step in order to fix blending #1629
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.
Previously, blending was done in linear space between the outline layer but then in gamma space with the color target. This led to bad blend color & some artifacts:
Before:
After:
The way I solved this makes things a slightly more messy as the composite now needs to know some internals of outlines, but is almost certainly faster (haven't measured) and the easiest & quickest way at hand to solve the issue!
I hesitated at first, but I think now that we should stick with the "uber postprocessing shader" as long as we can: It makes it trivial to get an overview of what we're compositing, it won't get any faster and if we keep some internal separation it's not that messy.
Related to #1614 - the broken blending looked bad and makes it harder to tweak
Checklist