From eda8a09347b392e4fafe413f30a496e03fba2132 Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 2 Oct 2024 16:02:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=BB=D0=B0=D0=B4=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=80=D1=86=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=86=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shaders/bip.gdshader | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/shaders/bip.gdshader b/shaders/bip.gdshader index d50f71c..17eb231 100644 --- a/shaders/bip.gdshader +++ b/shaders/bip.gdshader @@ -4,23 +4,24 @@ shader_type canvas_item; /* Закрашенная окружность */ uniform float tick_update = 0.0; /* Время последнего обновления, мс */ +const float red_channel = 0.972549; +const float green_channel = 0.12549; +const float blue_channel = 0.411765; const float time_delta = 0.5; /* Время вспышки при обновлении, c */ const float ds = 0.01; /* Относительное расстояние на котором выполняется сглаживание краёв */ const vec2 center = vec2(0.125, 0.125); /* Центр должен быть в (0.5, 0.5), но это не так */ const float radius = 0.075 - ds * 2.0; /* Радиус должен быть 0.5, но это не так */ -const float alpha_offset = 0.25; /* Изменние скорости альфа канала */ +const float alpha_offset = 0.5; /* Изменние скорости альфа канала */ +const float alpha_main = 1.0; void fragment() { float time_now = TIME; - float alpha = 1.0; + float alpha = 0.0; if ((time_now - tick_update) < time_delta) { - alpha = (time_delta - (time_now - tick_update)) * alpha_offset; + alpha = time_delta - (time_now - tick_update) * alpha_offset; } - else{ - alpha = 0.0; - } - vec4 color = vec4(0.972549, 0.12549, 0.411765, 1.0 - alpha); + vec4 color = vec4(red_channel, green_channel, blue_channel, alpha_main - alpha); COLOR = color * smooth_px(length(UV - center), radius, ds); }