20 lines
535 B
Plaintext
20 lines
535 B
Plaintext
shader_type canvas_item;
|
|
|
|
uniform float vignette_intensity : hint_range(0.0, 1.0) = 0.0;
|
|
uniform vec4 vignette_color : source_color = vec4(0.0, 0.0, 0.0, 1.0);
|
|
|
|
void fragment() {
|
|
vec2 center = vec2(0.5, 0.5);
|
|
|
|
float dist = distance(UV, center);
|
|
|
|
float radius = 0.8 - (vignette_intensity * 0.7);
|
|
|
|
float softness = 0.2;
|
|
|
|
float vignette = smoothstep(radius, radius - softness, dist);
|
|
|
|
float alpha = 1.0 - vignette;
|
|
|
|
COLOR = vec4(vignette_color.rgb, alpha * vignette_intensity * 1.5);
|
|
} |