feat: Post Processing Improvements + Pre-multiplied alpha (#2142) master
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 - https://www.realtimerendering.com/blog/gpus-prefer-premultiplication/ - https://www.adriancourreges.com/blog/2017/05/09/beware-of-transparent-pixels/ ## Changes: - New `ex.RenderTarget` and `ex.RenderSource` to encapsulate - New `ex.ScreenRenderer` which can draw a RenderSource to the entire screen - Breaking change to how post processing works, requires fragment shaders - Slight Breaking change to the `ex.ColorBlindnessPostProcessor`