Details
Description
The current approach to Post Processing effects is not optimal. The post processing effects in the Effects library are more examples, than Effects that should just be used as is. That is because each Effect used in a chain creates at least 1 additional FBO the size of the View3D where many of the effects should be combined into a single effect with more than 1 pass. This is already supported by the Effects API, but not used in a reasonable way when combining more than 1 Effect to a SceneEnvironment. We should provide a way to create a SceneEnvironment that supports a list of Built-In effects. That way a users just needs to enable a post processing effect and set-up it's properties and we take care of the details of making an Effect with the necessary passes to support the post processing effects required.
The Built-in Effect list should include:
- Tonemapping
- Exposure
- White Point
- Dithering
- Sharpening
- ACES, Filmic, Linear, etc (HDR -> LDR + gamma correction)
- SSAO
- Easy API for current SSAO mid effect
- Color Adjustments
- Brightness
- Contrast
- Saturation
- Color Grading (LUT)
- 3D LUT for color grading
- alpha filter to mix graded vs original
- Glow/Bloom
- Vignette
- Lens Flare
- Auto Exposure
- Change exposure value used to normalize over time
- Fog
- Anti-Aliasing
- FXAA
- Temporal
- (MSAA, SSAA, etc)