Доработка. Устраненение пикселизации для сетки диаграммы, внешней и внутренней границы
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user