A downloadable asset pack

Buy Now$29.95 USD or more

🔥 The most robust, easiest and efficient post-processing solution available for GameMaker. All in a 2 MB package!

😍 Post-Processing FX is a project that aims to make your game look beautiful, with 50+ ready-made customizable effects.

✅ With as little friction or setup as possible. It's modular, user friendly, and very easy to extend and build upon.

Unlike all other similar ones, with PPFX, you have HDR mode and you can use all effects at the same time! (Saves GPU/CPU usage if the effect is not in use!)

VERSION 3.1 IS NOW AVAILABLE (with HDR support)!


DEMO: Click here to open.

  • Works great with 2D Pixel-Art and HD games;
  • 3D is also supported;
  • Extreme easy to use and highly customizable, whether you're new to GML, or an experienced developer. You can start just creating the system with a function, create a profile with the effects and then use the drawing function.
  • Currently, there are 51 high quality effects, which are:
    • Bloom;
      • The Bloom effect creates fringes of light extending from the borders of bright areas in an image. This creates the illusion of extremely bright light overwhelming the screen. The Bloom effect also has a Lens Dirt feature, which you can use to apply a full-screen layer of smudges or dust to diffract the Bloom effect.
      • HDR compatible;
      • Ultra high performance (even in mobile and HTML5), CPU + GPU to render;
      • Lens dirt;
    • VHS;
      • VHS effect imitating old TVs from VHS tapes. It is fully customizable.
    • Slow Motion;
      • Effect that mimics slow motion or when drunk.
    • HQ4x;
      • Pixel-art upscaling shader, which aims to try to make the pixel-art in HD.
    • Depth Of Field;
      • Is an effect that describes the extent to which objects that are more or less close to the plane of focus appear to be sharp. This effect is given by an optical phenomenon called circles of confusion, which progressively increase as objects move away from the plane of focus;
      • Circular or shaped (with custom sides);
      • Works for both 2D and 3D.
    • Shockwaves;
      • Screen distortions made simple;
      • Supports spectral LUTs;
      • Curves for size and alpha control;
      • Uses normal maps (6 built-in types included);
    • Sunshafts (Godrays/Volumetric light);
      • Simulates the radial light scattering that arises when a very bright light source is partly obscured;
    • ACES Tone Mapping;
      • Tonemapping is the process of remapping the HDR values of an image to a new range of values. Its most common purpose is to make an image with a low dynamic range appear to have a higher range.
      • Academy Color Encoding System;
      • Filmic mode (for a more cinematic look);
    • Chromatic Aberration;
      • It mimics the color distortion that a real-world camera produces when its lens fails to join all colors to the same point;
      • Spectral/prisma LUT is changeable!
      • Blur for smooth colors!
    • Motion Blur;
      • Simulates the blur that occurs in an image when a real-world camera films objects moving faster than the camera’s exposure time.
      • Ready example of usage;
      • Contains a central mask!
      • Includes a special render texture that is not affected by blur;
    • FXAA v3;
      • Fast Approximate Anti-Aliasing is a screen-space anti-aliasing algorithm created by Timothy Lottes at Nvidia.
    • Panorama Distortion;
      • The same effect the FNAF game uses!
      • Works both horizontally and vertically;
    • Gaussian Blur;
      • Blur the image with this effect!
      • This one has a slimmer fit and a round mask!
    • Kawase Blur;
      • Extreme high performance blur, even on Mobile!
      • It also has a round mask;
    • White Balance;
      • White balance is used to adjust colors to match the color of the light source so that white objects appear white;
    • Glitch;
      • Image and colors distortion/interference to imitate a problem with the video signal; Useful for horror games!
    • Shake;
      • Screen shake simulation; Useful for explosions and strong ground collisions.
      • Individually controlled speeds allow the shake to be just horizontal, vertical or both!
    • Speed Lines;
      • Manga/Anime speed lines, useful for visual novel and racing games;
      • Contains a central mask!
    • LUT Cube;
      • Day & Night Cycle example included!
      • Use your own edited texture in other editing software such as Photoshop;
      • Many LUT sprites included;
    • Palette Swap;
      • Useful for retro/arcade games. Change the color of all pixels using a palette, based on luminosity;
      • Includes Game Boy and Grayscale palettes;
      • Supports color quantization;
    • Cinema Bars;
      • Add a cool more cinematic touch to the game;
      • Both horizontal and vertical;
    • Displacement Maps;
      • Used for water, underwater, rain, drips and many others;
      • Examples included;
      • Uses normal map textures;
    • Vignette;
      • Vignetting is the term for the darkening and/or desaturating towards the edges of an image compared to the center. You can use vignetting to draw focus to the center of an image;
    • Radial Blur;
      • Blurred zoom effect to give the impression of speed;
    • Scanlines;
      • Draw horizontal lines over the screen;
      • Contains a central mask!
    • Texture Overlay;
      • Useful for blood on screen, VHS effect and others;
      • Bonus feature: Draw texture on top or bottom;
    • Border;
      • Hide the outside of UVs with a smooth black border, useful for using along with VHS and Lens Distortion effects.
    • Dithering;
      • Removes color banding artifacts in gradients, usually seen in sky boxes due to color quantization.
      • Bayer Matrix 16x16, 8x8, 4x4 and 2x2;
      • 3 types of dithering modes!
      • Use matrix position of camera or world;
    • Exposure;
      • Adjusts the overall exposure of the screen.
    • Brightness;
      • The amount of white color mixed with a hue;
    • Contrast;
      • The overall range of tonal values;
    • Saturation;
      • Relative bandwidth of the visible output from a light source;
      • Used for "grayscale" effect;
    • Hue Shift;
      • Shift the hue of all colors.
      • HSV (hue, saturation and value) colors;
    • Color Blindness correction:
      • Protanopia, Deutanopia and Tritanopia;
    • Colorize:
      • Preserve the white colors and change only the hue;
    • Color Tint;
      • Mix game screen color with some other color;
    • Invert Colors;
      • White is black and black is white;
    • Channels;
      • Control each color channel individually;
    • Lens Distortion;
      • Useful for simulating CRT TV tube distortion or speed;
      • Barrel and Pincushion distortion;
    • Swirl Distortion;
      • Radial distortion effect, useful for black hole effects and so on;
    • Sine Wave;
      • Wave effect (both horizontal and vertical);
    • Noise Grain;
      • Simulates the random optical texture of photographic film, usually caused by small particles being present on the physical film;
      • It is possible to show only white noise (cool for CRT effect);
      • Uses custom texture;
    • Posterization;
      • Perfect for retro/SNES/arcade games. Decreases the amount of color displayed on the screen;
    • Pixelize;
      • A retro resolution effect, creates pseudo pixelart;
    • Fade;
      • Simple color overlay, fade the entire screen in one color;
    • NES Fade (Famicom 8-bit, 1983);
      • Perfect simulation of the NES transition.
      • Change amount and levels (color amount);
    • Rotation;
      • Rotate the screen, useful for angular shake;
    • Zoom;
      • Zoom in the screen, all done in shader, no cameras for that! useful for cutscenes.
    • Lift, Gamma and Gain;
      • This effect allows you to perform three-way color grading.
      • Lift controls the dark tones;
      • Gamma controls the mid-range tones with a power function;
      • Gain is used to increase the signal and make highlights brighter;
    • Shadows, Midtones and Highlight;
      • This effect separately controls the shadows, midtones, and highlights of the render. Unlike Lift, Gamma, Gain, you can use this effect to precisely define the tonal range for shadows, midtones, and highlights;
    • Mist;
      • A fog effect to give a gloomy look, which can be used in forests, imitate fire, and among others;
      • It is possible to be affected by light, giving a sensation of volumetric light. Useful for dark forests and horror games.
  • Profiles;
    • A collection of effects to use;
    • Change the mood of your game globally in real time! Useful for games where there are several different environments/rooms;
    • Create and load as many as you like;
  • Layers;
    • Apply the effects in multiple room layers, it can be individual or in a range too!
    • Literally just write ppfx_layer_apply(...) in Create Event!
    • Both room-based and camera-based sizes;
    • There is an example showing this;
  • Areas;
    • Draw a normal sprite, with the effects inside it! Use the sprite as a mask. Useful for glass UI, game logo, and many others!
  • Post-Processing FX can also be applied to the GUI;
    • There is an example showing this;
  • The PPFX is modular. Everything works individually and at the same time together!
  • All effects can work together or individually!
  • Fast shader compilation;
  • Apply the effects in your game in less than 10 minutes! (for real);

  • Cross-Platform;
    • Windows, Mac, Ubuntu, Android, iOS, HTML5, OperaGX, UWP, Playstation 4, Playstation 5, Xbox One, Xbox Series X | S and Nintendo Switch.
  • GameMaker version;
  • Works on 2D and 3D games;
  • Uses GLSL ES;
  • Works on: x64 and x86 runner. With YYC and VM;
  • Split-screen compatible;
  • Compatible with Bulb lighting system and Scribble, by Juju;
  • Compatible with other external effects;
  • Feather compatible.

  • Includes 15 usage examples;
  • Basic UI system (belongs to the example only);
  • Includes a camera object (belongs to the example only);
    • Target object;
    • Horizontal and vertical margin to start moving;
    • Smooth movements;
    • Zoom.
  • All example codes are commented to understand how each part works. All the code is super organized and well written;
  • Dedicated Discord server for support;
  • LUT Pack (18 images);
  • Source project ready-to-use.
  • Super lightweight package! Only 2MB (.yymps) - even less, if you remove things you don't need from the package!
  • Free updates forever!

  • HDR (High Dynamic Range) support; (ADDED)
  • Effects that will be added in future updates (no order):
    • SSAO (Screen Space Ambient Occlusion);
    • Fish-eye distortion;
    • VHS (retro TV effect); (ADDED)
    • Infrared;
    • Anamorphic Flares;
    • HQ4x; (ADDED)
    • Slow Motion (Drunk Effect); (ADDED)
    • Color Curves (YRGB and HHSL)
    • 1D LUT
    • .Cube LUT support
  • Q: Is it difficult to import into an existing project?
  • A: No, there are several examples in the project showing how simple this is to do. All you need to do is import the .yymps file into your game and use the appropriate functions to apply the effect to the screen.
  • ----------------------------------------
  • Q: What is the shader performance?
  • A: All effects are super lightweight (includes Bloom), run smoothly on Android and on weak computers (tested in an onboard 128 MB VRAM GPU).
  • ----------------------------------------
  • Q: How I learn to implement in my game?
  • A: There is a manual with detailed information that will help you to implement it quickly. If you have questions, send a message on Discord.

