Perfect BLUR for Pause Menu [High Performance]
A downloadable asset pack
Perfect Blur Script
Works on: Game Maker Studio 1 and Game Maker Studio 2
Works on all platforms!
* GMS 2:
- Added "Quality" and "Directions" into sprite_blur_create();
- Optimized memory leaks;
- Optimized performance;
- Optimized shader.
* GMS 1.4:
- 1.4 version works but will not get more updates.
Fully customizable, adjust the amount of blur, intensity and size!
With just 2 scripts you can blur the background of your pause menu, dialog or anything you wish:
And you can free the memory with:
The first script returns the sprite id to draw later.
This works on all platforms, has high performance and is fully commented!
All support is available!
I used this in my game "Fox's Paradise" (this game is still in development).
1494 FPS tested with this laptop (as you can see in the third screenshot):
Intel(R) Pentium(R) P6200 @2.13Ghz | RAM: 2GB | 32 Bits | Video: Onboard 128MB
In order to download this asset pack you must purchase it at or above the minimum price of $1.99 USD. You will get access to the following files:
Log in with itch.io to leave a comment.
It is now possible to modify the quality and directions of the blur, allowing use in real time (with some hardware limitations)
This is true, so it should only be used in the "create event" OR should only be used to create in just 1 step, maybe using a variable in draw event. It creates the blur effect in just a few thousandths, which makes it imperceptible, however, when you are no longer using it you can free it from memory using sprite_draw_blur(id, x, y).
Here's how I'm using it in my game: (I'm using OBS to record the screen and it's much slower compared to Action, sorry.)
Look at the blurry bar at the top of the window, it does it dynamically. You can see how fast it can become if you use it correctly.
(The screen flashes black because I'm using a surface to draw the entire GUI.)
At 4k resolution (3840x2160), I got this: (7.7 MB memory usage)
You can still use it in real time if you greatly reduce the resolution of what will be drawn (sprite, surface..), and then apply a little blur using just the shader.
Just to be clear here: Shader has not High Performance here. It’s a kind of shader, which you cannot use directly in draw event, because you will be facing into huge performance issues even on most powerful GPU. Whats make this shader usable is a implementation thank to series of script. But must note, script implementation free GPU processing power, but at cost of memory consumption. If you want to blur 1 sprite with resolution 1920x1080 it cost approx. 50MB of memory.