Simple Blur

A super simple blur effect.

Use lod variable to regulate strength.

Shader code
shader_type canvas_item;

uniform float lod: hint_range(0.0, 5) = 0.0;

void fragment(){
	vec4 color = texture(SCREEN_TEXTURE, SCREEN_UV, lod);
	COLOR = color;
}
Tags
2d, blur, simple
The shader code and all code snippets in this post are under CC0 license and can be used freely without the author's permission. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.

Related shaders

Simple blur, mixed with a color

Blur Vignette (Post Processing / ColorRect) [Godot 4.2.1]

Blur with Clearing Over a Node

Subscribe
Notify of
guest

7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
SamWise
2 years ago

What do I apply it to?

mreliptik
2 years ago
Reply to  SamWise

Anything that will cover the whole screen, so usually a ColorRect for example. This is because the shader in a screen shader, meaning it will use SCREEN_TEXTURE and SCREEN_UV

lentsius
2 years ago

It should be “textureLod” instead of “texture” I believe.

luislodosm
luislodosm
2 years ago
Reply to  lentsius

“texture” also works for me.

Heavybrush
2 years ago

how to do the same to a vec4 (like a shape made with code) instead of a texture?

Whitehatcat
Whitehatcat
1 year ago

For anyone getting an error in Godot 4, add this line above the fragment function to get it working: uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;

void_Ninja
void_Ninja
1 year ago
Reply to  Whitehatcat

Alternatively, just swap SCREEN_TEXTURE and SCREEN_UV for TEXTURE and UV, respectively (I think, I could be wrong, feel free to correct me and explain why)

Edit: Ok yeah, I was wrong, disregard 😁

Last edited 1 year ago by void_Ninja