Доработка. Устраненение пикселизации для сетки диаграммы, внешней и внутренней границы

This commit is contained in:
sasha80
2025-12-30 11:28:27 +03:00
parent 1e0d10761a
commit 44275fe92d
3 changed files with 33 additions and 30 deletions

View File

@@ -7,14 +7,16 @@ const color1_default: Color = Color(0.39, 0.44, 0.50, 1.0)
var color0: Color = color0_default
var color1: Color = color1_default
var fs_default_colors: PackedColorArray ## Цвета по умолчанию для блоков ФС.
var fs_default_colors: PackedColorArray ## Цвета по умолчанию для блоков ФС
var image: Image
@export var SecZap: PackedScene
@export var inner_radius_0: = 0.36 ## Внутренний радиус диаграммы в режиме РТО
@export var inner_radius_0: = 0.36 ## Внутренний радиус диаграммы в режиме РТО
@export var inner_radius_1: = 0.855 ## Внутренний радиус диаграммы в обзора
func _ready() -> void:
image = Image.create(NUM_OF_RANGE * NUM_OF_DIRECTIONS, 1, false, Image.FORMAT_RGBA8)
signaller.connect('map_mode_changed', Callable(self, 'set_view_mode'))
ProjectSettings.connect('settings_changed', _on_settings_changed)
_on_settings_changed()
@@ -23,7 +25,6 @@ func _ready() -> void:
func sv(val: float) -> float: return val / ($строб.scale.x / 2.0) * 0.125
func set_band_colors(val: PackedColorArray): material.set('shader_parameter/ant_band_c', val)
func set_band_failures(val: PackedInt32Array): material.set('shader_parameter/ant_band_m', val)
func set_canvas_rotation(val: float): material.set('shader_parameter/rotation', val)
func set_radius_inner_frac(val: float): material.set('shader_parameter/inner_radius', val)
@@ -49,6 +50,14 @@ func get_strob_visible() -> bool: return $строб.visible
func get_strob_width() -> float: return $строб.get_instance_shader_parameter('width')
## Выставляет цвета для секторов
func set_band_colors(val: PackedColorArray):
for x in val.size():
image.set_pixel(x, 0, val[x])
var tex = ImageTexture.create_from_image(image)
material.set('shader_parameter/sec_colors', tex)
## Добавляет сектор запрета[br]
## [param id] - Индекс сектора запрета.[br]
## [param szv.x] - Центральная частота (198...546).[br]

View File

@@ -18,7 +18,6 @@ shader_parameter/ffr = 0.15
shader_parameter/sfr = 0.0
shader_parameter/pfr = 0.013
shader_parameter/afr = 0.0
shader_parameter/ant_band_c = PackedColorArray(0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647, 0.784314, 0.784314, 0.784314, 0.784314, 0.917647, 0.917647, 0.917647, 0.917647)
shader_parameter/ant_band_m = PackedInt32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lniyv"]