├── .gitignore ├── LICENSE ├── README.md ├── dist ├── edgeds_mac │ └── .gitignore ├── edgeds_win │ └── .gitignore └── edgeds_x11 │ └── .gitignore ├── proj ├── conf │ ├── container_configure.gd │ └── container_configure.tscn ├── env_default.tres ├── icon.png ├── icon.png.import ├── import │ └── .gitignore ├── lib │ ├── builtins │ │ └── simple_mesh │ │ │ ├── ext_simple_mesh.gd │ │ │ └── ext_simple_mesh.tscn │ ├── cls_itemlist_extentions.gd │ ├── cls_itemlist_files.gd │ ├── cls_mesh_instance.gd │ ├── cls_screen.gd │ ├── eds_btn_locked.gd │ ├── eds_control_size.gd │ ├── eds_ext_frame.gd │ ├── eds_ext_frame.tscn │ ├── eds_fov.gd │ ├── eds_panel.gd │ ├── eds_popup_frame.gd │ ├── eds_popup_frame.tscn │ ├── eds_render_mode.gd │ ├── eds_shader_param_color.gd │ ├── eds_shader_param_float.gd │ ├── ext │ │ ├── ext_screen_sky │ │ │ ├── ext_main.gd │ │ │ ├── ext_main.tscn │ │ │ ├── screen_sky.tscn │ │ │ ├── screen_sky_env.tres │ │ │ └── shader │ │ │ │ ├── Clouds.shader │ │ │ │ ├── Moon_1k.png │ │ │ │ ├── Moon_1k.png.import │ │ │ │ ├── Sky.shader │ │ │ │ ├── lightning.png │ │ │ │ ├── lightning.png.import │ │ │ │ ├── noise.png │ │ │ │ └── noise.png.import │ │ ├── meta_stream │ │ │ ├── cv_water.tres │ │ │ ├── ext_main.gd │ │ │ ├── ext_main.tscn │ │ │ ├── meta_stream.gd │ │ │ ├── meta_stream.tscn │ │ │ ├── ms_metaball.shader │ │ │ └── ms_screen.shader │ │ ├── paper_template │ │ │ ├── ext_main.gd │ │ │ ├── ext_main.tscn │ │ │ └── paper.gd │ │ ├── particle_rain │ │ │ ├── ext_main.gd │ │ │ ├── ext_main.tscn │ │ │ ├── particle_rain.gd │ │ │ ├── particle_rain.tscn │ │ │ └── res │ │ │ │ ├── fog.png │ │ │ │ ├── fog.png.import │ │ │ │ ├── snow_1.png │ │ │ │ ├── snow_1.png.import │ │ │ │ ├── snow_2.png │ │ │ │ ├── snow_2.png.import │ │ │ │ ├── snow_3.png │ │ │ │ ├── snow_3.png.import │ │ │ │ ├── snow_4.png │ │ │ │ └── snow_4.png.import │ │ └── particle_stream │ │ │ ├── ext_main.gd │ │ │ ├── ext_main.tscn │ │ │ ├── particle_stream.gd │ │ │ └── particle_stream.tscn │ ├── lib_configure.gd │ ├── lib_file_format_obj.gd │ └── lib_ui.gd ├── main.gd ├── main.tscn ├── model │ ├── model_floor01.mesh │ ├── model_floor02.mesh │ ├── model_floor03.mesh │ ├── model_g36c.mesh │ └── model_p90.mesh ├── project.godot ├── res_ui │ ├── font │ │ └── NotoSansJP-Regular.otf │ ├── icon │ │ ├── border-none-solid.idraw │ │ ├── border-none-solid_hover.svg │ │ ├── border-none-solid_hover.svg.import │ │ ├── border-none-solid_normal.svg │ │ ├── border-none-solid_normal.svg.import │ │ ├── border-none-solid_pressed.svg │ │ ├── border-none-solid_pressed.svg.import │ │ ├── camera-solid.idraw │ │ ├── camera-solid_disabled.svg │ │ ├── camera-solid_disabled.svg.import │ │ ├── camera-solid_hover.svg │ │ ├── camera-solid_hover.svg.import │ │ ├── camera-solid_normal.svg │ │ ├── camera-solid_normal.svg.import │ │ ├── camera-solid_pressed.svg │ │ ├── camera-solid_pressed.svg.import │ │ ├── cogs-solid.idraw │ │ ├── cogs-solid_disabled.svg │ │ ├── cogs-solid_disabled.svg.import │ │ ├── cogs-solid_hover.svg │ │ ├── cogs-solid_hover.svg.import │ │ ├── cogs-solid_normal.svg │ │ ├── cogs-solid_normal.svg.import │ │ ├── cogs-solid_pressed.svg │ │ ├── cogs-solid_pressed.svg.import │ │ ├── cubes-solid.idraw │ │ ├── cubes-solid_hover.svg │ │ ├── cubes-solid_hover.svg.import │ │ ├── cubes-solid_normal.svg │ │ ├── cubes-solid_normal.svg.import │ │ ├── cubes-solid_pressed.svg │ │ ├── cubes-solid_pressed.svg.import │ │ ├── door-closed-solid.idraw │ │ ├── door-closed-solid_hover.svg │ │ ├── door-closed-solid_hover.svg.import │ │ ├── door-closed-solid_normal.svg │ │ ├── door-closed-solid_normal.svg.import │ │ ├── door-open-solid.idraw │ │ ├── door-open-solid_hover.svg │ │ ├── door-open-solid_hover.svg.import │ │ ├── door-open-solid_normal.svg │ │ ├── door-open-solid_normal.svg.import │ │ ├── door-open-solid_pressed.svg │ │ ├── door-open-solid_pressed.svg.import │ │ ├── eraser-solid.idraw │ │ ├── eraser-solid_hover.svg │ │ ├── eraser-solid_hover.svg.import │ │ ├── eraser-solid_normal.svg │ │ ├── eraser-solid_normal.svg.import │ │ ├── eraser-solid_pressed.svg │ │ ├── eraser-solid_pressed.svg.import │ │ ├── expand-arrows-alt-normal.svg │ │ ├── expand-arrows-alt-normal.svg.import │ │ ├── expand-arrows-alt-solid.idraw │ │ ├── expand-arrows-alt-solid_hover.svg │ │ ├── expand-arrows-alt-solid_hover.svg.import │ │ ├── expand-arrows-alt-solid_pressed.svg │ │ ├── expand-arrows-alt-solid_pressed.svg.import │ │ ├── file-download-solid.idraw │ │ ├── file-download-solid_disabled.svg │ │ ├── file-download-solid_disabled.svg.import │ │ ├── file-download-solid_hover.svg │ │ ├── file-download-solid_hover.svg.import │ │ ├── file-download-solid_normal.svg │ │ ├── file-download-solid_normal.svg.import │ │ ├── file-download-solid_pressed.svg │ │ ├── file-download-solid_pressed.svg.import │ │ ├── file-solid.idraw │ │ ├── file-solid_hover.svg │ │ ├── file-solid_hover.svg.import │ │ ├── folder-solid.idraw │ │ ├── folder-solid_disabled.svg │ │ ├── folder-solid_disabled.svg.import │ │ ├── folder-solid_hover.svg │ │ ├── folder-solid_hover.svg.import │ │ ├── folder-solid_normal.svg │ │ ├── folder-solid_normal.svg.import │ │ ├── folder-solid_pressed.svg │ │ ├── folder-solid_pressed.svg.import │ │ ├── icon_null.png │ │ ├── icon_null.png.import │ │ ├── lock-open-solid.idraw │ │ ├── lock-open-solid_disabled.svg │ │ ├── lock-open-solid_disabled.svg.import │ │ ├── lock-open-solid_hover.svg │ │ ├── lock-open-solid_hover.svg.import │ │ ├── lock-open-solid_normal.svg │ │ ├── lock-open-solid_normal.svg.import │ │ ├── lock-open-solid_pressed.svg │ │ ├── lock-open-solid_pressed.svg.import │ │ ├── lock-solid.idraw │ │ ├── lock-solid_disabled.svg │ │ ├── lock-solid_disabled.svg.import │ │ ├── lock-solid_hover.svg │ │ ├── lock-solid_hover.svg.import │ │ ├── lock-solid_normal.svg │ │ ├── lock-solid_normal.svg.import │ │ ├── lock-solid_pressed.svg │ │ ├── lock-solid_pressed.svg.import │ │ ├── search-solid.idraw │ │ ├── search-solid_disabled.svg │ │ ├── search-solid_disabled.svg.import │ │ ├── search-solid_hover.svg │ │ ├── search-solid_hover.svg.import │ │ ├── search-solid_normal.svg │ │ ├── search-solid_normal.svg.import │ │ ├── search-solid_pressed.svg │ │ ├── search-solid_pressed.svg.import │ │ ├── search-solid_pressed_16x16.svg │ │ └── search-solid_pressed_16x16.svg.import │ ├── slider_rot.shader │ ├── slider_rot_x.png │ ├── slider_rot_x.png.import │ ├── slider_rot_y.png │ └── slider_rot_y.png.import └── shader │ ├── screen_b.shader │ ├── screen_e.shader │ ├── shader_c.shader │ ├── shader_d.shader │ ├── shader_e.shader │ └── shader_n.shader └── res ├── cheatsheet_0_9_0.png ├── godot_fig_1.jpg ├── godot_fig_2.jpg ├── godot_fig_3.jpg └── sobel_filter.png /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Godot-specific ignores 3 | .import/ 4 | export.cfg 5 | export_presets.cfg 6 | 7 | # Mono-specific ignores 8 | .mono/ 9 | data_*/ 10 | .DS_Store 11 | 12 | model_src 13 | 14 | dist/*.zip 15 | 16 | 17 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 MizunagiKB 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /dist/edgeds_mac/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /dist/edgeds_win/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /dist/edgeds_x11/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /proj/conf/container_configure.gd: -------------------------------------------------------------------------------- 1 | extends VBoxContainer 2 | 3 | 4 | var o_dlg: FileDialog 5 | var o_control: LineEdit 6 | 7 | 8 | func ext_name() -> String: 9 | return "Configure" 10 | 11 | 12 | func ext_init(ext_dir: String) -> bool: 13 | return true 14 | 15 | 16 | func ext_show(_o_cam: Camera, o_node: Spatial, _o_ext: Spatial) -> bool: 17 | return true 18 | 19 | func ext_hide(): 20 | pass 21 | 22 | func ext_accept(): 23 | 24 | LibConfigure.mesh_dir = $hbox1/hbox1/mesh_dir.text 25 | LibConfigure.capture_image_dir = $hbox2/hbox1/capture_image_dir.text 26 | 27 | match $hbox3/render_scale.get_selected_id(): 28 | 0: 29 | LibConfigure.render_scale = 1 30 | 1: 31 | LibConfigure.render_scale = 2 32 | 2: 33 | LibConfigure.render_scale = 4 34 | 3: 35 | LibConfigure.render_scale = 8 36 | 37 | LibConfigure.line_scale = $hbox4/line_scale.get_selected_id() 38 | 39 | LibConfigure.save() 40 | 41 | 42 | func ext_term(): 43 | pass 44 | 45 | 46 | func _ready(): 47 | 48 | LibConfigure.load() 49 | 50 | self.o_dlg = FileDialog.new() 51 | self.o_dlg.rect_size.x = 480 52 | self.o_dlg.rect_size.y = 360 53 | self.o_dlg.mode = FileDialog.MODE_OPEN_DIR 54 | self.o_dlg.access = FileDialog.ACCESS_FILESYSTEM 55 | self.o_dlg.connect("confirmed", self, "_on_confirmed") 56 | 57 | self.add_child(self.o_dlg) 58 | 59 | $hbox1/hbox1/mesh_dir.text = LibConfigure.mesh_dir 60 | $hbox1/hbox1/btn_mesh_dir.connect("pressed", self, "_on_pressed_mesh_dir") 61 | 62 | $hbox2/hbox1/capture_image_dir.text = LibConfigure.capture_image_dir 63 | $hbox2/hbox1/btn_capture_image_dir.connect("pressed", self, "_on_pressed_capture_image_dir") 64 | 65 | $hbox3/render_scale.add_item("x1") 66 | $hbox3/render_scale.add_item("x2") 67 | $hbox3/render_scale.add_item("x4") 68 | $hbox3/render_scale.add_item("x8") 69 | 70 | match LibConfigure.render_scale: 71 | 1: 72 | $hbox3/render_scale.select(0) 73 | 2: 74 | $hbox3/render_scale.select(1) 75 | 4: 76 | $hbox3/render_scale.select(2) 77 | 8: 78 | $hbox3/render_scale.select(3) 79 | 80 | $hbox4/line_scale.add_item("none scaling") 81 | $hbox4/line_scale.add_item("scaling") 82 | 83 | $hbox4/line_scale.select(LibConfigure.line_scale) 84 | 85 | 86 | func _on_pressed_mesh_dir(): 87 | 88 | self.o_control = $hbox1/hbox1/mesh_dir 89 | self.o_dlg.current_dir = self.o_control.text 90 | self.o_dlg.popup_centered() 91 | 92 | 93 | func _on_pressed_capture_image_dir(): 94 | 95 | self.o_control= $hbox2/hbox1/capture_image_dir 96 | self.o_dlg.current_dir = self.o_control.text 97 | self.o_dlg.popup_centered() 98 | 99 | 100 | func _on_confirmed(): 101 | self.o_control.text = self.o_dlg.current_dir 102 | 103 | -------------------------------------------------------------------------------- /proj/env_default.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" format=2] 2 | 3 | [resource] 4 | background_mode = 1 5 | background_color = Color( 0.878431, 0.878431, 0.878431, 1 ) 6 | -------------------------------------------------------------------------------- /proj/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/icon.png -------------------------------------------------------------------------------- /proj/icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /proj/import/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /proj/lib/builtins/simple_mesh/ext_simple_mesh.gd: -------------------------------------------------------------------------------- 1 | extends VBoxContainer 2 | 3 | 4 | const list_cube_vtx = [ 5 | Vector3( 1.0, -1.0, -1.0), 6 | Vector3( 1.0, -1.0, 1.0), 7 | Vector3(-1.0, -1.0, 1.0), 8 | Vector3(-1.0, -1.0, -1.0), 9 | Vector3( 1.0, 1.0, -1.0), 10 | Vector3( 1.0, 1.0, 1.0), 11 | Vector3(-1.0, 1.0, 1.0), 12 | Vector3(-1.0, 1.0, -1.0) 13 | ] 14 | 15 | const list_cube_idx = [ 16 | 0, 1, 1, 2, 2, 3, 3, 0, 17 | 4, 5, 5, 6, 6, 7, 7, 4, 18 | 0, 4, 1, 5, 2, 6, 3, 7 19 | ] 20 | 21 | const fixed_aabb = AABB( 22 | Vector3(-100, -100, -1), 23 | Vector3(200, 200, 2) 24 | ) 25 | 26 | 27 | var o_mesh_instance: CEDSMeshInstance 28 | var o_node: Node 29 | var list_node = [] 30 | 31 | var result = false 32 | var need_update = false 33 | 34 | 35 | onready var list_update_event = [ 36 | {"control": $btn_primitive, "signal_name": "item_selected"} 37 | ] 38 | 39 | 40 | func ext_name() -> String: 41 | return "SimpleMesh" 42 | self.add 43 | 44 | func ext_init(ext_dir: String) -> bool: 45 | 46 | $btn_primitive.add_item("CubeMesh") 47 | $btn_primitive.add_item("CylinderMesh") 48 | $btn_primitive.add_item("SphereMesh") 49 | 50 | return true 51 | 52 | 53 | func ext_show(o_cam: Camera, o_node: Spatial, o_extention: Spatial) -> bool: 54 | 55 | self.list_node = [] 56 | 57 | self.o_node = o_node 58 | 59 | for o in self.o_node.get_children(): 60 | self.o_node.remove_child(o) 61 | self.list_node.append(o) 62 | 63 | self.o_mesh_instance = CEDSMeshInstance.new() 64 | self.o_node.add_child(self.o_mesh_instance) 65 | 66 | for o_control in list_update_event: 67 | if o_control.control.is_connected( 68 | o_control.signal_name, 69 | self, 70 | "_on_event" 71 | ) != true: 72 | o_control.control.connect( 73 | o_control.signal_name, self, "_on_event" 74 | ) 75 | 76 | self.need_update = true 77 | 78 | return true 79 | 80 | 81 | func ext_hide() -> bool: 82 | 83 | if self.result == true: 84 | for o in self.list_node: 85 | o.queue_free() 86 | else: 87 | self.o_mesh_instance.queue_free() 88 | 89 | for o in self.list_node: 90 | self.o_node.add_child(o) 91 | 92 | self.o_mesh_instance = null 93 | 94 | return true 95 | 96 | 97 | func ext_accept(): 98 | self.result = true 99 | 100 | 101 | func ext_term(): 102 | pass 103 | 104 | 105 | func get_mesh() -> Mesh: 106 | 107 | match $btn_primitive.selected: 108 | 0: 109 | return CubeMesh.new() 110 | 1: 111 | return CylinderMesh.new() 112 | 2: 113 | return SphereMesh.new() 114 | 115 | return null 116 | 117 | 118 | func _process(delta): 119 | 120 | if self.need_update == true: 121 | var new_mesh = self.get_mesh() 122 | self.o_mesh_instance.set_mesh(new_mesh) 123 | self.need_update = false 124 | 125 | 126 | func _on_event(_value): 127 | self.need_update = true 128 | 129 | -------------------------------------------------------------------------------- /proj/lib/builtins/simple_mesh/ext_simple_mesh.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://lib/builtins/simple_mesh/ext_simple_mesh.gd" type="Script" id=1] 4 | 5 | [node name="ext_simple_mesh" type="VBoxContainer"] 6 | margin_right = 256.0 7 | margin_bottom = 80.0 8 | script = ExtResource( 1 ) 9 | __meta__ = { 10 | "_edit_use_anchors_": false 11 | } 12 | 13 | [node name="lbl" type="Label" parent="."] 14 | margin_right = 256.0 15 | margin_bottom = 32.0 16 | rect_min_size = Vector2( 0, 32 ) 17 | text = "Select PrimitiveType" 18 | valign = 2 19 | 20 | [node name="btn_primitive" type="OptionButton" parent="."] 21 | margin_top = 36.0 22 | margin_right = 256.0 23 | margin_bottom = 68.0 24 | rect_min_size = Vector2( 0, 32 ) 25 | focus_mode = 0 26 | enabled_focus_mode = 0 27 | align = 1 28 | __meta__ = { 29 | "_edit_use_anchors_": false 30 | } 31 | -------------------------------------------------------------------------------- /proj/lib/cls_itemlist_extentions.gd: -------------------------------------------------------------------------------- 1 | extends ItemList 2 | class_name EDSItemListExtentions 3 | 4 | 5 | const TYPE_FOLD = 0 6 | const TYPE_FILE = 1 7 | 8 | var tex_fold = load("res://res_ui/icon/folder-solid_hover.svg") 9 | var tex_file = load("res://res_ui/icon/file-solid_hover.svg") 10 | var tex_null = load("res://res_ui/icon/icon_null.png") 11 | var dir_curr = "" 12 | 13 | 14 | func order_dir_file(a, b): 15 | if a[0] == b[0]: 16 | if a[1] < b[1]: 17 | return true 18 | if a[0] < b[0]: 19 | return true 20 | return false 21 | 22 | 23 | func reload(pathname: String) -> bool: 24 | 25 | if pathname == "": 26 | pathname = "/" 27 | 28 | var o_dir = Directory.new() 29 | 30 | if o_dir.open(pathname) != OK: 31 | return false 32 | 33 | self.clear() 34 | 35 | o_dir.list_dir_begin() 36 | 37 | var list_name = [] 38 | 39 | while true: 40 | 41 | var name: String = o_dir.get_next() 42 | 43 | if name == "": 44 | break 45 | 46 | if name == ".": 47 | continue 48 | 49 | if o_dir.current_is_dir(): 50 | var ext_pathname: String = pathname + "/" + name.plus_file("ext_main.tscn") 51 | 52 | if ResourceLoader.exists(ext_pathname) == true: 53 | var o_class = load(ext_pathname) 54 | if o_class != null: 55 | list_name.append([TYPE_FILE, o_class]) 56 | else: 57 | list_name.append([TYPE_FOLD, name]) 58 | 59 | list_name.sort_custom(self, "order_dir_file") 60 | 61 | 62 | for item in list_name: 63 | match item[0]: 64 | TYPE_FOLD: 65 | self.add_item(item[1], tex_fold) 66 | TYPE_FILE: 67 | var o_instance = item[1].instance() 68 | var idx = self.get_item_count() 69 | self.add_item(o_instance.ext_name(), tex_null) 70 | self.set_item_metadata(idx, item[1]) 71 | 72 | self.dir_curr = pathname 73 | 74 | # self.get_node("../file_search").clear() 75 | 76 | return true 77 | 78 | 79 | func load_extention(ext_pathname: String): 80 | 81 | var ext_frame = load("res://lib/eds_ext_frame.tscn").instance() 82 | 83 | get_tree().get_root().get_node("main_frame").add_child(ext_frame) 84 | 85 | if ext_frame.add_control(ext_pathname) == true: 86 | ext_frame.popup_exclusive = true 87 | ext_frame.popup_centered() 88 | else: 89 | ext_frame.queue_Free() 90 | 91 | 92 | func _ready(): 93 | 94 | self.connect("item_selected", self, "_on_item_selected") 95 | 96 | 97 | func _on_item_selected(index: int): 98 | 99 | if self.get_item_icon(index) == self.tex_fold: 100 | 101 | var name = self.get_item_text(index) 102 | 103 | if name != ".": 104 | if name == "..": 105 | var list_pathname = self.dir_curr.split("/") 106 | list_pathname.remove(list_pathname.size() - 1) 107 | self.reload(list_pathname.join("/")) 108 | else: 109 | self.reload(self.dir_curr.plus_file(self.get_item_text(index))) 110 | 111 | else: 112 | 113 | var o_class = self.get_item_metadata(index) 114 | self.load_extention(o_class.get_path()) 115 | 116 | -------------------------------------------------------------------------------- /proj/lib/cls_mesh_instance.gd: -------------------------------------------------------------------------------- 1 | extends MeshInstance 2 | class_name CEDSMeshInstance 3 | const EXT_GUID = "f32b11c7-008b-41ef-bafb-5c1e80b41340" 4 | 5 | 6 | func set_mesh(new_mesh: Mesh): 7 | 8 | if new_mesh != null: 9 | 10 | self.transform = Transform.IDENTITY 11 | 12 | var bbox = new_mesh.get_aabb() 13 | 14 | var length = bbox.size.length() 15 | var vct_trans = Vector3.ZERO 16 | var scale = 8 17 | if length > 0: 18 | scale /= length 19 | 20 | self.scale = Vector3(scale, scale, scale) 21 | 22 | vct_trans -= bbox.position 23 | vct_trans -= (bbox.size / 2) 24 | 25 | print(self.scale) 26 | print(vct_trans) 27 | 28 | self.translate_object_local(vct_trans) 29 | 30 | self.add_to_group("render_node") 31 | 32 | get_tree().call_group("render_mode", "request_material") 33 | 34 | self.mesh = new_mesh 35 | 36 | -------------------------------------------------------------------------------- /proj/lib/cls_screen.gd: -------------------------------------------------------------------------------- 1 | extends CSGMesh 2 | 3 | 4 | func _ready(): 5 | pass 6 | 7 | -------------------------------------------------------------------------------- /proj/lib/eds_btn_locked.gd: -------------------------------------------------------------------------------- 1 | tool 2 | extends TextureButton 3 | class_name EDSTextureButton 4 | 5 | 6 | export(Texture) var tex0_normal 7 | export(Texture) var tex0_hover 8 | export(Texture) var tex0_pressed 9 | export(Texture) var tex0_disabled 10 | export(Texture) var tex1_normal 11 | export(Texture) var tex1_hover 12 | export(Texture) var tex1_pressed 13 | export(Texture) var tex1_disabled 14 | 15 | var pressed_status: bool = false 16 | 17 | 18 | func set_textures(): 19 | if self.pressed_status == true: 20 | self.texture_normal = tex1_normal 21 | self.texture_hover = tex1_hover 22 | self.texture_pressed = tex0_pressed 23 | self.texture_disabled = tex1_disabled 24 | else: 25 | self.texture_normal = tex0_normal 26 | self.texture_hover = tex0_hover 27 | self.texture_pressed = tex1_pressed 28 | self.texture_disabled = tex0_disabled 29 | 30 | 31 | func _ready(): 32 | self.connect("pressed", self, "_on_pressed") 33 | self.set_textures() 34 | 35 | 36 | func _process(_delta): 37 | pass 38 | 39 | 40 | func _on_pressed(): 41 | self.pressed_status = not self.pressed_status 42 | self.set_textures() 43 | 44 | -------------------------------------------------------------------------------- /proj/lib/eds_control_size.gd: -------------------------------------------------------------------------------- 1 | extends Control 2 | class_name EDSControlSize 3 | 4 | const MIN_WINDOW_W = 640 5 | const MIN_WINDOW_H = 480 6 | 7 | var require_update: bool = false 8 | var window_move: Vector2 9 | var window_size: Vector2 10 | var mouse_pos: Vector2 11 | var mouse_pressed: bool = false 12 | 13 | 14 | func _ready(): 15 | 16 | self.window_move = OS.window_position 17 | self.window_size = OS.window_size 18 | 19 | self.connect("gui_input", self, "_on_gui_input") 20 | 21 | 22 | func _process(_delta): 23 | 24 | if self.require_update == true: 25 | OS.window_size = self.window_size 26 | OS.window_position = self.window_move 27 | self.require_update = false 28 | 29 | 30 | func _on_gui_input(event): 31 | 32 | if event is InputEventMouseButton: 33 | if event.button_index == BUTTON_LEFT: 34 | if event.pressed == true: 35 | self.window_move = OS.window_position 36 | self.window_size = OS.window_size 37 | self.mouse_pos = event.position 38 | else: 39 | self.warp_mouse(self.mouse_pos) 40 | 41 | self.mouse_pressed = event.pressed 42 | 43 | 44 | if event is InputEventMouseMotion: 45 | if self.mouse_pressed == true: 46 | 47 | match self.mouse_default_cursor_shape: 48 | CURSOR_HSIZE: 49 | self.window_size.x += event.relative.x 50 | CURSOR_VSIZE: 51 | self.window_size.y += event.relative.y 52 | CURSOR_FDIAGSIZE: 53 | self.window_size += event.relative 54 | 55 | var w = max(self.window_size.x, MIN_WINDOW_W) 56 | var h = max(self.window_size.y, MIN_WINDOW_H) 57 | self.window_size = Vector2(w, h) 58 | self.require_update = true 59 | -------------------------------------------------------------------------------- /proj/lib/eds_ext_frame.gd: -------------------------------------------------------------------------------- 1 | extends WindowDialog 2 | class_name EDSExtFrame 3 | 4 | 5 | const WINDOW_MIN_SIZE: int = 256 6 | 7 | var ext_node: Control 8 | 9 | 10 | func add_control(ext_pathname: String) -> bool: 11 | 12 | var node = load(ext_pathname).instance() 13 | 14 | if node == null: 15 | return false 16 | 17 | node.anchor_top = 0 18 | node.anchor_bottom = 0 19 | node.anchor_left = 0 20 | node.anchor_right = 0 21 | 22 | #node.rect_size.x = 0 23 | #node.rect_size.y = 0 24 | node.rect_position.x += 8 25 | node.rect_position.y += 8 26 | 27 | self.add_child(node) 28 | 29 | var size = Vector2.ZERO 30 | 31 | size.x = max(node.rect_min_size.x, node.rect_size.x) 32 | size.x = max(WINDOW_MIN_SIZE, size.x) 33 | size.y = max(node.rect_min_size.y, node.rect_size.y) 34 | size.y += $base.rect_size.y 35 | 36 | size.x += 16 37 | size.y += 16 38 | 39 | self.rect_size = size 40 | 41 | self.ext_node = node 42 | self.ext_node.ext_init(ext_pathname.get_base_dir()) 43 | 44 | return true 45 | 46 | 47 | func _ready(): 48 | 49 | self.connect("visibility_changed", self, "_on_visibility_changed") 50 | self.connect("tree_exited", self, "_on_tree_exited") 51 | 52 | $base/btn_ok.connect("pressed", self, "_on_pressed_ok") 53 | $base/btn_cancel.connect("pressed", self, "_on_pressed_cancel") 54 | 55 | 56 | func _on_tree_exited(): 57 | self.ext_node.ext_term() 58 | self.ext_node.queue_free() 59 | 60 | 61 | func _on_visibility_changed(): 62 | self.window_title = self.ext_node.ext_name() 63 | 64 | if self.visible == true: 65 | self.ext_node.ext_show( 66 | get_node("../camera"), 67 | get_node("../base/node"), 68 | get_node("../base/extension") 69 | ) 70 | else: 71 | self.ext_node.ext_hide() 72 | 73 | 74 | func _on_pressed_ok(): 75 | self.ext_node.ext_accept() 76 | self.hide() 77 | self.queue_free() 78 | 79 | 80 | func _on_pressed_cancel(): 81 | self.hide() 82 | self.queue_free() 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /proj/lib/eds_ext_frame.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://lib/eds_ext_frame.gd" type="Script" id=1] 4 | 5 | [node name="EDSExtFrame" type="WindowDialog"] 6 | margin_right = 256.0 7 | margin_bottom = 256.0 8 | rect_min_size = Vector2( 256, 0 ) 9 | resizable = true 10 | script = ExtResource( 1 ) 11 | __meta__ = { 12 | "_edit_use_anchors_": false 13 | } 14 | 15 | [node name="base" type="Control" parent="."] 16 | anchor_top = 1.0 17 | anchor_right = 1.0 18 | anchor_bottom = 1.0 19 | margin_left = 8.0 20 | margin_top = -32.0 21 | margin_right = -8.0 22 | rect_min_size = Vector2( 0, 32 ) 23 | __meta__ = { 24 | "_edit_use_anchors_": false 25 | } 26 | 27 | [node name="btn_ok" type="Button" parent="base"] 28 | anchor_left = 1.0 29 | anchor_top = 0.5 30 | anchor_right = 1.0 31 | anchor_bottom = 0.5 32 | margin_left = -128.0 33 | margin_top = -16.0 34 | margin_bottom = 8.0 35 | text = "OK" 36 | __meta__ = { 37 | "_edit_use_anchors_": false 38 | } 39 | 40 | [node name="btn_cancel" type="Button" parent="base"] 41 | anchor_left = 1.0 42 | anchor_top = 0.5 43 | anchor_right = 1.0 44 | anchor_bottom = 0.5 45 | margin_left = -208.0 46 | margin_top = -16.0 47 | margin_right = -144.0 48 | margin_bottom = 8.0 49 | text = "Cancel" 50 | __meta__ = { 51 | "_edit_use_anchors_": false 52 | } 53 | 54 | [node name="Control" type="Control" parent="."] 55 | anchor_right = 1.0 56 | margin_left = 8.0 57 | margin_top = 8.0 58 | margin_right = -8.0 59 | margin_bottom = 24.0 60 | __meta__ = { 61 | "_edit_use_anchors_": false 62 | } 63 | -------------------------------------------------------------------------------- /proj/lib/eds_fov.gd: -------------------------------------------------------------------------------- 1 | extends SpinBox 2 | 3 | 4 | # Declare member variables here. Examples: 5 | # var a = 2 6 | # var b = "text" 7 | 8 | 9 | # Called when the node enters the scene tree for the first time. 10 | func _ready(): 11 | 12 | self.connect("value_changed", self, "_on_value_changed") 13 | self.hint_tooltip = String(self.value) 14 | 15 | 16 | func _on_value_changed(value: float): 17 | 18 | match self.name: 19 | _: 20 | get_tree().call_group("camera", "set_fov", value) 21 | self.hint_tooltip = String(value) 22 | 23 | -------------------------------------------------------------------------------- /proj/lib/eds_panel.gd: -------------------------------------------------------------------------------- 1 | extends Panel 2 | class_name EDSPanel 3 | 4 | 5 | var require_update: bool = false 6 | var window_move: Vector2 7 | var mouse_pos: Vector2 8 | var mouse_pressed: bool = false 9 | 10 | 11 | func _ready(): 12 | 13 | self.window_move = OS.window_position 14 | 15 | self.connect("gui_input", self, "_on_gui_input") 16 | 17 | 18 | func _process(_delta): 19 | 20 | if self.require_update == true: 21 | OS.window_position = self.window_move 22 | self.require_update = false 23 | 24 | 25 | func _on_gui_input(event): 26 | 27 | 28 | if LibUi.show != true: 29 | return 30 | 31 | if event is InputEventMouseButton: 32 | if event.button_index == BUTTON_LEFT: 33 | if event.pressed == true: 34 | self.window_move = OS.window_position 35 | self.mouse_pos = get_viewport().get_mouse_position() 36 | else: 37 | get_viewport().warp_mouse(self.mouse_pos) 38 | 39 | self.mouse_pressed = event.pressed 40 | 41 | 42 | if event is InputEventMouseMotion: 43 | if self.mouse_pressed == true: 44 | self.require_update = true 45 | self.window_move += event.relative 46 | 47 | -------------------------------------------------------------------------------- /proj/lib/eds_popup_frame.gd: -------------------------------------------------------------------------------- 1 | extends WindowDialog 2 | class_name EDSPopupFrame 3 | 4 | 5 | func _ready(): 6 | 7 | $base/btn_ok.connect("pressed", self, "_on_pressed_ok") 8 | 9 | 10 | func _on_pressed_ok(): 11 | self.hide() 12 | self.queue_free() 13 | 14 | -------------------------------------------------------------------------------- /proj/lib/eds_popup_frame.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://lib/eds_popup_frame.gd" type="Script" id=1] 4 | 5 | [node name="EDSPopupFrame" type="WindowDialog"] 6 | visible = true 7 | anchor_right = 0.333 8 | anchor_bottom = 0.229 9 | margin_right = 0.320007 10 | margin_bottom = -0.240005 11 | script = ExtResource( 1 ) 12 | __meta__ = { 13 | "_edit_use_anchors_": false 14 | } 15 | 16 | [node name="base" type="Control" parent="."] 17 | anchor_top = 1.0 18 | anchor_right = 1.0 19 | anchor_bottom = 1.0 20 | margin_left = 8.0 21 | margin_top = -32.0 22 | margin_right = -8.0 23 | rect_min_size = Vector2( 0, 32 ) 24 | __meta__ = { 25 | "_edit_use_anchors_": false 26 | } 27 | 28 | [node name="btn_ok" type="Button" parent="base"] 29 | anchor_left = 0.5 30 | anchor_top = 0.5 31 | anchor_right = 0.5 32 | anchor_bottom = 0.5 33 | margin_left = -64.0 34 | margin_top = -12.0 35 | margin_right = 64.0 36 | margin_bottom = 12.0 37 | rect_min_size = Vector2( 128, 24 ) 38 | text = "OK" 39 | __meta__ = { 40 | "_edit_use_anchors_": false 41 | } 42 | 43 | [node name="lbl_rich_message" type="RichTextLabel" parent="."] 44 | margin_left = 8.0 45 | margin_top = 16.0 46 | margin_right = 312.0 47 | margin_bottom = 80.0 48 | text = "Dummy" 49 | __meta__ = { 50 | "_edit_use_anchors_": false 51 | } 52 | -------------------------------------------------------------------------------- /proj/lib/eds_shader_param_color.gd: -------------------------------------------------------------------------------- 1 | extends ColorPickerButton 2 | class_name EDSShaderParam_ColorPickerButton 3 | 4 | # Declare member variables here. Examples: 5 | # var a = 2 6 | # var b = "text" 7 | 8 | 9 | # Called when the node enters the scene tree for the first time. 10 | func _ready(): 11 | self.connect("color_changed", self, "_on_color_changed") 12 | self.hint_tooltip = "R:%d, G:%d, B:%d, A:%d" % [ 13 | self.color.r8, 14 | self.color.g8, 15 | self.color.b8, 16 | self.color.a8 17 | ] 18 | 19 | 20 | func _on_color_changed(color: Color): 21 | 22 | match self.name: 23 | _: 24 | get_tree().call_group("render_mode", "set_shader_param", self.name, color) 25 | -------------------------------------------------------------------------------- /proj/lib/eds_shader_param_float.gd: -------------------------------------------------------------------------------- 1 | extends HScrollBar 2 | class_name EDSShaderParam_float 3 | 4 | 5 | func _ready(): 6 | self.connect("value_changed", self, "_on_value_changed") 7 | self.hint_tooltip = String(self.value) 8 | 9 | 10 | func _on_value_changed(value: float): 11 | 12 | match self.name: 13 | _: 14 | get_tree().call_group("render_mode", "set_shader_param", self.name, value) 15 | self.editor_description = String(value) 16 | -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/ext_main.gd: -------------------------------------------------------------------------------- 1 | extends VBoxContainer 2 | 3 | 4 | var extention_dir = null 5 | 6 | var o_base_cam: Camera = null 7 | var o_base_ext: Spatial = null 8 | var o_extention_node = null 9 | 10 | 11 | func ext_name() -> String: 12 | return "Sceen Sky" 13 | 14 | 15 | func ext_init(ext_dir: String) -> bool: 16 | self.extention_dir = ext_dir 17 | return true 18 | 19 | 20 | func get_conf() -> Dictionary: 21 | return {} 22 | 23 | 24 | func set_conf(_conf: Dictionary) -> bool: 25 | return false 26 | 27 | 28 | func ext_show(o_cam: Camera, _o_control: Spatial, o_ext: Spatial) -> bool: 29 | self.o_base_cam = o_cam 30 | self.o_base_ext = o_ext 31 | 32 | if o_base_ext.get_child_count() == 0: 33 | $btn_screen.select(0) 34 | else: 35 | self.o_extention_node = o_base_ext.get_children()[0] 36 | $btn_screen.select(1) 37 | 38 | return true 39 | 40 | 41 | func ext_hide(): 42 | self.o_base_cam = null 43 | self.o_base_ext = null 44 | 45 | 46 | func ext_accept(): 47 | pass 48 | 49 | func ext_term(): 50 | pass 51 | 52 | 53 | func _ready(): 54 | pass # Replace with function body. 55 | 56 | 57 | func _on_btn_screen_item_selected(id): 58 | match id: 59 | 0: 60 | if self.o_extention_node != null: 61 | self.o_base_ext.remove_child(self.o_extention_node) 62 | self.o_extention_node.queue_free() 63 | self.o_extention_node = null 64 | self.o_base_cam.environment = null 65 | 1: 66 | if self.o_extention_node == null: 67 | self.o_extention_node = load(self.extention_dir + "/screen_sky.tscn").instance() 68 | self.o_extention_node.set_time_of_day($hbox1/slider_time.value / 1440.0) 69 | self.o_extention_node.set_clouds_coverage($hbox2/slider_clouds_coverage.value) 70 | self.o_extention_node.set_clouds_size($hbox3/slider_clouds_size.value) 71 | self.o_extention_node.set_wind_strength($hbox4/wind_strength.value) 72 | self.o_base_ext.add_child(self.o_extention_node) 73 | self.o_base_cam.environment = null 74 | 75 | 76 | func _on_slider_time_value_changed(value): 77 | if self.o_extention_node != null: 78 | self.o_extention_node.set_time_of_day(value / 1444.0) 79 | 80 | 81 | func _on_slider_clouds_coverage_value_changed(value): 82 | if self.o_extention_node != null: 83 | self.o_extention_node.set_clouds_coverage(value) 84 | 85 | 86 | func _on_slider_clouds_size_value_changed(value): 87 | if self.o_extention_node != null: 88 | self.o_extention_node.set_clouds_size(value) 89 | 90 | 91 | func _on_wind_strength_value_changed(value): 92 | if self.o_extention_node != null: 93 | self.o_extention_node.set_wind_strength(value) 94 | 95 | -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/screen_sky_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=3 format=2] 2 | 3 | [sub_resource type="ViewportTexture" id=1] 4 | 5 | [sub_resource type="PanoramaSky" id=2] 6 | panorama = SubResource( 1 ) 7 | 8 | [resource] 9 | background_mode = 2 10 | background_sky = SubResource( 2 ) 11 | ambient_light_color = Color( 1, 1, 1, 1 ) 12 | ambient_light_energy = 0.75 13 | fog_color = Color( 1, 1, 1, 1 ) 14 | adjustment_saturation = 0.75 15 | -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/shader/Moon_1k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/ext_screen_sky/shader/Moon_1k.png -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/shader/Moon_1k.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/Moon_1k.png-07b38e7fa27236a29e83c26a95b7ae65.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://lib/ext/ext_screen_sky/shader/Moon_1k.png" 13 | dest_files=[ "res://.import/Moon_1k.png-07b38e7fa27236a29e83c26a95b7ae65.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/shader/lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/ext_screen_sky/shader/lightning.png -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/shader/lightning.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lightning.png-f3fda66e0d1f720a5dd05e6c8cb90cdf.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://lib/ext/ext_screen_sky/shader/lightning.png" 13 | dest_files=[ "res://.import/lightning.png-f3fda66e0d1f720a5dd05e6c8cb90cdf.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/shader/noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/ext_screen_sky/shader/noise.png -------------------------------------------------------------------------------- /proj/lib/ext/ext_screen_sky/shader/noise.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/noise.png-940b3cda8c8d35de015db0a11a0ca26d.s3tc.stex" 6 | path.etc2="res://.import/noise.png-940b3cda8c8d35de015db0a11a0ca26d.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://lib/ext/ext_screen_sky/shader/noise.png" 15 | dest_files=[ "res://.import/noise.png-940b3cda8c8d35de015db0a11a0ca26d.s3tc.stex", "res://.import/noise.png-940b3cda8c8d35de015db0a11a0ca26d.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=1 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=2 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /proj/lib/ext/meta_stream/cv_water.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="CurveTexture" load_steps=2 format=2] 2 | 3 | [sub_resource type="Curve" id=1] 4 | _data = [ Vector2( 0, 0.198198 ), 0.0, 0.175676, 0, 0, Vector2( 1, 0.950451 ), 1.40541, 0.0, 0, 0 ] 5 | 6 | [resource] 7 | width = 256 8 | curve = SubResource( 1 ) 9 | -------------------------------------------------------------------------------- /proj/lib/ext/meta_stream/meta_stream.gd: -------------------------------------------------------------------------------- 1 | extends Spatial 2 | # EXT_GUID 3 | const EXT_GUID = "e1a0e57e-b750-4c65-9391-23ece7de2680" 4 | 5 | 6 | const GRAVITY: float = 9.8 7 | 8 | var camera: Camera 9 | var base_node: Spatial 10 | var mat_curr: ShaderMaterial 11 | var liquid_entity = 0.2 12 | var liquid_outline = 2.5 13 | 14 | var extension_dir = "" 15 | var recalc_gravity = false 16 | 17 | 18 | func _ready(): 19 | 20 | $Viewport.own_world = true 21 | 22 | self.camera = get_node("/root/main_frame/camera") 23 | self.base_node = get_node("/root/main_frame/base/node") 24 | 25 | self.connect("tree_exiting", self, "_on_tree_exiting") 26 | 27 | $direction.add_to_group("render_node") 28 | get_tree().call_group("render_mode", "request_material") 29 | 30 | $Viewport/base/node/particle1.amount = 256 31 | $Viewport/base/node/particle1.lifetime = 5.0 32 | $Viewport/base/node/particle1.explosiveness = 0 33 | $Viewport/base/node/particle1.process_material = ParticlesMaterial.new() 34 | $Viewport/base/node/particle1.process_material.spread = 1 35 | $Viewport/base/node/particle1.process_material.initial_velocity = 10 36 | $Viewport/base/node/particle1.process_material.initial_velocity_random = 0.1 37 | $Viewport/base/node/particle1.process_material.linear_accel = 0 38 | $Viewport/base/node/particle1.process_material.scale = 1 39 | $Viewport/base/node/particle1.process_material.scale_random = 0.5 40 | 41 | $Viewport/base/node/particle1.process_material.scale_curve = load(self.extension_dir + "/cv_water.tres") 42 | 43 | self.mat_curr = ShaderMaterial.new() 44 | self.mat_curr.shader = load(self.extension_dir + "/ms_screen.shader") 45 | self.mat_curr.set_shader_param("tex", $Viewport.get_texture()) 46 | 47 | get_tree().call_group("render_mode", "set_shader_param", "next_pass", self.mat_curr); 48 | 49 | 50 | func _process(_delta): 51 | 52 | $Viewport.size = get_viewport().size 53 | 54 | $Viewport/camera.fov = self.camera.fov 55 | $Viewport/camera.h_offset = self.camera.h_offset 56 | $Viewport/camera.v_offset = self.camera.v_offset 57 | $Viewport/camera.transform = self.camera.transform 58 | $Viewport/base/node.transform = self.base_node.transform 59 | 60 | var rot = $Viewport/base/node.rotation 61 | var vct_dir = Vector3.RIGHT 62 | var vct_gra = Vector3.DOWN 63 | 64 | if self.recalc_gravity == true: 65 | vct_gra = vct_gra.rotated(Vector3.UP, rot.y) 66 | vct_gra = vct_gra.rotated(Vector3.LEFT, rot.x) 67 | vct_gra = vct_gra.rotated(Vector3.FORWARD, rot.z) 68 | else: 69 | vct_gra = Vector3.DOWN 70 | 71 | $Viewport/base/node/particle1.process_material.gravity = vct_gra.normalized() * GRAVITY 72 | 73 | 74 | func _on_tree_exiting(): 75 | 76 | get_tree().call_group("render_mode", "set_shader_param", "next_pass", 0) 77 | 78 | -------------------------------------------------------------------------------- /proj/lib/ext/meta_stream/meta_stream.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=8 format=2] 2 | 3 | [ext_resource path="res://lib/ext/meta_stream/ms_metaball.shader" type="Shader" id=1] 4 | [ext_resource path="res://lib/ext/meta_stream/meta_stream.gd" type="Script" id=2] 5 | [ext_resource path="res://lib/ext/meta_stream/cv_water.tres" type="Texture" id=3] 6 | 7 | [sub_resource type="PrismMesh" id=1] 8 | 9 | [sub_resource type="ParticlesMaterial" id=2] 10 | scale_curve = ExtResource( 3 ) 11 | 12 | [sub_resource type="ShaderMaterial" id=3] 13 | shader = ExtResource( 1 ) 14 | 15 | [sub_resource type="QuadMesh" id=4] 16 | material = SubResource( 3 ) 17 | 18 | [node name="meta_stream" type="Spatial"] 19 | script = ExtResource( 2 ) 20 | 21 | [node name="direction" type="CSGMesh" parent="."] 22 | transform = Transform( -1.62921e-07, 1, -1.62921e-07, 0, -1.62921e-07, -1, -1, -1.62921e-07, 2.65431e-14, -2, 0, 0 ) 23 | mesh = SubResource( 1 ) 24 | 25 | [node name="Viewport" type="Viewport" parent="."] 26 | transparent_bg = true 27 | render_target_v_flip = true 28 | 29 | [node name="camera" type="Camera" parent="Viewport"] 30 | fov = 45.0 31 | 32 | [node name="base" type="Spatial" parent="Viewport"] 33 | 34 | [node name="node" type="Spatial" parent="Viewport/base"] 35 | 36 | [node name="particle1" type="Particles" parent="Viewport/base/node"] 37 | amount = 256 38 | lifetime = 5.0 39 | process_material = SubResource( 2 ) 40 | draw_pass_1 = SubResource( 4 ) 41 | -------------------------------------------------------------------------------- /proj/lib/ext/meta_stream/ms_metaball.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode blend_add, cull_disabled, unshaded, specular_disabled, shadows_disabled, ambient_light_disabled;//, depth_test_disable; 3 | 4 | 5 | void vertex() 6 | { 7 | vec2 scale = vec2( 8 | length(MODELVIEW_MATRIX[0]) / 2.0, 9 | length(MODELVIEW_MATRIX[1]) 10 | ); 11 | 12 | scale *= 8.0; 13 | 14 | vec4 billboard = MODELVIEW_MATRIX * vec4(0.0, 0.0, 0.0, 1.0); 15 | vec4 newPosition = PROJECTION_MATRIX * billboard + vec4(scale * VERTEX.xy, 0.0, 0.0); 16 | vec4 orig_pos = POSITION; 17 | 18 | UV = vec2(VERTEX.x + 0.5, VERTEX.y + 0.5); 19 | POSITION = newPosition; 20 | VERTEX = VERTEX; 21 | } 22 | 23 | 24 | void fragment() 25 | { 26 | vec2 pos = UV - vec2(0.5); 27 | 28 | float len = max(0.5 - length(pos), 0.0); 29 | float alp = len; 30 | 31 | ALPHA = alp; 32 | ALBEDO = vec3(len); 33 | } 34 | -------------------------------------------------------------------------------- /proj/lib/ext/meta_stream/ms_screen.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode blend_mix, cull_disabled, unshaded, specular_disabled, shadows_disabled, ambient_light_disabled;//, depth_test_disable; 3 | 4 | 5 | uniform sampler2D tex; 6 | 7 | uniform float liquid_entity = 0.2; 8 | uniform float liquid_outline = 2.5; 9 | 10 | 11 | void vertex() 12 | { 13 | POSITION = vec4(VERTEX, 1.0); 14 | } 15 | 16 | 17 | void fragment() 18 | { 19 | float n_out5p1; 20 | vec4 tex_screen = texture(tex, UV); 21 | 22 | { 23 | n_out5p1 = tex_screen.a; 24 | } 25 | 26 | if(n_out5p1 > liquid_entity) 27 | { 28 | float r = min((n_out5p1 * liquid_outline), 1.0); 29 | float v = sin(radians(r * 180.0)); 30 | ALBEDO.rgb = vec3(0.0); 31 | n_out5p1 = v; 32 | } else { 33 | n_out5p1 = 0.0; 34 | } 35 | 36 | ALPHA = n_out5p1; 37 | } 38 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/particle_rain.gd: -------------------------------------------------------------------------------- 1 | extends Spatial 2 | # 3 | const EXT_GUID = "61588df9-ee20-4c43-9f18-9c0489cfe949" 4 | 5 | 6 | var amount: float setget set_amount 7 | 8 | 9 | func set_amount(value: float): 10 | 11 | $particles_snow_2/snow_1.amount = 2 * value 12 | $particles_snow_2/snow_2.amount = 16 * value 13 | $particles_snow_2/snow_3.amount = 256 * value 14 | $particles_snow_2/snow_4.amount = 128 * value 15 | 16 | 17 | func _ready(): 18 | 19 | self.add_to_group("render_node") 20 | $particles_rain.add_to_group("render_node") 21 | $particles_snow_1.add_to_group("render_node") 22 | 23 | get_tree().call_group("render_mode", "request_material") 24 | 25 | 26 | func _process(_delta): 27 | 28 | pass 29 | 30 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/fog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/particle_rain/res/fog.png -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/fog.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/fog.png-b91f172f6e36d972d42c38f0691c5f3f.s3tc.stex" 6 | path.etc2="res://.import/fog.png-b91f172f6e36d972d42c38f0691c5f3f.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://lib/ext/particle_rain/res/fog.png" 15 | dest_files=[ "res://.import/fog.png-b91f172f6e36d972d42c38f0691c5f3f.s3tc.stex", "res://.import/fog.png-b91f172f6e36d972d42c38f0691c5f3f.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/particle_rain/res/snow_1.png -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_1.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/snow_1.png-df7ee6d6bfb97eb167513dacdceeca9c.s3tc.stex" 6 | path.etc2="res://.import/snow_1.png-df7ee6d6bfb97eb167513dacdceeca9c.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://lib/ext/particle_rain/res/snow_1.png" 15 | dest_files=[ "res://.import/snow_1.png-df7ee6d6bfb97eb167513dacdceeca9c.s3tc.stex", "res://.import/snow_1.png-df7ee6d6bfb97eb167513dacdceeca9c.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/particle_rain/res/snow_2.png -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_2.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/snow_2.png-69f124b4a80850ffbdea9747ce763c86.s3tc.stex" 6 | path.etc2="res://.import/snow_2.png-69f124b4a80850ffbdea9747ce763c86.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://lib/ext/particle_rain/res/snow_2.png" 15 | dest_files=[ "res://.import/snow_2.png-69f124b4a80850ffbdea9747ce763c86.s3tc.stex", "res://.import/snow_2.png-69f124b4a80850ffbdea9747ce763c86.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/particle_rain/res/snow_3.png -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_3.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/snow_3.png-08d96828c369204a6c61726b168626e7.s3tc.stex" 6 | path.etc2="res://.import/snow_3.png-08d96828c369204a6c61726b168626e7.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://lib/ext/particle_rain/res/snow_3.png" 15 | dest_files=[ "res://.import/snow_3.png-08d96828c369204a6c61726b168626e7.s3tc.stex", "res://.import/snow_3.png-08d96828c369204a6c61726b168626e7.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/lib/ext/particle_rain/res/snow_4.png -------------------------------------------------------------------------------- /proj/lib/ext/particle_rain/res/snow_4.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path.s3tc="res://.import/snow_4.png-bc768b879a5e9bff043c7e23c55f42b6.s3tc.stex" 6 | path.etc2="res://.import/snow_4.png-bc768b879a5e9bff043c7e23c55f42b6.etc2.stex" 7 | metadata={ 8 | "imported_formats": [ "s3tc", "etc2" ], 9 | "vram_texture": true 10 | } 11 | 12 | [deps] 13 | 14 | source_file="res://lib/ext/particle_rain/res/snow_4.png" 15 | dest_files=[ "res://.import/snow_4.png-bc768b879a5e9bff043c7e23c55f42b6.s3tc.stex", "res://.import/snow_4.png-bc768b879a5e9bff043c7e23c55f42b6.etc2.stex" ] 16 | 17 | [params] 18 | 19 | compress/mode=2 20 | compress/lossy_quality=0.7 21 | compress/hdr_mode=0 22 | compress/bptc_ldr=0 23 | compress/normal_map=0 24 | flags/repeat=true 25 | flags/filter=true 26 | flags/mipmaps=true 27 | flags/anisotropic=false 28 | flags/srgb=1 29 | process/fix_alpha_border=true 30 | process/premult_alpha=false 31 | process/HDR_as_SRGB=false 32 | process/invert_color=false 33 | stream=false 34 | size_limit=0 35 | detect_3d=false 36 | svg/scale=1.0 37 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_stream/ext_main.gd: -------------------------------------------------------------------------------- 1 | extends VBoxContainer 2 | 3 | 4 | var extention_dir = null 5 | 6 | var result = false 7 | var o_base_ctl = null 8 | var node_instance = null 9 | var list_node = [] 10 | 11 | var need_update = false 12 | onready var list_update_event = [ 13 | {"control": $hbox1/amount, "signal_name": "value_changed"}, 14 | {"control": $hbox2/spread, "signal_name": "value_changed"}, 15 | {"control": $hbox3/initial_velocity, "signal_name": "value_changed"}, 16 | {"control": $recalc_gravity, "signal_name": "toggled"} 17 | ] 18 | 19 | 20 | func ext_name() -> String: 21 | return "Particle Stream" 22 | 23 | 24 | func ext_init(ext_dir: String) -> bool: 25 | self.extention_dir = ext_dir 26 | return true 27 | 28 | 29 | func ext_show(_o_cam: Camera, o_control: Spatial, _o_ext: Spatial) -> bool: 30 | 31 | self.result = false 32 | self.o_base_ctl = o_control 33 | self.list_node = [] 34 | 35 | for o in self.o_base_ctl.get_children(): 36 | self.o_base_ctl.remove_child(o) 37 | self.list_node.append(o) 38 | 39 | assert(self.node_instance == null) 40 | self.node_instance = load(self.extention_dir + "/particle_stream.tscn").instance() 41 | self.o_base_ctl.add_child(self.node_instance) 42 | 43 | for o_ui in list_update_event: 44 | if o_ui.control.is_connected(o_ui.signal_name, self, "evt_value_changed") != true: 45 | o_ui.control.connect(o_ui.signal_name, self, "evt_value_changed") 46 | 47 | self.need_update = true 48 | 49 | return true 50 | 51 | 52 | func ext_hide() -> bool: 53 | 54 | if self.result == true: 55 | for o in self.list_node: 56 | o.queue_free() 57 | else: 58 | self.o_base_ctl.remove_child(self.node_instance) 59 | self.node_instance.free() 60 | 61 | for o in self.list_node: 62 | if o != null: 63 | self.o_base_ctl.add_child(o) 64 | 65 | self.node_instance = null 66 | 67 | return true 68 | 69 | 70 | func ext_accept(): 71 | self.result = true 72 | 73 | 74 | func ext_term(): 75 | pass 76 | 77 | 78 | func _ready(): 79 | pass # Replace with function body. 80 | 81 | 82 | func _process(_delta): 83 | 84 | if self.need_update == true: 85 | self.node_instance.recalc_gravity = $recalc_gravity.pressed 86 | self.node_instance.amount = $hbox1/amount.value 87 | self.node_instance.process_material.spread = $hbox2/spread.value 88 | self.node_instance.process_material.initial_velocity = float($hbox3/initial_velocity.value) 89 | self.need_update = false 90 | 91 | 92 | func evt_value_changed(_value): 93 | self.need_update = true 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_stream/ext_main.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=2] 2 | 3 | [ext_resource path="res://lib/ext/particle_stream/ext_main.gd" type="Script" id=1] 4 | 5 | [node name="ext_main" type="VBoxContainer"] 6 | anchor_right = 1.0 7 | anchor_bottom = 1.0 8 | margin_right = -704.0 9 | margin_bottom = -412.0 10 | script = ExtResource( 1 ) 11 | __meta__ = { 12 | "_edit_use_anchors_": false 13 | } 14 | 15 | [node name="hbox1" type="HBoxContainer" parent="."] 16 | margin_right = 256.0 17 | margin_bottom = 32.0 18 | 19 | [node name="lbl_amount" type="Label" parent="hbox1"] 20 | margin_right = 64.0 21 | margin_bottom = 32.0 22 | rect_min_size = Vector2( 64, 32 ) 23 | text = "Amount" 24 | valign = 1 25 | __meta__ = { 26 | "_edit_use_anchors_": false 27 | } 28 | 29 | [node name="amount" type="HSlider" parent="hbox1"] 30 | margin_left = 68.0 31 | margin_right = 256.0 32 | margin_bottom = 32.0 33 | rect_min_size = Vector2( 188, 32 ) 34 | focus_mode = 0 35 | size_flags_horizontal = 3 36 | min_value = 8.0 37 | max_value = 4096.0 38 | value = 2048.0 39 | __meta__ = { 40 | "_edit_use_anchors_": false 41 | } 42 | 43 | [node name="hbox2" type="HBoxContainer" parent="."] 44 | margin_top = 36.0 45 | margin_right = 256.0 46 | margin_bottom = 68.0 47 | 48 | [node name="lbl_spread" type="Label" parent="hbox2"] 49 | margin_right = 64.0 50 | margin_bottom = 32.0 51 | rect_min_size = Vector2( 64, 32 ) 52 | text = "Spread" 53 | valign = 1 54 | 55 | [node name="spread" type="HSlider" parent="hbox2"] 56 | margin_left = 68.0 57 | margin_right = 256.0 58 | margin_bottom = 32.0 59 | rect_min_size = Vector2( 188, 32 ) 60 | focus_mode = 0 61 | size_flags_horizontal = 3 62 | max_value = 180.0 63 | value = 1.0 64 | __meta__ = { 65 | "_edit_use_anchors_": false 66 | } 67 | 68 | [node name="hbox3" type="HBoxContainer" parent="."] 69 | margin_top = 72.0 70 | margin_right = 256.0 71 | margin_bottom = 104.0 72 | 73 | [node name="lbl_initial_velocity" type="Label" parent="hbox3"] 74 | margin_right = 64.0 75 | margin_bottom = 32.0 76 | rect_min_size = Vector2( 64, 32 ) 77 | text = "Speed" 78 | valign = 1 79 | __meta__ = { 80 | "_edit_use_anchors_": false 81 | } 82 | 83 | [node name="initial_velocity" type="HSlider" parent="hbox3"] 84 | margin_left = 68.0 85 | margin_right = 256.0 86 | margin_bottom = 32.0 87 | rect_min_size = Vector2( 188, 32 ) 88 | focus_mode = 0 89 | size_flags_horizontal = 3 90 | max_value = 10.0 91 | value = 5.0 92 | __meta__ = { 93 | "_edit_use_anchors_": false 94 | } 95 | 96 | [node name="HSeparator" type="HSeparator" parent="."] 97 | margin_top = 108.0 98 | margin_right = 256.0 99 | margin_bottom = 112.0 100 | __meta__ = { 101 | "_edit_use_anchors_": false 102 | } 103 | 104 | [node name="recalc_gravity" type="CheckBox" parent="."] 105 | margin_top = 116.0 106 | margin_right = 256.0 107 | margin_bottom = 148.0 108 | rect_min_size = Vector2( 0, 32 ) 109 | focus_mode = 0 110 | enabled_focus_mode = 0 111 | text = "Recalc Gravity" 112 | __meta__ = { 113 | "_edit_use_anchors_": false 114 | } 115 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_stream/particle_stream.gd: -------------------------------------------------------------------------------- 1 | extends Particles 2 | # 3 | const EXT_GUID = "e7237b8c-87ec-4abb-8bf8-792528d9591f" 4 | 5 | 6 | var recalc_gravity = false 7 | 8 | 9 | func _ready(): 10 | 11 | self.add_to_group("render_node") 12 | $direction.add_to_group("render_node") 13 | 14 | get_tree().call_group("render_mode", "request_material") 15 | 16 | 17 | func _process(delta): 18 | 19 | var rot = self.get_parent().rotation 20 | var vct_dir = Vector3.RIGHT 21 | var vct_gra = Vector3.DOWN 22 | 23 | if self.recalc_gravity == true: 24 | vct_gra = vct_gra.rotated(Vector3.UP, rot.y) 25 | vct_gra = vct_gra.rotated(Vector3.LEFT, rot.x) 26 | vct_gra = vct_gra.rotated(Vector3.FORWARD, rot.z) 27 | else: 28 | vct_gra = Vector3.DOWN 29 | 30 | self.process_material.gravity = vct_gra.normalized() * 9.8 31 | 32 | -------------------------------------------------------------------------------- /proj/lib/ext/particle_stream/particle_stream.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=7 format=2] 2 | 3 | [ext_resource path="res://lib/ext/particle_stream/particle_stream.gd" type="Script" id=1] 4 | 5 | [sub_resource type="SpatialMaterial" id=1] 6 | flags_unshaded = true 7 | flags_disable_ambient_light = true 8 | vertex_color_use_as_albedo = true 9 | params_specular_mode = 4 10 | 11 | [sub_resource type="ParticlesMaterial" id=2] 12 | lifetime_randomness = 1.0 13 | spread = 1.0 14 | initial_velocity = 5.0 15 | initial_velocity_random = 0.01 16 | scale = 0.5 17 | 18 | [sub_resource type="SphereMesh" id=3] 19 | radius = 0.1 20 | height = 0.2 21 | 22 | [sub_resource type="PrismMesh" id=4] 23 | size = Vector3( 1, 1, 1 ) 24 | 25 | [sub_resource type="SpatialMaterial" id=5] 26 | flags_unshaded = true 27 | params_cull_mode = 2 28 | 29 | [node name="particle_stream" type="Particles"] 30 | material_override = SubResource( 1 ) 31 | amount = 2048 32 | lifetime = 2.0 33 | process_material = SubResource( 2 ) 34 | draw_pass_1 = SubResource( 3 ) 35 | script = ExtResource( 1 ) 36 | 37 | [node name="direction" type="CSGMesh" parent="."] 38 | transform = Transform( -1.62921e-07, 1, -1.62921e-07, 0, -1.62921e-07, -1, -1, -1.62921e-07, 2.65431e-14, -2, 0, 0 ) 39 | mesh = SubResource( 4 ) 40 | material = SubResource( 5 ) 41 | -------------------------------------------------------------------------------- /proj/lib/lib_configure.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | const CONF_PATHNAME = "user://edge_ds.conf" 4 | # https://docs.godotengine.org/en/stable/tutorials/io/data_paths.html#doc-data-paths 5 | 6 | const MESH_DIR_KEY = "61d06f23-0386-4516-bda4-da5334ac42cb" 7 | const CAPTURE_IMAGE_DIR_KEY = "a93955ce-bd07-4e27-8af5-f0c9820cc5e4" 8 | const RENDER_SCALE = "9a09ba29-86a8-4d72-a50f-6182dec915b8" 9 | const SCALE_MIN: int = 1 10 | const SCALE_MAX: int = 8 11 | const LINE_SCALE = "e6581fbc-b83c-42d0-bff9-519fece43e87" 12 | 13 | var mesh_dir: String = "" 14 | var capture_image_dir: String = "" 15 | var render_scale: int = 1 16 | var line_scale: int = 1 17 | 18 | 19 | func save() -> bool: 20 | 21 | var o_file = File.new() 22 | 23 | var dict_param = { 24 | "version": ProjectSettings.get_setting("application/config/Version"), 25 | MESH_DIR_KEY: self.mesh_dir, 26 | CAPTURE_IMAGE_DIR_KEY: self.capture_image_dir, 27 | RENDER_SCALE: clamp(self.render_scale, SCALE_MIN, SCALE_MAX), 28 | LINE_SCALE: self.line_scale 29 | } 30 | 31 | if o_file.open(CONF_PATHNAME, File.WRITE) == 0: 32 | o_file.store_string(JSON.print(dict_param)) 33 | 34 | print("configure save.") 35 | 36 | return true 37 | 38 | 39 | func load() -> bool: 40 | 41 | var o_file = File.new() 42 | 43 | if o_file.file_exists(CONF_PATHNAME) != true: 44 | return false 45 | 46 | o_file.open(CONF_PATHNAME, File.READ) 47 | 48 | var json_result = JSON.parse(o_file.get_as_text()) 49 | 50 | if json_result.error == OK: 51 | 52 | self.mesh_dir = json_result.result.get( 53 | MESH_DIR_KEY, 54 | self.mesh_dir) 55 | 56 | self.capture_image_dir = json_result.result.get( 57 | CAPTURE_IMAGE_DIR_KEY, 58 | self.capture_image_dir) 59 | 60 | self.render_scale = json_result.result.get( 61 | RENDER_SCALE, 62 | self.render_scale) 63 | 64 | self.line_scale = json_result.result.get( 65 | LINE_SCALE, 66 | self.line_scale) 67 | 68 | print("configure load.") 69 | 70 | return true 71 | 72 | -------------------------------------------------------------------------------- /proj/lib/lib_ui.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | const SLIDE_PADDING := 96 4 | 5 | enum E_FADE { 6 | E_FADE_I,E_FADE_O 7 | } 8 | 9 | var main_frame: Control = null 10 | 11 | var b_show: bool = true 12 | var show setget set_show, get_show 13 | 14 | 15 | func swap(a, b): 16 | return [b, a] 17 | 18 | 19 | func set_show(new_value: bool): 20 | 21 | var tween = self.main_frame.get_node("ui_tween") 22 | var twI: Vector2 23 | var twO: Vector2 24 | var list_tw: Array 25 | var o_frm: Control 26 | 27 | # frmU 28 | o_frm = self.main_frame.get_node("frmT") 29 | twI = Vector2(0, 0) 30 | twO = twI - Vector2(0, o_frm.rect_size.y + SLIDE_PADDING) 31 | list_tw = [twI, twO] 32 | 33 | if new_value: 34 | list_tw = swap(twI, twO) 35 | 36 | tween.interpolate_property( 37 | o_frm, 38 | "rect_position", 39 | list_tw[0], list_tw[1], 0.3, 40 | Tween.TRANS_SINE, Tween.EASE_IN_OUT) 41 | 42 | # frmD 43 | o_frm = self.main_frame.get_node("frmB") 44 | twI = Vector2(0, self.main_frame.rect_size.y - o_frm.rect_size.y) 45 | twO = twI + Vector2(0, o_frm.rect_size.y + SLIDE_PADDING) 46 | list_tw = [twI, twO] 47 | 48 | if new_value: 49 | list_tw = swap(twI, twO) 50 | 51 | tween.interpolate_property( 52 | o_frm, 53 | "rect_position", 54 | list_tw[0], list_tw[1], 0.3, 55 | Tween.TRANS_SINE, Tween.EASE_IN_OUT) 56 | 57 | # frmL 58 | o_frm = self.main_frame.get_node("frmL") 59 | twI = Vector2(0, 0) 60 | twO = twI - Vector2(o_frm.rect_size.x + SLIDE_PADDING, 0) 61 | list_tw = [twI, twO] 62 | 63 | if new_value: 64 | list_tw = swap(twI, twO) 65 | 66 | tween.interpolate_property( 67 | o_frm, 68 | "rect_position", 69 | list_tw[0], list_tw[1], 0.3, 70 | Tween.TRANS_SINE, Tween.EASE_IN_OUT) 71 | 72 | # frmR 73 | o_frm = self.main_frame.get_node("frmR") 74 | twI = Vector2(self.main_frame.rect_size.x - o_frm.rect_size.x, 0) 75 | twO = twI + Vector2(o_frm.rect_size.x + SLIDE_PADDING, 0) 76 | list_tw = [twI, twO] 77 | 78 | if new_value: 79 | list_tw = swap(twI, twO) 80 | 81 | tween.interpolate_property( 82 | o_frm, 83 | "rect_position", 84 | list_tw[0], list_tw[1], 0.3, 85 | Tween.TRANS_SINE, Tween.EASE_IN_OUT) 86 | 87 | tween.start() 88 | 89 | self.b_show = new_value 90 | 91 | 92 | func get_show(): 93 | return self.b_show 94 | -------------------------------------------------------------------------------- /proj/model/model_floor01.mesh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/model/model_floor01.mesh -------------------------------------------------------------------------------- /proj/model/model_floor02.mesh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/model/model_floor02.mesh -------------------------------------------------------------------------------- /proj/model/model_floor03.mesh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/model/model_floor03.mesh -------------------------------------------------------------------------------- /proj/model/model_g36c.mesh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/model/model_g36c.mesh -------------------------------------------------------------------------------- /proj/model/model_p90.mesh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/model/model_p90.mesh -------------------------------------------------------------------------------- /proj/res_ui/font/NotoSansJP-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/font/NotoSansJP-Regular.otf -------------------------------------------------------------------------------- /proj/res_ui/icon/border-none-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/border-none-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/border-none-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/border-none-solid_hover.svg-7ebce41dcedc61a89e5311a7b9b850cf.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/border-none-solid_hover.svg" 13 | dest_files=[ "res://.import/border-none-solid_hover.svg-7ebce41dcedc61a89e5311a7b9b850cf.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=false 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/border-none-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/border-none-solid_normal.svg-675e5ad94bb24859dfc1dc05f0c8eccb.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/border-none-solid_normal.svg" 13 | dest_files=[ "res://.import/border-none-solid_normal.svg-675e5ad94bb24859dfc1dc05f0c8eccb.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/border-none-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/border-none-solid_pressed.svg-dad1561f9f076b192335d13f74ea5d9f.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/border-none-solid_pressed.svg" 13 | dest_files=[ "res://.import/border-none-solid_pressed.svg-dad1561f9f076b192335d13f74ea5d9f.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/camera-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_disabled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_disabled.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/camera-solid_disabled.svg-a789c4d89a0940d7f050fdf35469c1ad.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/camera-solid_disabled.svg" 13 | dest_files=[ "res://.import/camera-solid_disabled.svg-a789c4d89a0940d7f050fdf35469c1ad.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/camera-solid_hover.svg-0967d12fc182f36348b8fe989fcda260.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/camera-solid_hover.svg" 13 | dest_files=[ "res://.import/camera-solid_hover.svg-0967d12fc182f36348b8fe989fcda260.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=2 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/camera-solid_normal.svg-c4e5d6b85527bad7a7d22faddba295b7.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/camera-solid_normal.svg" 13 | dest_files=[ "res://.import/camera-solid_normal.svg-c4e5d6b85527bad7a7d22faddba295b7.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/camera-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/camera-solid_pressed.svg-e898d12f90e409fa0b392e918f1893dc.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/camera-solid_pressed.svg" 13 | dest_files=[ "res://.import/camera-solid_pressed.svg-e898d12f90e409fa0b392e918f1893dc.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cogs-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/cogs-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/cogs-solid_disabled.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cogs-solid_disabled.svg-d5318d38bc271dae1d097c5e67903526.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/cogs-solid_disabled.svg" 13 | dest_files=[ "res://.import/cogs-solid_disabled.svg-d5318d38bc271dae1d097c5e67903526.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cogs-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cogs-solid_hover.svg-3bc1e64d154fe2c3fddfb47da46f4f98.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/cogs-solid_hover.svg" 13 | dest_files=[ "res://.import/cogs-solid_hover.svg-3bc1e64d154fe2c3fddfb47da46f4f98.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=2 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cogs-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cogs-solid_normal.svg-5ecd7daa365bd5823ca1fcdfa6cf7c87.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/cogs-solid_normal.svg" 13 | dest_files=[ "res://.import/cogs-solid_normal.svg-5ecd7daa365bd5823ca1fcdfa6cf7c87.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cogs-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cogs-solid_pressed.svg-c804b88fa203447b79f21820ae017403.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/cogs-solid_pressed.svg" 13 | dest_files=[ "res://.import/cogs-solid_pressed.svg-c804b88fa203447b79f21820ae017403.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cubes-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/cubes-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/cubes-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cubes-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cubes-solid_hover.svg-4cbd9d2cedfd4eb804b0abc2651bc84a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/cubes-solid_hover.svg" 13 | dest_files=[ "res://.import/cubes-solid_hover.svg-4cbd9d2cedfd4eb804b0abc2651bc84a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=2 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=false 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cubes-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cubes-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cubes-solid_normal.svg-4101271f534f962bd06dcfb5f21ac4c8.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/cubes-solid_normal.svg" 13 | dest_files=[ "res://.import/cubes-solid_normal.svg-4101271f534f962bd06dcfb5f21ac4c8.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cubes-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/cubes-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/cubes-solid_pressed.svg-15d06bedb5eecb2d4d1bcb9689696d3d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/cubes-solid_pressed.svg" 13 | dest_files=[ "res://.import/cubes-solid_pressed.svg-15d06bedb5eecb2d4d1bcb9689696d3d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-closed-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/door-closed-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/door-closed-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-closed-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/door-closed-solid_hover.svg-43c1cfc5c4c2d1d58c53c31e8514e08f.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/door-closed-solid_hover.svg" 13 | dest_files=[ "res://.import/door-closed-solid_hover.svg-43c1cfc5c4c2d1d58c53c31e8514e08f.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-closed-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-closed-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/door-closed-solid_normal.svg-c9a2186d1b7b5df57e36007ce369e497.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/door-closed-solid_normal.svg" 13 | dest_files=[ "res://.import/door-closed-solid_normal.svg-c9a2186d1b7b5df57e36007ce369e497.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-open-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/door-open-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/door-open-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-open-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/door-open-solid_hover.svg-52b8171304bb0843a67cf0ef087132ee.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/door-open-solid_hover.svg" 13 | dest_files=[ "res://.import/door-open-solid_hover.svg-52b8171304bb0843a67cf0ef087132ee.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-open-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-open-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/door-open-solid_normal.svg-87705368e56c1841c565b5a360f9750e.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/door-open-solid_normal.svg" 13 | dest_files=[ "res://.import/door-open-solid_normal.svg-87705368e56c1841c565b5a360f9750e.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-open-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/door-open-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/door-open-solid_pressed.svg-12072641ca77003c51d9b10a89fbcf42.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/door-open-solid_pressed.svg" 13 | dest_files=[ "res://.import/door-open-solid_pressed.svg-12072641ca77003c51d9b10a89fbcf42.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/eraser-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/eraser-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/eraser-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/eraser-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/eraser-solid_hover.svg-c9c233e7758f240fefc3a4013f13319d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/eraser-solid_hover.svg" 13 | dest_files=[ "res://.import/eraser-solid_hover.svg-c9c233e7758f240fefc3a4013f13319d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/eraser-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/eraser-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/eraser-solid_normal.svg-99aea4681f280635ff59a3bf526c2413.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/eraser-solid_normal.svg" 13 | dest_files=[ "res://.import/eraser-solid_normal.svg-99aea4681f280635ff59a3bf526c2413.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/eraser-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/eraser-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/eraser-solid_pressed.svg-17af9000c93a103cfe1b70f287a4f312.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/eraser-solid_pressed.svg" 13 | dest_files=[ "res://.import/eraser-solid_pressed.svg-17af9000c93a103cfe1b70f287a4f312.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/expand-arrows-alt-normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/expand-arrows-alt-normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/expand-arrows-alt-normal.svg-3d0af097c9533f79c36638dc012614f4.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/expand-arrows-alt-normal.svg" 13 | dest_files=[ "res://.import/expand-arrows-alt-normal.svg-3d0af097c9533f79c36638dc012614f4.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/expand-arrows-alt-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/expand-arrows-alt-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/expand-arrows-alt-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/expand-arrows-alt-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/expand-arrows-alt-solid_hover.svg-79bb45bc64aa1e4e5a0f75cba6e9fa10.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/expand-arrows-alt-solid_hover.svg" 13 | dest_files=[ "res://.import/expand-arrows-alt-solid_hover.svg-79bb45bc64aa1e4e5a0f75cba6e9fa10.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/expand-arrows-alt-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/expand-arrows-alt-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/expand-arrows-alt-solid_pressed.svg-49a83987ac728dc6ae14041e80371ff3.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/expand-arrows-alt-solid_pressed.svg" 13 | dest_files=[ "res://.import/expand-arrows-alt-solid_pressed.svg-49a83987ac728dc6ae14041e80371ff3.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/file-download-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_disabled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_disabled.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/file-download-solid_disabled.svg-51fe309ce1b7eb900d50c398c21ab878.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/file-download-solid_disabled.svg" 13 | dest_files=[ "res://.import/file-download-solid_disabled.svg-51fe309ce1b7eb900d50c398c21ab878.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/file-download-solid_hover.svg-d34e8b1b87fd02e5363abe3f7feeb0d3.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/file-download-solid_hover.svg" 13 | dest_files=[ "res://.import/file-download-solid_hover.svg-d34e8b1b87fd02e5363abe3f7feeb0d3.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/file-download-solid_normal.svg-c100aae85896d5f700f67a016d5b3a7f.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/file-download-solid_normal.svg" 13 | dest_files=[ "res://.import/file-download-solid_normal.svg-c100aae85896d5f700f67a016d5b3a7f.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-download-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/file-download-solid_pressed.svg-41767c9a242f12ed76fcfa79d0d68d05.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/file-download-solid_pressed.svg" 13 | dest_files=[ "res://.import/file-download-solid_pressed.svg-41767c9a242f12ed76fcfa79d0d68d05.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/file-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/file-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/file-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/file-solid_hover.svg-7728862f62ebad4cc588e3bb961a131a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/file-solid_hover.svg" 13 | dest_files=[ "res://.import/file-solid_hover.svg-7728862f62ebad4cc588e3bb961a131a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/folder-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_disabled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_disabled.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/folder-solid_disabled.svg-c44ac1d1daadf86f8bbdde1a55c441fc.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/folder-solid_disabled.svg" 13 | dest_files=[ "res://.import/folder-solid_disabled.svg-c44ac1d1daadf86f8bbdde1a55c441fc.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/folder-solid_hover.svg-7178f4281bb2dcfa52d85275db8ff0e7.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/folder-solid_hover.svg" 13 | dest_files=[ "res://.import/folder-solid_hover.svg-7178f4281bb2dcfa52d85275db8ff0e7.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/folder-solid_normal.svg-72af6db459941f66e105834cb76f1adf.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/folder-solid_normal.svg" 13 | dest_files=[ "res://.import/folder-solid_normal.svg-72af6db459941f66e105834cb76f1adf.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/folder-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/folder-solid_pressed.svg-e1c15ab2235ea5cadf31b47857f0115e.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/folder-solid_pressed.svg" 13 | dest_files=[ "res://.import/folder-solid_pressed.svg-e1c15ab2235ea5cadf31b47857f0115e.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/icon_null.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/icon_null.png -------------------------------------------------------------------------------- /proj/res_ui/icon/icon_null.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon_null.png-217eb03e5a275fb428a096989d1f0b06.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/icon_null.png" 13 | dest_files=[ "res://.import/icon_null.png-217eb03e5a275fb428a096989d1f0b06.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/lock-open-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_disabled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_disabled.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-open-solid_disabled.svg-52b6ac54c22120e6ee39ae765372bee0.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-open-solid_disabled.svg" 13 | dest_files=[ "res://.import/lock-open-solid_disabled.svg-52b6ac54c22120e6ee39ae765372bee0.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-open-solid_hover.svg-b6fde1942c367a965883faa8153d7c1d.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-open-solid_hover.svg" 13 | dest_files=[ "res://.import/lock-open-solid_hover.svg-b6fde1942c367a965883faa8153d7c1d.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-open-solid_normal.svg-7af48e193127b776b44a8021d3063efc.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-open-solid_normal.svg" 13 | dest_files=[ "res://.import/lock-open-solid_normal.svg-7af48e193127b776b44a8021d3063efc.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-open-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-open-solid_pressed.svg-18527609bf0dbabf90880af2a987a1c2.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-open-solid_pressed.svg" 13 | dest_files=[ "res://.import/lock-open-solid_pressed.svg-18527609bf0dbabf90880af2a987a1c2.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/lock-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_disabled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_disabled.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-solid_disabled.svg-5d75e3ad5241af94f16a256ffc41256a.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-solid_disabled.svg" 13 | dest_files=[ "res://.import/lock-solid_disabled.svg-5d75e3ad5241af94f16a256ffc41256a.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-solid_hover.svg-54eacb442dc515c65c8be4c544b877af.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-solid_hover.svg" 13 | dest_files=[ "res://.import/lock-solid_hover.svg-54eacb442dc515c65c8be4c544b877af.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.063 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-solid_normal.svg-7220579651c531d0256bce130e8b53e4.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-solid_normal.svg" 13 | dest_files=[ "res://.import/lock-solid_normal.svg-7220579651c531d0256bce130e8b53e4.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /proj/res_ui/icon/lock-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/lock-solid_pressed.svg-fb0247aa2c8c432014ad21ba36783da3.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/lock-solid_pressed.svg" 13 | dest_files=[ "res://.import/lock-solid_pressed.svg-fb0247aa2c8c432014ad21ba36783da3.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid.idraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/icon/search-solid.idraw -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_disabled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_disabled.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/search-solid_disabled.svg-e64e6e79afd6651bf994f5ec59cec658.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/search-solid_disabled.svg" 13 | dest_files=[ "res://.import/search-solid_disabled.svg-e64e6e79afd6651bf994f5ec59cec658.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_hover.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/search-solid_hover.svg-b187fcee5031ac064c1aae6b90d0f839.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/search-solid_hover.svg" 13 | dest_files=[ "res://.import/search-solid_hover.svg-b187fcee5031ac064c1aae6b90d0f839.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_normal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_normal.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/search-solid_normal.svg-20088511b2fc684fc21db891cbc68d62.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/search-solid_normal.svg" 13 | dest_files=[ "res://.import/search-solid_normal.svg-20088511b2fc684fc21db891cbc68d62.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_pressed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_pressed.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/search-solid_pressed.svg-542a1c9d9456a0a6a595e83c6452745c.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/search-solid_pressed.svg" 13 | dest_files=[ "res://.import/search-solid_pressed.svg-542a1c9d9456a0a6a595e83c6452745c.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.042 35 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_pressed_16x16.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /proj/res_ui/icon/search-solid_pressed_16x16.svg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/search-solid_pressed_16x16.svg-89592dea72d03c774ce5c551664870e1.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/icon/search-solid_pressed_16x16.svg" 13 | dest_files=[ "res://.import/search-solid_pressed_16x16.svg-89592dea72d03c774ce5c551664870e1.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=0.021 35 | -------------------------------------------------------------------------------- /proj/res_ui/slider_rot.shader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | void fragment() 4 | { 5 | vec4 col = texture(TEXTURE, UV); 6 | 7 | col.a = col.r; 8 | col.rgb = vec3(0.0); 9 | 10 | COLOR = col; 11 | } -------------------------------------------------------------------------------- /proj/res_ui/slider_rot_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/slider_rot_x.png -------------------------------------------------------------------------------- /proj/res_ui/slider_rot_x.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/slider_rot_x.png-26ab925bed5560b3df576efe4f4e8c25.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/slider_rot_x.png" 13 | dest_files=[ "res://.import/slider_rot_x.png-26ab925bed5560b3df576efe4f4e8c25.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /proj/res_ui/slider_rot_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/proj/res_ui/slider_rot_y.png -------------------------------------------------------------------------------- /proj/res_ui/slider_rot_y.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/slider_rot_y.png-f701c44fd3d19a02598ce71466422949.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://res_ui/slider_rot_y.png" 13 | dest_files=[ "res://.import/slider_rot_y.png-f701c44fd3d19a02598ce71466422949.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /proj/shader/screen_b.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | 3 | 4 | uniform sampler2D tex; 5 | 6 | 7 | void vertex() 8 | { 9 | POSITION = vec4(VERTEX, 1.0); 10 | } 11 | 12 | 13 | void fragment() 14 | { 15 | vec4 color = texture(SCREEN_TEXTURE, SCREEN_UV); 16 | 17 | EMISSION = color.rgb; 18 | ALPHA = color.a; 19 | } 20 | -------------------------------------------------------------------------------- /proj/shader/screen_e.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode blend_mix, cull_disabled, unshaded, specular_disabled, shadows_disabled, ambient_light_disabled;//, depth_test_disable; 3 | 4 | 5 | uniform float depth_pow = 10240.0; 6 | uniform float line_weight = 1.0; 7 | uniform vec3 color_line = vec3(0.0); 8 | 9 | uniform vec2 viewport = vec2(960, 560); 10 | uniform bool enable_tex = false; 11 | uniform sampler2D tex; 12 | 13 | 14 | uniform float metaball_size = 0.2; 15 | uniform float metaball_mul = 2.5; 16 | 17 | void vertex() 18 | { 19 | POSITION = vec4(VERTEX, 1.0); 20 | } 21 | 22 | 23 | void fragment() 24 | { 25 | if(enable_tex == false) 26 | { 27 | vec2 screen_unit = vec2(line_weight / viewport.x, line_weight / viewport.y); 28 | 29 | float lin_depth = -8.0 * textureLod(DEPTH_TEXTURE, SCREEN_UV, 0.0).r; 30 | 31 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV + vec2(0.0, screen_unit.y)).r; 32 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV + vec2(0.0, -screen_unit.y)).r; 33 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV + vec2(screen_unit.x, 0.0)).r; 34 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV + vec2(-screen_unit.x, 0.0)).r; 35 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV + screen_unit.xy).r; 36 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV - screen_unit.xy).r; 37 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV + vec2(-screen_unit.x, screen_unit.y)).r; 38 | lin_depth += texture(DEPTH_TEXTURE, SCREEN_UV + vec2(screen_unit.x, -screen_unit.y)).r; 39 | 40 | float v = abs(lin_depth * depth_pow); 41 | //if(v < 0.01) v = 0.0; 42 | 43 | ALPHA = v; 44 | ALBEDO = color_line; 45 | 46 | } else { 47 | if(false) 48 | { 49 | float n_out5p1; 50 | vec4 tex_screen = texture(tex, UV); 51 | 52 | { 53 | n_out5p1 = tex_screen.a; 54 | } 55 | 56 | if(n_out5p1 > metaball_size) 57 | { 58 | float r = min((n_out5p1 * metaball_mul), 1.0); 59 | float v = sin(radians(r * 180.0)); 60 | ALBEDO.rgb = vec3(0.0); 61 | n_out5p1 = v; 62 | } else { 63 | n_out5p1 = 0.0; 64 | } 65 | 66 | ALPHA = n_out5p1; 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /proj/shader/shader_c.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode cull_disabled, unshaded; 3 | 4 | 5 | uniform vec3 color_albedo = vec3(1.0); 6 | uniform float color_alpha = 1.0; 7 | 8 | 9 | void vertex() 10 | { 11 | } 12 | 13 | 14 | void fragment() 15 | { 16 | ALBEDO = color_albedo; 17 | //ALPHA = color_alpha; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /proj/shader/shader_d.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode cull_disabled, unshaded; 3 | 4 | 5 | void vertex() 6 | { 7 | } 8 | 9 | 10 | void fragment() 11 | { 12 | float depth = texture(DEPTH_TEXTURE, SCREEN_UV).x; 13 | ALBEDO = vec3(depth); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /proj/shader/shader_e.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode cull_disabled, unshaded; 3 | 4 | 5 | uniform vec3 color_albedo = vec3(1.0); 6 | uniform float color_alpha = 1.0; 7 | 8 | 9 | void vertex() 10 | { 11 | } 12 | 13 | 14 | void fragment() 15 | { 16 | ALBEDO = color_albedo; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /proj/shader/shader_n.shader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode cull_disabled, unshaded; 3 | 4 | void vertex() 5 | { 6 | } 7 | 8 | 9 | void fragment() 10 | { 11 | ALBEDO = NORMAL; 12 | } 13 | -------------------------------------------------------------------------------- /res/cheatsheet_0_9_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/res/cheatsheet_0_9_0.png -------------------------------------------------------------------------------- /res/godot_fig_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/res/godot_fig_1.jpg -------------------------------------------------------------------------------- /res/godot_fig_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/res/godot_fig_2.jpg -------------------------------------------------------------------------------- /res/godot_fig_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/res/godot_fig_3.jpg -------------------------------------------------------------------------------- /res/sobel_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MizunagiKB/edge_detect_shader/9492fae8c6fd021cced9457bdd21c96eae519efa/res/sobel_filter.png --------------------------------------------------------------------------------