xiandie/asset/shader/vignette.gdshader

19 lines
608 B
Plaintext
Raw Permalink Normal View History

2024-12-23 01:31:10 +00:00
shader_type canvas_item;
uniform float vignette_intensity : hint_range(0.0, 4.0) = 0.4;
uniform vec4 vignette_rgb : source_color = vec4(0.247, 0.149, 0.192, 1.0);
uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap;
float vignette(vec2 uv){
uv *= 1.0 - uv.xy;
float vignette = (uv.x + 0.05) * (uv.y + 0.05) * 15.0;
return pow(vignette, vignette_intensity);
}
void fragment(){
vec4 color = texture(SCREEN_TEXTURE, SCREEN_UV);
vec4 text = texture(TEXTURE, UV);
text.rgba *= (vignette_rgb.rgba);
text.rgba *= (1.0 - vignette(UV));
COLOR = vec4((text.rgb)*color.rgb, text.a);
}