Technical support available! -> Discord and Email.

Support my work on Patreon

Post-Processing FX forum devlog

By purchasing, you agree that you may not resell or redistribute the source code in any way (ex: GitHub and Marketplace). The compiled product can be used commercially in any game or software.

Do you think your time is valuable? So don't waste your time doing something that has already been created, get PPFX kindly now.

Updated 12 days ago
Rated 5.0 out of 5 stars
(13 total ratings)
AuthorFoxy Of Jungle
Tagsbloom, Effects, fx, GameMaker, glitch, Horror, juice, post-processing, Retro, Shaders


Buy Now$29.95 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $29.95 USD. You will get access to the following files:

PostProcessingFX_v3.1.1.yymps 2 MB
PostProcessingFX_v3.1.1.yyz 41 MB
PostProcessingFX_v3.1.yymps 2 MB
PostProcessingFX_v3.1.yyz 41 MB
LUTs Color Correction.zip 838 kB

Download demo

License.txt 13 kB

Development log

View all posts


Log in with itch.io to leave a comment.

can the shockwave effect work with platformer games where character has a following camera.Already love the effects and set to buy

Yes, the shockwaves can be anywhere in the room. The asset calculates everything automatically. Camera zoom is also supported. Thanks ^^

(1 edit) (+1)

