godot-demo-projects/2d/screen_space_shaders/shaders/vignette.gdshader

12 lines
394 B
Plaintext
Raw Normal View History

shader_type canvas_item;
uniform sampler2D screen_texture : hint_screen_texture, filter_linear_mipmap;
uniform sampler2D vignette;
void fragment() {
vec3 vignette_color = texture(vignette, UV).rgb;
2020-02-03 09:53:07 +01:00
// Screen texture stores gaussian blurred copies on mipmaps.
COLOR.rgb = textureLod(screen_texture, SCREEN_UV, (1.0 - vignette_color.r) * 4.0).rgb;
COLOR.rgb *= texture(vignette, UV).rgb;
}