1
Fork 0
mirror of https://github.com/Steffo99/nanogolf.git synced 2024-11-23 08:34:20 +00:00

Experiment with creating a glow shader

This commit is contained in:
Steffo 2024-02-10 03:53:57 +01:00
parent 63731c18a3
commit ba882ab8d4
Signed by: steffo
GPG key ID: 5ADA3868646C3FC0
2 changed files with 36 additions and 1 deletions

View file

@ -1,3 +1,24 @@
[gd_scene format=3 uid="uid://b8f5t76nfdu5h"] [gd_scene load_steps=5 format=3 uid="uid://b8f5t76nfdu5h"]
[ext_resource type="Texture2D" uid="uid://bxyy3bwt7a5l2" path="res://sprites/circle.svg" id="1_70edj"]
[ext_resource type="Shader" path="res://shaders/postprocess.gdshader" id="1_gpsy1"]
[ext_resource type="Texture2D" uid="uid://dvr4j6164rphg" path="res://sprites/square.svg" id="2_xiv3x"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rnibu"]
shader = ExtResource("1_gpsy1")
shader_parameter/radius = 16
[node name="Main" type="Node"] [node name="Main" type="Node"]
[node name="Circle" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0.498039)
texture_filter = 2
position = Vector2(68, 44)
texture = ExtResource("1_70edj")
[node name="Square" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_rnibu")
scale = Vector2(72, 40)
texture = ExtResource("2_xiv3x")
centered = false
metadata/_edit_lock_ = true

View file

@ -0,0 +1,14 @@
shader_type canvas_item;
uniform sampler2D screen: hint_screen_texture, repeat_disable, filter_nearest;
uniform int radius = 16;
void fragment() {
float u = SCREEN_UV.x;
float v = SCREEN_UV.y;
COLOR.rgb = texture(screen, vec2(u, v)).rgb;
// This is affected by editor zoom!
COLOR.r += texture(screen, vec2(u + (SCREEN_PIXEL_SIZE.x * 4.0), v + (SCREEN_PIXEL_SIZE.y * 4.0))).r;
}