awesome this when have seen notification that you replied. thankyou so much for the feedback because thats one challenge i had with one shader couldn't add effect after camera moved  beyond first part of the room because your tool will make me make crazy game feel experience soo excited

I hope you have fun! If you have any questions, just enter the Kazan Games server and clear your doubts. Also take a look at the manual to see how it works.


Post-Processing FX v3.1 Released!


Well done. I wish there were more professional assets for game maker like this.

Thanks a lot ^^

I'm glad you like it! :D


the asset pack is really great.

But I have a couple of problems with the layer system. When I turn off the draw function to use the layer function, post processing is not being applied after a room switch.

Also the apply function randomly starts showing "layer_effects_id" as an error but also shows it as correct sometimes. Maybe that has something to do with it.

I followed all the steps in the layer section of the documentation and I can't find the error :D

Hey SoulPixel,

I'm glad you're enjoying Post-Processing FX ^^

Do not disable the "draw_layer" parameter of the ppfx_layer_apply() function. I had made a modification to that function and it hasn't been updated in the manual yet, I will soon.

The error line is a Feather xD thing, so it's not a PPFX issue currently, don't worry.

Remember to pay attention to the order in which you insert the layer id, and check if there is a "warning" message in the Console.

Cheers! ^^

Ah yes the draw_layer parameter was the one issue!

The Layer id should be in the right order.

Now the layer system works in all of my menu screens.

But in-game everything included in the layer post processing effects is not getting rendered. (Right now every layer except my UI)

That's weird because the fullscreen draw functions work great in every room.

Does it have something to do with my camera?

Hey, I saw you joined Discord server, I'll answer you there :)

(2 edits) (+1)

Hi, this is an amazing asset and I would recommend this to anyone!

Quick question though! Can I change the sunshaft effect to black as if casting a shadow?

(1 edit) (+1)

Hey, Thank you!

You had luck! The Sunshafts effect takes 14 arguments, so there is one left, which could be the color xD, so it's possible to blend a color, which can be black.

Thanks for the suggestion! :D


Ah haha the planets align, sounds perfect! Thank you.


