feat: Post Processing Improvements + Pre-multiplied alpha #2142
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.
===:clipboard: PR Checklist :clipboard:===
==================
Related to v26 roadmap
This PR re-implements post processing using webgl fragment shaders, it is MUCH faster this way. The method of action for this PR uses framebuffers which are encapsulated by
ex.RenderTarget
which will capture all draw calls and redirect them to a framebuffer texture. This change also requires Excalibur support pre-multiplied alpha because all things end up pre-multiplied in the gpu.Great articles on premultiplied
Changes:
ex.RenderTarget
andex.RenderSource
to encapsulateex.ScreenRenderer
which can draw a RenderSource to the entire screenex.ColorBlindnessPostProcessor