From e688e27a63ebddf3d05ece105896f60f0c94c6a8 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 18 Nov 2025 16:40:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=9F=D0=BE=D0=BA=D0=B0=D0=B7=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=83=D1=8E=20=D1=81=D1=85=D0=B5=D0=BC=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/контроль.tscn | 29 ++++++++++++++++++++++++++++- shaders/two-color.gdshader | 17 +++++++++++++++++ shaders/two-color.gdshader.uid | 1 + 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 shaders/two-color.gdshader create mode 100644 shaders/two-color.gdshader.uid diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index f4e09efa..17594358 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=25 format=3 uid="uid://lwmw4egynmd1"] +[gd_scene load_steps=27 format=3 uid="uid://lwmw4egynmd1"] [ext_resource type="Texture2D" uid="uid://bar8k5qef7kch" path="res://data/УФ.png" id="2_0nvm1"] [ext_resource type="Script" uid="uid://q3gmpsqspjfp" path="res://scenes/контроль/внешний.gd" id="2_8r80x"] @@ -12,6 +12,7 @@ [ext_resource type="Texture2D" uid="uid://c6nve6f8sfyj2" path="res://data/состояние-исправности-0.png" id="7_6j01w"] [ext_resource type="Texture2D" uid="uid://u3tnejvpm8it" path="res://data/disconnect-a.png" id="8_gs2be"] [ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="8_isjua"] +[ext_resource type="Shader" uid="uid://83fx15q1xlid" path="res://shaders/two-color.gdshader" id="9_71ec4"] [ext_resource type="Texture2D" uid="uid://b4isaggma6q3" path="res://data/Грани22.png" id="9_iqgf5"] [ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="9_ll0vs"] [ext_resource type="Texture2D" uid="uid://bktiige0i2lhl" path="res://data/У-РЭП-РПД-Н.png" id="9_qe1go"] @@ -180,6 +181,12 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_71ec4"] +shader = ExtResource("9_71ec4") +shader_parameter/grey = Vector3(0.14, 0.13, 0.13) +shader_parameter/orange = Vector3(0.95, 0.55, 0.05) +shader_parameter/gamma = 2.0 + [node name="Контроль" type="Panel"] anchors_preset = 15 anchor_right = 1.0 @@ -410,6 +417,7 @@ patch_margin_right = 16 patch_margin_bottom = 16 [node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_1"] +visible = false light_mask = 3 position = Vector2(35, -10) scale = Vector2(0.625, 0.625) @@ -420,6 +428,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_n_1"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1029.0 offset_top = 9.0 @@ -484,6 +493,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_uf"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1155.0 offset_top = -362.0 @@ -557,6 +567,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_rtr"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1036.0 offset_top = -394.0 @@ -634,6 +645,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_afsp_1"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -5120.0 offset_top = -895.0 @@ -712,6 +724,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_afsp_2"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -6070.0 offset_top = -900.0 @@ -774,6 +787,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_uyep"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1292.0 offset_top = -365.0 @@ -837,6 +851,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_v_2"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1419.0 offset_top = -480.0 @@ -892,6 +907,7 @@ patch_margin_right = 16 patch_margin_bottom = 16 [node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_prd_n_2"] +visible = false light_mask = 3 position = Vector2(40, -10) scale = Vector2(0.625, 0.625) @@ -902,6 +918,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_n_2"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1419.0 offset_top = -145.0 @@ -965,6 +982,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_k_2"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1418.0 offset_top = -314.0 @@ -1028,6 +1046,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_v_3"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1026.0 offset_top = -601.0 @@ -1091,6 +1110,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_n_3"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1302.0 offset_top = -602.0 @@ -1154,6 +1174,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_k_3"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1167.0 offset_top = -602.0 @@ -1217,6 +1238,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_v_1"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1304.0 offset_top = 2.0 @@ -1280,6 +1302,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_k_1"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -1163.0 offset_top = 10.0 @@ -1342,6 +1365,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_v_4"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -923.0 offset_top = -144.0 @@ -1404,6 +1428,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_n_4"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -919.0 offset_top = -485.0 @@ -1466,6 +1491,7 @@ script = ExtResource("11_u7tym") [node name="pic_functional" type="TextureRect" parent="pribor_prd_k_4"] visible = false z_index = 1 +material = SubResource("ShaderMaterial_71ec4") layout_mode = 0 offset_left = -924.0 offset_top = -315.0 @@ -1615,6 +1641,7 @@ offset_bottom = 746.0 scale = Vector2(5, 5) texture = ExtResource("22_1s34a") +[connection signal="gui_input" from="." to="." method="_on_gui_input"] [connection signal="toggled" from="pribor_prd_n_1" to="pribor_prd_n_1" method="_on_toggled"] [connection signal="toggled" from="pribor_uf" to="pribor_uf" method="_on_toggled"] [connection signal="toggled" from="pribor_rtr" to="pribor_rtr" method="_on_toggled"] diff --git a/shaders/two-color.gdshader b/shaders/two-color.gdshader new file mode 100644 index 00000000..570725e2 --- /dev/null +++ b/shaders/two-color.gdshader @@ -0,0 +1,17 @@ +shader_type canvas_item; + +uniform vec3 grey = vec3(0.14, 0.13, 0.13); +uniform vec3 orange = vec3(0.95, 0.55, 0.05); +uniform float gamma = 2.0; + +vec3 bw_to_2color(vec3 c, vec3 dark, vec3 light) +{ + float l = pow(c.r * 0.2126 + c.g * 0.7152 + c.b * 0.0722, gamma); + return mix(light, dark, l); +} + + +void fragment() +{ + COLOR.rgb = bw_to_2color(texture(TEXTURE, UV).rgb, grey, orange); +} diff --git a/shaders/two-color.gdshader.uid b/shaders/two-color.gdshader.uid new file mode 100644 index 00000000..f1689096 --- /dev/null +++ b/shaders/two-color.gdshader.uid @@ -0,0 +1 @@ +uid://83fx15q1xlid