diff --git a/shaders/antenas.gdshader b/shaders/antenas.gdshader index 90ce510b..20cb2341 100644 --- a/shaders/antenas.gdshader +++ b/shaders/antenas.gdshader @@ -20,6 +20,7 @@ uniform float rotation: hint_range(0, 360) = 0.0; uniform float ffr: hint_range(0.0, 1.0) = 0.15; /* Индикация неисправности модулей ФС. Заметность штриховки. Индикация неисправности модулей ФС */ uniform float sfr: hint_range(0.0, 10.0) = 0.0; /* Индикация неисправности модулей ФС. Скорость движения штрховки */ uniform float pfr: hint_range(0.01, 1.0) = 0.025; /* Индикация неисправности модулей ФС. Частота штриховки */ +uniform float afr: hint_range(0.0, 180.0) = 0.0; /* Индикация неисправности модулей ФС. Угол наклона штриховки */ // Вариант 1: Массив цветов для каждой ячейки (4×7 = 28) uniform vec4 ant_band_c[28]: source_color; @@ -96,10 +97,12 @@ void fragment() // Подмешивание шума для включённых cell_color.a = alpha + random_timed(centered_uv) * cell_color.a; - // Индикация не исправности + // Индикация неисправности if (ant_band_m[cell_index] == ANT_BAND_FAILED) { - cell_color.a *= (1.0 - ffr) + tanh(10.0 * sin(TIME * sfr + 2.0 * PI * centered_uv.x / pfr)) * ffr; + vec2 uvr = UV; + rotate_vec2(uvr, radians(afr), vec2(0, 0)); + cell_color.a *= (1.0 - ffr) + tanh(10.0 * sin(TIME * sfr + 2.0 * PI * uvr.x / pfr)) * ffr; } COLOR = cell_color; }