diff --git a/shaders/bip.gdshader b/shaders/bip.gdshader index a58c0fa0..3895d74a 100644 --- a/shaders/bip.gdshader +++ b/shaders/bip.gdshader @@ -6,6 +6,7 @@ global uniform int tick_curent; /* Закрашенная окружность */ instance uniform int tick_update = 1000; /* Время последнего обновления, мс */ +instance uniform vec4 color: source_color = vec4(1.0, 1.0, 1.0, 1.0); uniform int tick_delta = 200; /* Время вспышки при обновлении, мc */ uniform float radius = 0.060; /* Радиус */ const float ds = 0.010; /* Относительное расстояние на котором выполняется сглаживание краёв */ @@ -14,7 +15,7 @@ const vec2 center = vec2(0.125, 0.125); /* Центр должен быть в void fragment() { - COLOR = vec4(1, 1, 1, 1); - COLOR.a = 1.5 - smoothstep(float(tick_update), float(tick_update + tick_delta), float(tick_curent)); + COLOR = color; + COLOR.a *= 1.5 - smoothstep(float(tick_update), float(tick_update + tick_delta), float(tick_curent)); COLOR.a *= smooth_px(length(UV - center), radius + (COLOR.a - 0.5) / 20.0, ds); }