Регрессия. Границы секторов без пикселизации

This commit is contained in:
sasha80
2025-12-29 10:56:40 +03:00
parent c244fc70ec
commit 83aa1e3ac0

View File

@@ -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;