diff --git a/shaders/antenas.gdshader b/shaders/antenas.gdshader index 20cb2341..ef2410b2 100644 --- a/shaders/antenas.gdshader +++ b/shaders/antenas.gdshader @@ -82,17 +82,15 @@ void fragment() // Границы по углу float angle_in_sector = mod(angle, sector_width); - if (angle_in_sector < grid_line_width || - sector_width - angle_in_sector < grid_line_width) { - cell_color.rgb *= 0.7; // Затемняем границы - } + float v0 = sector_width - 0.01; + float v1 = sector_width + 0.0001; + cell_color.rgb *= 1.0 - sqrt(smoothstep(v0, v1, angle_in_sector) * smoothstep(v1, v0, angle_in_sector)); // Границы по радиусу float radius_in_layer = mod(normalized_radius, layer_height); - if (radius_in_layer < grid_line_width || - layer_height - radius_in_layer < grid_line_width) { - cell_color.rgb *= 0.7; // Затемняем границы - } + v0 = layer_height - 0.01; + v1 = layer_height + 0.0001; + cell_color.rgb *= 1.0 - sqrt(smoothstep(v0, v1, radius_in_layer) * smoothstep(v1, v0, radius_in_layer)); // Подмешивание шума для включённых cell_color.a = alpha + random_timed(centered_uv) * cell_color.a;