Absolutely, would recommend. 

Is it compatible with mobile phones? (Android/iOS)

(1 edit)


Yes, Post-Processing FX is cross-platform. :)

If you find any bug, you can contact me on Discord and we can fix it.

Great to hear that. Sure!

Please also release it on Yoyogames official marketplace to showcase the true powers of GMS to newcomers.

Post-Processing FX is also available on Marketplace :)



My dumbass bought this thinking It was for godot, I clearly didn't read, I was just excited to make my job easier. 

Now I'm stuck with it lol

Unless you learn GameMaker, the best 2D engine :P

I hear gamemaker is easier to learn though i already started learning in godot and love it and it does feel more versatile for when I make 3D games. I'll most likely just give the pack away to someone else who uses gamemaker. 

I'm glad you're enjoying it, it's great to feel comfortable with what you do and that's what matters. Nice attitude to give someone the project! ^^


This is incredible

Thanks! I'm very happy that you liked it! ^^

Hello Foxy!

First, can’t praise your work enough! This is a great asset & really has helped me solve some hurdles for my own game.

Second, and the main meat of this message, just wanted to suggest a slight enhancement to your layers system Would it be possible to instead of focusing on a layer ID, could effects be implemented based off depth as well? Ideally, I think having both available would just increase the flexibility of this amazing asset package you have here, but I lack the expertise to know if this would be too much of a pain in the butt to accomplish.

In any regard, this is just some thoughts I’ve had recently using your layers system, please take it with a grain of salt! XD

Thanks again for your dope work! -Abstract the Origin


Hi! Thank you ^^

This can't happen due to the way it works internally (the Layer system uses layer_script, which asks for layers and not depth), sorry... Thanks for the sugestion!


No worries! Never hurts to ask! :D Have a dope day!


To anyone considering buying this asset - Just Do It!

Hands down one of the best assets you will find for GMS2 - fantastic quality product and exceptional support.

I'm so glad for this comment! Thank you so much! ^^ 

Hey, like the last comment said i would really like a way to use efects on objects. can you work on that as well?

Hi! We recently added the Layer System, which means you can use post-processing on single objects, backgrounds, sprites, and more:

In the image above, I applied the glitch and scanlines effect on my player, which is a tree. And the background also has some effects.



Thanks ^ ^

please let me know when the docs are updated so i can see how i can use it! Thanks 

Sure! Please note that there are 13 separate examples. One of them is about layers.

I bought it and felt great. However, there is a question: can it be used for an object or instance alone. Like a torch or a flaming arrow?


PPFX has a drawing function called ppfx_draw(surface, x, y, w, h, view_w, view_h, system), which receives a surface, so it's more recommended for screen post-processing only. In the future I intend to make an asset only with effects for objects.


OK, I see. Thank you for your reply!

Is there a demo to download? The link above just links to the license text file?

Hey! There is no demo, only the video at the moment. But I can later make the HTML5 version of it available. :)

Hey again, I just added the demo:


Hi, very cool stuff, I'm very interested in getting it for a project, I was wondering if you provide tech support sometimes? I would like to draw the effect only to an area if the screen via sn arbitrary sprite as a mask, is this possible with this tool?

Do you have a discord server?

Thank you!

Hi! Yes, we are pleased to answer any questions you may have on Discord: "Kazan Games":


Yes, it is possible to do it. I will even do some example demonstrating this in future updates.

Thanks for getting in touch! :)

coe fox ensina só como faz o blur :(


Hello, do you need help with the asset?


Amazing stuff here!

Thank you so much! I'm so glad to hear that 😁

O foxy só não é perfeito pq é furry

Deleted 348 days ago

Ser furry não é só aquilo que muitos pensam


It's far too early for me to be buying resource packs for my game but I couldn't help myself when I saw this. I'm motivated to work harder so I can test out some of these effects in my own creation. Thanks a lot and keep up the good work.


Your comment is very satisfying and is what motivates me to create these cool things, thank you very much!

Hi - I can't seem to find an example of how to create the shockwaves effect? Is it included somewhere?


Hello! The example of how this is done is in version 1.2, which will be released soon ;)

Stay tuned, there are amazing things coming.

(1 edit)

Awesome, do you have an ETA on v1.2 at all?


Tomorrow at the latest, if everything goes as expected.


well that is much closer than I expected, thanks for taking the time to reply


Released! :D


Your post-processing effects pack is incredibly beautiful, the effects are well made and professional, I think that whatever the game is it will be very beautiful and with a Professional Studio game aspect, congratulations on your project, I will be buying for mine projects This pack is the best I’ve ever found and I’ve looked for many. congratulations

(1 edit) (+1)

Thank you! I am very grateful to read this! :D