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); }