diff --git a/project/assets/shader/shader_vignette.gdshader b/project/assets/shader/shader_vignette.gdshader new file mode 100644 index 0000000..9edb280 --- /dev/null +++ b/project/assets/shader/shader_vignette.gdshader @@ -0,0 +1,17 @@ +shader_type canvas_item; + +uniform float inner_radius = 0.1; +uniform float outer_radius = 1; +uniform float vignette_strength = 1.0; +uniform float dither_strength = 0.03; +uniform vec4 vignette_color: source_color; + + +void fragment() { + float dist = distance(UV, vec2(0.5)); + + float vignette = smoothstep(inner_radius, outer_radius, dist) * vignette_strength; + float dither = fract(sin(dot(UV, vec2(12.9898, 78.233))) * 43758.5453123) * dither_strength; + + COLOR = vec4(vignette_color.rgb, vignette + dither); +} \ No newline at end of file diff --git a/project/assets/shader/shader_vignette.tres b/project/assets/shader/shader_vignette.tres new file mode 100644 index 0000000..2f20fd1 --- /dev/null +++ b/project/assets/shader/shader_vignette.tres @@ -0,0 +1,11 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://ckg3be082ny3h"] + +[ext_resource type="Shader" path="res://assets/shader/shader_vignette.gdshader" id="1_6o5k2"] + +[resource] +shader = ExtResource("1_6o5k2") +shader_parameter/inner_radius = 0.1 +shader_parameter/outer_radius = 0.725 +shader_parameter/vignette_strength = 0.0 +shader_parameter/dither_strength = 0.03 +shader_parameter/vignette_color = Color(0, 0, 0, 1)