Post-Processing FX v2.0


Post-Processing FX v2.0

After a long hard work, I'm happy to announce the most awaited update of the year, version 2.0, major release of Post-Processing FX!

Please read carefully what has been changed as it will cause syntax errors if you have already added it to your game and want to use the new version. The changes were necessary for the improvement of the product. You can replace any code with CTRL + SHIFT + F.

This update brings HTML5 compatibility. Post-Processing FX is now finally cross-platform. Several internal modifications were made, focusing on performance, quality, flexibility and documentation (Feather). Also new effects added. More on the documentation will be coming soon.




[ADDED] HTML5 target compatibility. Post-Processing FX is now finally Cross-Platform
[ADDED] Area Masks! This is a new feature that allows you to draw masks using sprites and post-processing (example included)
[ADDED] Layer System! - Experimental. Now you can apply layered post-processing effects!
[ADDED] New high performance and quality HDR Bloom effect (with much better dirt lens)
[ADDED] New robust render stack system that enables new internal features, with more texture slots, effects blending, and overall pipeline control
It may seem simple, but it was necessary to rewrite ~60% of the internal system
[ADDED] FXAA (Fast Approximate Anti-Aliasing) effect
[ADDED] Panorama distortion effect (a.k.a FNAF 3D view)
[ADDED] Gaussian Blur effect
[ADDED] Kawase Blur effect
[ADDED] White Balance effect
[ADDED] Cinema Bars effect
[ADDED] New Noise Grain effect. It is now possible again to use a custom texture, thanks to the new internal system
[ADDED] New Chromatic Aberration: now with pincushion distortion and custom LUT. The default angle is now 35.
[ADDED] Speed Lines effect can now use a custom noise texture, for more cool effects
[ADDED] 16x16 Dithering bayer texture
[ADDED] Motion Blur now supports a render texture, which can be used to draw isolated things
[ADDED] "speed" parameter in "Glitch" effect
[ADDED] New default noise texture
[ADDED] Full PPFX functions JSDocs documentation
[ADDED] PP_BLOOM_ITERATIONS parameter to Bloom effect
[ADDED] ppfx_set_render_enable(): It is now possible to render to a surface even if ppfx is not drawing
[ADDED] New better-quality dirty lens texture
[ADDED] "contrast" paramter to "Speed Lines" effect
[ADDED] Extra warning indicating where post-processing can be drawn. This will avoid unknown black screens
[FIXED] You can now use Radial Blur, Chromatic Aberration and Motion Blur together at the same time, with all the other effects
[FIXED] Small redundant reference of parent struct, inside ppfx_set_target()
[FIXED] Speedlines: "mask_smoothness" struct variable was written as "smoothness"
[FIXED] Sine Wave freezes after a while on mobile platform (Android/iOS)
[FIXED] Finally Noise Grain is now fully mobile compatible (Android/iOS)
[FIXED] Speed Lines effect now works correctly on mobile platform (Android/iOS)
[FIXED] Glitch effect now works correctly on mobile platform (Android/iOS)
[FIXED] System: Small other performance improvements
[FIXED] System: Small fixes
[FIXED] Shader: Small fixes
[FIXED] Bloom color parameter was not working
[FIXED] Example screen/display resolution
[FIXED] "block_size" parameter of Glitch effect now it's inverse, to match the name. Close to 0: small, close to 1: large
[FIXED] When using palette swap, bloom didn't use the same colors as the palette
[FIXED] Channels shader optimized
[FIXED] Missing "center" variable from Zoom effect constructor
[FIXED] Missing "zoom" variable from Texture Overlay effect constructor
[FIXED] Missing "color" variable from Vignette effect constructor
[FIXED] Big difference in intensity between radial and linear distortion in Chromatic Aberration effect
[FIXED] More organized project files and code
[FIXED] Improved Shockwave example: Added a function that creates the shockwaves (part of the example only)
[FIXED] Easier to view examples font
[CHANGED] PPFX now focuses on full screen effects only (beyond the system of layers and areas).
So it is no longer possible to apply the post-processing to individual sprites unless you place them on a surface.
In the future, Kazan Games will build a project with various effects for this purpose, which is a much bigger performance gain than using a giant system just for that
[CHANGED] Shader: some effects internally reordered
[CHANGED] Tonemapping is now applied before Lift/Gamma/Gain
[CHANGED] The internal system has now been split into different scripts for better organization
[CHANGED] ppfx_toggle()/ppfx_set_enable() is now ppfx_set_draw_enable() (now it is possible to toggle in the same function)
[CHANGED] ppfx_effect_toggle() is now ppfx_effect_set_enable() (now it is possible to toggle in the same function)
[CHANGED] Renamed parameter "macro_name" to "param" in ppfx_effect_set_parameter(), for better coherence
[CHANGED] Renamed parameter "macro_vars_array" and "values_array" to "params_array" and "values_array" in ppfx_effect_set_parameters(), for better coherence
[CHANGED] Renamed macro PP_PALETTE_SWAP_HEIGHT to PP_PALETTE_SWAP_PAL_HEIGHT
[CHANGED] Renamed macro PP_DISPLACEMAP_DIRECTION to PP_DISPLACEMAP_ANGLE
[CHANGED] Renamed macro PP_MOTION_BLUR_DIRECTION to PP_MOTION_BLUR_ANGLE
[CHANGED] Renamed macro PP_CHROMABER_DIRECTION to PP_CHROMABER_ANGLE
[CHANGED] Renamed macro PP_HUE_SHIFT to PP_HUE_SHIFT_COLOR
Note: these changes served to avoid conflicts with built-in variables in the internal system
[CHANGED] Internally modified how PPFX is rendered, look at the examples
[CHANGED] ppfx_application_render_draw() is now ppfx_draw(). An easier, modular and stackable way of drawing
[REMOVED] ppfx_toggle(): This function was merged with ppfx_set_enable()
[REMOVED] ppfx_effect_toggle(): This function was merged with ppfx_effect_set_enable()
[REMOVED] PP_BLOOM_BLUR_RADIUS: not used anymore. Use PP_BLOOM_ITERATIONS instead
[REMOVED] PP_GLITCH_ABERRATION, since it won't be useful anymore
[REMOVED] "is_on_top" parameter from Border effect. Because now it's not necessary anymore.
[REMOVED] "is_on_top" parameter from Texture Overlay effect. Because now it's not necessary anymore.
[REMOVED] "is_on_top" parameter from Colorize effect. Because now it's not necessary anymore.
[REMOVED] "blur_radius" parameter from Chromatic Aberration effect, because the intensity parameter already does that.

Files

PostProcessingFX_v2.0.yyz 39 MB
Aug 14, 2022
PostProcessingFX_v2.0.yymps 1.3 MB
Aug 14, 2022
License.txt 13 kB
Aug 14, 2022

Get Post-Processing FX

Buy Now$49.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.