Доработка. Переключение режимов карты - РТО

This commit is contained in:
sasha80
2023-09-29 08:54:10 +03:00
parent b489cc497d
commit 130e2cdf7a
3 changed files with 41 additions and 35 deletions

View File

@@ -9,30 +9,33 @@ uniform vec4 color0: source_color = vec4(0.38, 0.47, 0.51, 0.4);
uniform vec4 color1: source_color = vec4(0.39, 0.44, 0.50, 0.4);
uniform float radius_inner = 200.0; /* Радиус внутренний. Должно быть равно ant_band_r0_0 */
uniform float radius_outter = 550.0; /* Радиус внешний. Должно быть равно ant_band_r1_6 */
uniform int mode = 0; /* Режим отображения. Приоритет РТО - 0, приоритет РЛС - 1 */
const float ant_band_count_0 = 2.0;
const float ant_band_count_1 = 2.0;
const float ant_band_count_2 = 2.0;
const float ant_band_count_3 = 2.0;
const float ant_band_count_4 = 2.0;
const float ant_band_count_5 = 2.0;
const float ant_band_count_6 = 2.0;
const int ant_band_count_0 = 2;
const int ant_band_count_1 = 2;
const int ant_band_count_2 = 2;
const int ant_band_count_3 = 2;
const int ant_band_count_4 = 2;
const int ant_band_count_5 = 2;
const int ant_band_count_6 = 2;
const float ant_band_r0_0[] = {200.0, 480.0};
const float ant_band_r0_1[] = {250.0, 490.0};
const float ant_band_r0_2[] = {300.0, 500.0};
const float ant_band_r0_3[] = {350.0, 510.0};
const float ant_band_r0_4[] = {400.0, 520.0};
const float ant_band_r0_5[] = {450.0, 530.0};
const float ant_band_r0_6[] = {500.0, 540.0};
const float ant_band_r1_0[] = {250.0, 490.0};
const float ant_band_r1_1[] = {300.0, 500.0};
const float ant_band_r1_2[] = {350.0, 510.0};
const float ant_band_r1_3[] = {400.0, 520.0};
const float ant_band_r1_4[] = {450.0, 530.0};
const float ant_band_r1_5[] = {500.0, 540.0};
const float ant_band_r1_6[] = {550.0, 550.0};
const float ant_band_r0_0 = 200.0;
const float ant_band_r0_1 = 250.0;
const float ant_band_r0_2 = 300.0;
const float ant_band_r0_3 = 350.0;
const float ant_band_r0_4 = 400.0;
const float ant_band_r0_5 = 450.0;
const float ant_band_r0_6 = 500.0;
const float ant_band_r1_0 = 250.0;
const float ant_band_r1_1 = 300.0;
const float ant_band_r1_2 = 350.0;
const float ant_band_r1_3 = 400.0;
const float ant_band_r1_4 = 450.0;
const float ant_band_r1_5 = 500.0;
const float ant_band_r1_6 = 550.0;
const float d4 = 90.0;
const float ds = 1.0;
@@ -60,10 +63,10 @@ void sector(inout vec4 c, vec2 uv, vec2 center, float a, float da, float r0, flo
}
void antenas(inout vec4 c, vec2 uv, vec2 p0, float cnt, float r0, float r1, vec4 c0, vec4 c1)
void antenas(inout vec4 c, vec2 uv, vec2 p0, int cnt, float r0, float r1, vec4 c0, vec4 c1)
{
float da = 180.0f / float(cnt);
for (int i = int(-cnt); i <= int(cnt); i ++)
for (int i = -cnt; i <= cnt; i ++)
{
float v = float(i & 1);
vec4 col = v * c0 + (1.0f - v) * c1;
@@ -113,13 +116,13 @@ void fragment()
COLOR = vec4(0, 0, 0, 0.0); //texture(TEXTURE, UV); // Цвет текущей точки
// Сетка антенн
antenas(COLOR, uv, pc0, ant_band_count_0, ant_band_r0_0, ant_band_r1_0, color1, color0);
antenas(COLOR, uv, pc0, ant_band_count_1, ant_band_r0_1, ant_band_r1_1, color0, color1);
antenas(COLOR, uv, pc0, ant_band_count_2, ant_band_r0_2, ant_band_r1_2, color1, color0);
antenas(COLOR, uv, pc0, ant_band_count_3, ant_band_r0_3, ant_band_r1_3, color0, color1);
antenas(COLOR, uv, pc0, ant_band_count_4, ant_band_r0_4, ant_band_r1_4, color1, color0);
antenas(COLOR, uv, pc0, ant_band_count_5, ant_band_r0_5, ant_band_r1_5, color0, color1);
antenas(COLOR, uv, pc0, ant_band_count_6, ant_band_r0_6, ant_band_r1_6, color1, color0);
antenas(COLOR, uv, pc0, ant_band_count_0, ant_band_r0_0[mode], ant_band_r1_0[mode], color1, color0);
antenas(COLOR, uv, pc0, ant_band_count_1, ant_band_r0_1[mode], ant_band_r1_1[mode], color0, color1);
antenas(COLOR, uv, pc0, ant_band_count_2, ant_band_r0_2[mode], ant_band_r1_2[mode], color1, color0);
antenas(COLOR, uv, pc0, ant_band_count_3, ant_band_r0_3[mode], ant_band_r1_3[mode], color0, color1);
antenas(COLOR, uv, pc0, ant_band_count_4, ant_band_r0_4[mode], ant_band_r1_4[mode], color1, color0);
antenas(COLOR, uv, pc0, ant_band_count_5, ant_band_r0_5[mode], ant_band_r1_5[mode], color0, color1);
antenas(COLOR, uv, pc0, ant_band_count_6, ant_band_r0_6[mode], ant_band_r1_6[mode], color1, color0);
}
"
@@ -131,3 +134,4 @@ shader_parameter/color0 = Color(0.380392, 0.470588, 0.509804, 0.537255)
shader_parameter/color1 = Color(0.3315, 0.45645, 0.51, 0.537255)
shader_parameter/radius_inner = 200.0
shader_parameter/radius_outter = 550.0
shader_parameter/mode = 0