Added tetris-game. /JL
This commit is contained in:
39
tetris-game/shaders/blur_overlay.gdshader
Normal file
39
tetris-game/shaders/blur_overlay.gdshader
Normal file
@@ -0,0 +1,39 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
|
||||
|
||||
// Radius in pixels
|
||||
uniform float blur_radius : hint_range(0.0, 32.0) = 8.0;
|
||||
// Number of samples in each direction
|
||||
uniform int samples : hint_range(1, 20) = 6;
|
||||
// 0 = no blur, 1 = fully blurred
|
||||
uniform float blur_strength : hint_range(0.0, 1.0) = 0.6;
|
||||
// Optional slight dimming of background
|
||||
uniform float dim_amount : hint_range(0.0, 0.5) = 0.1;
|
||||
|
||||
void fragment() {
|
||||
vec4 original = textureLod(SCREEN_TEXTURE, SCREEN_UV, 0.0);
|
||||
|
||||
vec2 pixel = SCREEN_PIXEL_SIZE * blur_radius;
|
||||
|
||||
vec4 blurred = vec4(0.0);
|
||||
int count = 0;
|
||||
|
||||
for (int x = -samples; x <= samples; x++) {
|
||||
for (int y = -samples; y <= samples; y++) {
|
||||
vec2 offset = vec2(float(x), float(y)) * pixel;
|
||||
blurred += textureLod(SCREEN_TEXTURE, SCREEN_UV + offset, 0.0);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
blurred /= float(count);
|
||||
|
||||
// Blend between original and blurred
|
||||
vec4 color = mix(original, blurred, blur_strength);
|
||||
|
||||
// Slight dimming, if wanted
|
||||
color.rgb *= (1.0 - dim_amount);
|
||||
|
||||
COLOR = color;
|
||||
}
|
||||
1
tetris-game/shaders/blur_overlay.gdshader.uid
Normal file
1
tetris-game/shaders/blur_overlay.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ct7v5mfajkvir
|
||||
Reference in New Issue
Block a user