From f634469ec20ab80dee07e94b755ddaba20ce806c Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Thu, 12 Mar 2020 06:06:57 +0100 Subject: [PATCH 1/8] Fixed typo in perlin & fbm nodes --- addons/material_maker/nodes/fbm.mmg | 2 +- addons/material_maker/nodes/perlin.mmg | 2 +- addons/material_maker/nodes/perlin_color.mmg | 2 +- addons/material_maker/nodes/tex3d_fbm.mmg | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/material_maker/nodes/fbm.mmg b/addons/material_maker/nodes/fbm.mmg index 6ce950a..c414cbe 100644 --- a/addons/material_maker/nodes/fbm.mmg +++ b/addons/material_maker/nodes/fbm.mmg @@ -79,7 +79,7 @@ { "control": "None", "default": 0.5, - "label": "Persistance", + "label": "Persistence", "max": 1, "min": 0, "name": "persistence", diff --git a/addons/material_maker/nodes/perlin.mmg b/addons/material_maker/nodes/perlin.mmg index 92d0178..e2ab8d3 100644 --- a/addons/material_maker/nodes/perlin.mmg +++ b/addons/material_maker/nodes/perlin.mmg @@ -52,7 +52,7 @@ }, { "default": 0.5, - "label": "Persistance", + "label": "Persistence", "max": 1, "min": 0, "name": "persistence", diff --git a/addons/material_maker/nodes/perlin_color.mmg b/addons/material_maker/nodes/perlin_color.mmg index a6552ec..3c1b993 100644 --- a/addons/material_maker/nodes/perlin_color.mmg +++ b/addons/material_maker/nodes/perlin_color.mmg @@ -54,7 +54,7 @@ }, { "default": 0.5, - "label": "Persistance", + "label": "Persistence", "max": 1, "min": 0, "name": "persistence", diff --git a/addons/material_maker/nodes/tex3d_fbm.mmg b/addons/material_maker/nodes/tex3d_fbm.mmg index dc496d5..b11471d 100644 --- a/addons/material_maker/nodes/tex3d_fbm.mmg +++ b/addons/material_maker/nodes/tex3d_fbm.mmg @@ -90,7 +90,7 @@ { "control": "None", "default": 0.5, - "label": "Persistance", + "label": "Persistence", "max": 1, "min": 0, "name": "persistence", From 22bacb6673b2f654e4413205b0bfd72644cc3779 Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Thu, 12 Mar 2020 07:51:01 +0100 Subject: [PATCH 2/8] Update hierarchy pane when renaming a group --- addons/material_maker/engine/gen_graph.gd | 4 ++++ material_maker/graph_edit.gd | 2 +- material_maker/preview/preview_3d.gd | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/material_maker/engine/gen_graph.gd b/addons/material_maker/engine/gen_graph.gd index cd26cd0..e34675d 100644 --- a/addons/material_maker/engine/gen_graph.gd +++ b/addons/material_maker/engine/gen_graph.gd @@ -42,6 +42,10 @@ func get_type() -> String: func get_type_name() -> String: return label +func set_type_name(l) -> void: + if l !=label: + label = l + emit_hierarchy_changed() func toggle_editable() -> bool: editable = !editable diff --git a/material_maker/graph_edit.gd b/material_maker/graph_edit.gd index 91f04bd..c2ee1e9 100644 --- a/material_maker/graph_edit.gd +++ b/material_maker/graph_edit.gd @@ -352,7 +352,7 @@ func on_ButtonUp_pressed() -> void: call_deferred("update_view", generator.get_parent()) func _on_Label_text_changed(new_text) -> void: - generator.label = new_text + generator.set_type_name(new_text) # Create subgraph diff --git a/material_maker/preview/preview_3d.gd b/material_maker/preview/preview_3d.gd index 2fefb78..f765f60 100644 --- a/material_maker/preview/preview_3d.gd +++ b/material_maker/preview/preview_3d.gd @@ -54,7 +54,9 @@ func _on_Rotate_toggled(button_pressed) -> void: $MaterialPreview/Preview3d/ObjectRotate.stop(false) func get_materials() -> Array: - return [ current_object.get_surface_material(0) ] + if current_object != null: + return [ current_object.get_surface_material(0) ] + return [] func on_gui_input(event) -> void: if event is InputEventMouseButton: From d2b24f3ce36b81fab611b4b7e92d56a9c1cbd266 Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Fri, 13 Mar 2020 22:41:06 +0100 Subject: [PATCH 3/8] Fixed 3D preview update problem (when changing the model) --- export_presets.cfg | 4 ++-- material_maker/main_window.gd | 1 + material_maker/preview/preview_3d_ui.tscn | 11 ++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/export_presets.cfg b/export_presets.cfg index a4cccdb..da65a0c 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -5,7 +5,7 @@ platform="Windows Desktop" runnable=false custom_features="" export_filter="resources" -export_files=PoolStringArray( "res://addons/material_maker/common.shader", "res://addons/material_maker/engine/gen_base.gd", "res://addons/material_maker/engine/gen_buffer.gd", "res://addons/material_maker/engine/gen_comment.gd", "res://addons/material_maker/engine/gen_context.gd", "res://addons/material_maker/engine/gen_convolution.gd", "res://addons/material_maker/engine/gen_debug.gd", "res://addons/material_maker/engine/gen_export.gd", "res://addons/material_maker/engine/gen_graph.gd", "res://addons/material_maker/engine/gen_image.gd", "res://addons/material_maker/engine/gen_ios.gd", "res://addons/material_maker/engine/gen_material.gd", "res://addons/material_maker/engine/gen_remote.gd", "res://addons/material_maker/engine/gen_shader.gd", "res://addons/material_maker/engine/gen_switch.gd", "res://addons/material_maker/engine/gen_texture.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/environment.gd", "res://material_maker/fonts/hack.ttf", "res://material_maker/graph_edit.gd", "res://material_maker/graph_edit.tscn", "res://material_maker/icons/edit.tres", "res://material_maker/icons/icon.png", "res://material_maker/icons/icons.svg", "res://material_maker/icons/link.tres", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/library.gd", "res://material_maker/library.tscn", "res://material_maker/library_tree.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment.gd", "res://material_maker/nodes/comment.tscn", "res://material_maker/nodes/debug.gd", "res://material_maker/nodes/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic.gd", "res://material_maker/nodes/generic.tscn", "res://material_maker/nodes/image.gd", "res://material_maker/nodes/image.tscn", "res://material_maker/nodes/image/godot_logo.png", "res://material_maker/nodes/ios.gd", "res://material_maker/nodes/ios.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/remote.gd", "res://material_maker/nodes/remote.tscn", "res://material_maker/nodes/switch.gd", "res://material_maker/nodes/switch.tscn", "res://material_maker/preview/control_point.gd", "res://material_maker/preview/control_point.tscn", "res://material_maker/preview/panoramas/epping_forest_01.hdr", "res://material_maker/preview/panoramas/moonless_golf.hdr", "res://material_maker/preview/panoramas/studio_sky.tres", "res://material_maker/preview/preview_2d.gd", "res://material_maker/preview/preview_2d.tscn", "res://material_maker/preview/preview_3d.gd", "res://material_maker/preview/preview_3d.tscn", "res://material_maker/preview/preview_3d_scene.tscn", "res://material_maker/preview/preview_3d_ui.gd", "res://material_maker/preview/preview_3d_ui.tscn", "res://material_maker/preview/preview_light.gd", "res://material_maker/preview/preview_light.tscn", "res://material_maker/preview/preview_objects.tscn", "res://material_maker/theme/dark.tres", "res://material_maker/theme/default.tres", "res://material_maker/theme/light.tres", "res://material_maker/widgets/about/about.gd", "res://material_maker/widgets/about/about.tscn", "res://material_maker/widgets/about/facebook.png", "res://material_maker/widgets/about/github.png", "res://material_maker/widgets/about/itchio.png", "res://material_maker/widgets/about/twitter.png", "res://material_maker/widgets/about/youtube.png", "res://material_maker/widgets/add_node_popup.gd", "res://material_maker/widgets/add_node_popup.tscn", "res://material_maker/widgets/float_edit.gd", "res://material_maker/widgets/float_edit.tscn", "res://material_maker/widgets/gradient_editor.gd", "res://material_maker/widgets/gradient_editor.tscn", "res://material_maker/widgets/gradient_popup.gd", "res://material_maker/widgets/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/hslider.gd", "res://material_maker/widgets/hslider.tscn", "res://material_maker/widgets/icon.png", "res://material_maker/widgets/line_dialog.gd", "res://material_maker/widgets/line_dialog.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/node_editor.tscn", "res://material_maker/widgets/node_editor/enum_editor.gd", "res://material_maker/widgets/node_editor/enum_editor.tscn", "res://material_maker/widgets/node_editor/input.gd", "res://material_maker/widgets/node_editor/input.tscn", "res://material_maker/widgets/node_editor/node_editor.gd", "res://material_maker/widgets/node_editor/node_editor.tscn", "res://material_maker/widgets/node_editor/node_editor_item_list.gd", "res://material_maker/widgets/node_editor/output.gd", "res://material_maker/widgets/node_editor/output.tscn", "res://material_maker/widgets/node_editor/parameter.gd", "res://material_maker/widgets/node_editor/parameter.tscn", "res://material_maker/widgets/node_editor/parameter_boolean.gd", "res://material_maker/widgets/node_editor/parameter_boolean.tscn", "res://material_maker/widgets/node_editor/parameter_color.gd", "res://material_maker/widgets/node_editor/parameter_color.tscn", "res://material_maker/widgets/node_editor/parameter_enum.gd", "res://material_maker/widgets/node_editor/parameter_enum.tscn", "res://material_maker/widgets/node_editor/parameter_float.gd", "res://material_maker/widgets/node_editor/parameter_float.tscn", "res://material_maker/widgets/node_editor/parameter_gradient.gd", "res://material_maker/widgets/node_editor/parameter_gradient.tscn", "res://material_maker/widgets/node_editor/parameter_size.gd", "res://material_maker/widgets/node_editor/parameter_size.tscn", "res://material_maker/widgets/preview_button.tscn", "res://material_maker/widgets/size_option_button.gd", "res://material_maker/widgets/tabs.gd", "res://material_maker/widgets/text_dialog.gd", "res://material_maker/widgets/text_dialog.tscn", "res://material_maker/window_dialog.tscn", "res://rodz_labs_logo.png", "res://start.gd", "res://start.tscn" ) +export_files=PoolStringArray( "res://addons/material_maker/common.shader", "res://addons/material_maker/engine/gen_base.gd", "res://addons/material_maker/engine/gen_buffer.gd", "res://addons/material_maker/engine/gen_comment.gd", "res://addons/material_maker/engine/gen_context.gd", "res://addons/material_maker/engine/gen_convolution.gd", "res://addons/material_maker/engine/gen_debug.gd", "res://addons/material_maker/engine/gen_export.gd", "res://addons/material_maker/engine/gen_graph.gd", "res://addons/material_maker/engine/gen_image.gd", "res://addons/material_maker/engine/gen_ios.gd", "res://addons/material_maker/engine/gen_material.gd", "res://addons/material_maker/engine/gen_remote.gd", "res://addons/material_maker/engine/gen_shader.gd", "res://addons/material_maker/engine/gen_switch.gd", "res://addons/material_maker/engine/gen_texture.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/environment.gd", "res://material_maker/fonts/hack.ttf", "res://material_maker/graph_edit.gd", "res://material_maker/graph_edit.tscn", "res://material_maker/icons/edit.tres", "res://material_maker/icons/icon.png", "res://material_maker/icons/icons.svg", "res://material_maker/icons/link.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/library.gd", "res://material_maker/library.tscn", "res://material_maker/library_tree.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment.gd", "res://material_maker/nodes/comment.tscn", "res://material_maker/nodes/debug.gd", "res://material_maker/nodes/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic.gd", "res://material_maker/nodes/generic.tscn", "res://material_maker/nodes/image.gd", "res://material_maker/nodes/image.tscn", "res://material_maker/nodes/image/godot_logo.png", "res://material_maker/nodes/ios.gd", "res://material_maker/nodes/ios.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/remote.gd", "res://material_maker/nodes/remote.tscn", "res://material_maker/nodes/switch.gd", "res://material_maker/nodes/switch.tscn", "res://material_maker/preview/control_point.gd", "res://material_maker/preview/control_point.tscn", "res://material_maker/preview/panoramas/epping_forest_01.hdr", "res://material_maker/preview/panoramas/moonless_golf.hdr", "res://material_maker/preview/panoramas/studio_sky.tres", "res://material_maker/preview/preview_2d.gd", "res://material_maker/preview/preview_2d.tscn", "res://material_maker/preview/preview_2d_panel.tscn", "res://material_maker/preview/preview_3d.gd", "res://material_maker/preview/preview_3d.tscn", "res://material_maker/preview/preview_3d_panel.tscn", "res://material_maker/preview/preview_3d_scene.tscn", "res://material_maker/preview/preview_3d_ui.gd", "res://material_maker/preview/preview_3d_ui.tscn", "res://material_maker/preview/preview_light.gd", "res://material_maker/preview/preview_light.tscn", "res://material_maker/preview/preview_objects.tscn", "res://material_maker/theme/dark.tres", "res://material_maker/theme/default.tres", "res://material_maker/theme/light.tres", "res://material_maker/widgets/about/about.gd", "res://material_maker/widgets/about/about.tscn", "res://material_maker/widgets/about/facebook.png", "res://material_maker/widgets/about/github.png", "res://material_maker/widgets/about/itchio.png", "res://material_maker/widgets/about/twitter.png", "res://material_maker/widgets/about/youtube.png", "res://material_maker/widgets/add_node_popup.gd", "res://material_maker/widgets/add_node_popup.tscn", "res://material_maker/widgets/float_edit.gd", "res://material_maker/widgets/float_edit.tscn", "res://material_maker/widgets/gradient_editor.gd", "res://material_maker/widgets/gradient_editor.tscn", "res://material_maker/widgets/gradient_popup.gd", "res://material_maker/widgets/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/graph_tree/hierarchy_pane.gd", "res://material_maker/widgets/graph_tree/hierarchy_pane.tscn", "res://material_maker/widgets/hslider.gd", "res://material_maker/widgets/hslider.tscn", "res://material_maker/widgets/icon.png", "res://material_maker/widgets/line_dialog.gd", "res://material_maker/widgets/line_dialog.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/node_editor.tscn", "res://material_maker/widgets/node_editor/enum_editor.gd", "res://material_maker/widgets/node_editor/enum_editor.tscn", "res://material_maker/widgets/node_editor/input.gd", "res://material_maker/widgets/node_editor/input.tscn", "res://material_maker/widgets/node_editor/node_editor.gd", "res://material_maker/widgets/node_editor/node_editor.tscn", "res://material_maker/widgets/node_editor/node_editor_item_list.gd", "res://material_maker/widgets/node_editor/output.gd", "res://material_maker/widgets/node_editor/output.tscn", "res://material_maker/widgets/node_editor/parameter.gd", "res://material_maker/widgets/node_editor/parameter.tscn", "res://material_maker/widgets/node_editor/parameter_boolean.gd", "res://material_maker/widgets/node_editor/parameter_boolean.tscn", "res://material_maker/widgets/node_editor/parameter_color.gd", "res://material_maker/widgets/node_editor/parameter_color.tscn", "res://material_maker/widgets/node_editor/parameter_enum.gd", "res://material_maker/widgets/node_editor/parameter_enum.tscn", "res://material_maker/widgets/node_editor/parameter_float.gd", "res://material_maker/widgets/node_editor/parameter_float.tscn", "res://material_maker/widgets/node_editor/parameter_gradient.gd", "res://material_maker/widgets/node_editor/parameter_gradient.tscn", "res://material_maker/widgets/node_editor/parameter_size.gd", "res://material_maker/widgets/node_editor/parameter_size.tscn", "res://material_maker/widgets/preview_button.tscn", "res://material_maker/widgets/size_option_button.gd", "res://material_maker/widgets/tab_container.gd", "res://material_maker/widgets/tab_container.tscn", "res://material_maker/widgets/tabs.gd", "res://material_maker/widgets/text_dialog.gd", "res://material_maker/widgets/text_dialog.tscn", "res://material_maker/window_dialog.tscn", "res://rodz_labs_logo.png", "res://start.gd", "res://start.tscn" ) include_filter="" exclude_filter="*.ptex,*.mmn,*.mmg" export_path="../../Releases/material_maker_0.9_windows/material_maker.exe" @@ -49,7 +49,7 @@ platform="Linux/X11" runnable=true custom_features="" export_filter="resources" -export_files=PoolStringArray( "res://addons/material_maker/common.shader", "res://addons/material_maker/engine/gen_base.gd", "res://addons/material_maker/engine/gen_buffer.gd", "res://addons/material_maker/engine/gen_comment.gd", "res://addons/material_maker/engine/gen_context.gd", "res://addons/material_maker/engine/gen_convolution.gd", "res://addons/material_maker/engine/gen_debug.gd", "res://addons/material_maker/engine/gen_export.gd", "res://addons/material_maker/engine/gen_graph.gd", "res://addons/material_maker/engine/gen_image.gd", "res://addons/material_maker/engine/gen_ios.gd", "res://addons/material_maker/engine/gen_material.gd", "res://addons/material_maker/engine/gen_remote.gd", "res://addons/material_maker/engine/gen_shader.gd", "res://addons/material_maker/engine/gen_switch.gd", "res://addons/material_maker/engine/gen_texture.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/environment.gd", "res://material_maker/fonts/hack.ttf", "res://material_maker/graph_edit.gd", "res://material_maker/graph_edit.tscn", "res://material_maker/icons/edit.tres", "res://material_maker/icons/icon.png", "res://material_maker/icons/icons.svg", "res://material_maker/icons/link.tres", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/library.gd", "res://material_maker/library.tscn", "res://material_maker/library_tree.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment.gd", "res://material_maker/nodes/comment.tscn", "res://material_maker/nodes/debug.gd", "res://material_maker/nodes/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic.gd", "res://material_maker/nodes/generic.tscn", "res://material_maker/nodes/image.gd", "res://material_maker/nodes/image.tscn", "res://material_maker/nodes/image/godot_logo.png", "res://material_maker/nodes/ios.gd", "res://material_maker/nodes/ios.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/remote.gd", "res://material_maker/nodes/remote.tscn", "res://material_maker/nodes/switch.gd", "res://material_maker/nodes/switch.tscn", "res://material_maker/preview/control_point.gd", "res://material_maker/preview/control_point.tscn", "res://material_maker/preview/panoramas/epping_forest_01.hdr", "res://material_maker/preview/panoramas/moonless_golf.hdr", "res://material_maker/preview/panoramas/studio_sky.tres", "res://material_maker/preview/preview_2d.gd", "res://material_maker/preview/preview_2d.tscn", "res://material_maker/preview/preview_3d.gd", "res://material_maker/preview/preview_3d.tscn", "res://material_maker/preview/preview_3d_scene.tscn", "res://material_maker/preview/preview_3d_ui.gd", "res://material_maker/preview/preview_3d_ui.tscn", "res://material_maker/preview/preview_light.gd", "res://material_maker/preview/preview_light.tscn", "res://material_maker/preview/preview_objects.tscn", "res://material_maker/theme/dark.tres", "res://material_maker/theme/default.tres", "res://material_maker/theme/light.tres", "res://material_maker/widgets/about/about.gd", "res://material_maker/widgets/about/about.tscn", "res://material_maker/widgets/about/facebook.png", "res://material_maker/widgets/about/github.png", "res://material_maker/widgets/about/itchio.png", "res://material_maker/widgets/about/twitter.png", "res://material_maker/widgets/about/youtube.png", "res://material_maker/widgets/add_node_popup.gd", "res://material_maker/widgets/add_node_popup.tscn", "res://material_maker/widgets/float_edit.gd", "res://material_maker/widgets/float_edit.tscn", "res://material_maker/widgets/gradient_editor.gd", "res://material_maker/widgets/gradient_editor.tscn", "res://material_maker/widgets/gradient_popup.gd", "res://material_maker/widgets/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/hslider.gd", "res://material_maker/widgets/hslider.tscn", "res://material_maker/widgets/icon.png", "res://material_maker/widgets/line_dialog.gd", "res://material_maker/widgets/line_dialog.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/node_editor.tscn", "res://material_maker/widgets/node_editor/enum_editor.gd", "res://material_maker/widgets/node_editor/enum_editor.tscn", "res://material_maker/widgets/node_editor/input.gd", "res://material_maker/widgets/node_editor/input.tscn", "res://material_maker/widgets/node_editor/node_editor.gd", "res://material_maker/widgets/node_editor/node_editor.tscn", "res://material_maker/widgets/node_editor/node_editor_item_list.gd", "res://material_maker/widgets/node_editor/output.gd", "res://material_maker/widgets/node_editor/output.tscn", "res://material_maker/widgets/node_editor/parameter.gd", "res://material_maker/widgets/node_editor/parameter.tscn", "res://material_maker/widgets/node_editor/parameter_boolean.gd", "res://material_maker/widgets/node_editor/parameter_boolean.tscn", "res://material_maker/widgets/node_editor/parameter_color.gd", "res://material_maker/widgets/node_editor/parameter_color.tscn", "res://material_maker/widgets/node_editor/parameter_enum.gd", "res://material_maker/widgets/node_editor/parameter_enum.tscn", "res://material_maker/widgets/node_editor/parameter_float.gd", "res://material_maker/widgets/node_editor/parameter_float.tscn", "res://material_maker/widgets/node_editor/parameter_gradient.gd", "res://material_maker/widgets/node_editor/parameter_gradient.tscn", "res://material_maker/widgets/node_editor/parameter_size.gd", "res://material_maker/widgets/node_editor/parameter_size.tscn", "res://material_maker/widgets/preview_button.tscn", "res://material_maker/widgets/size_option_button.gd", "res://material_maker/widgets/tabs.gd", "res://material_maker/widgets/text_dialog.gd", "res://material_maker/widgets/text_dialog.tscn", "res://material_maker/window_dialog.tscn", "res://rodz_labs_logo.png", "res://start.gd", "res://start.tscn" ) +export_files=PoolStringArray( "res://addons/material_maker/common.shader", "res://addons/material_maker/engine/gen_base.gd", "res://addons/material_maker/engine/gen_buffer.gd", "res://addons/material_maker/engine/gen_comment.gd", "res://addons/material_maker/engine/gen_context.gd", "res://addons/material_maker/engine/gen_convolution.gd", "res://addons/material_maker/engine/gen_debug.gd", "res://addons/material_maker/engine/gen_export.gd", "res://addons/material_maker/engine/gen_graph.gd", "res://addons/material_maker/engine/gen_image.gd", "res://addons/material_maker/engine/gen_ios.gd", "res://addons/material_maker/engine/gen_material.gd", "res://addons/material_maker/engine/gen_remote.gd", "res://addons/material_maker/engine/gen_shader.gd", "res://addons/material_maker/engine/gen_switch.gd", "res://addons/material_maker/engine/gen_texture.gd", "res://addons/material_maker/engine/io_types.gd", "res://addons/material_maker/engine/loader.gd", "res://addons/material_maker/engine/renderer.gd", "res://addons/material_maker/engine/renderer.tscn", "res://addons/material_maker/types/gradient.gd", "res://addons/material_maker/types/types.gd", "res://default_env.tres", "res://icon.png", "res://material_maker/environment.gd", "res://material_maker/fonts/hack.ttf", "res://material_maker/graph_edit.gd", "res://material_maker/graph_edit.tscn", "res://material_maker/icons/edit.tres", "res://material_maker/icons/icon.png", "res://material_maker/icons/icons.svg", "res://material_maker/icons/link.tres", "res://material_maker/icons/output_preview.tres", "res://material_maker/icons/randomness_locked.tres", "res://material_maker/icons/randomness_unlocked.tres", "res://material_maker/icons/remove.tres", "res://material_maker/library.gd", "res://material_maker/library.tscn", "res://material_maker/library_tree.gd", "res://material_maker/main_window.gd", "res://material_maker/main_window.tscn", "res://material_maker/main_window_layout.gd", "res://material_maker/node_factory.gd", "res://material_maker/nodes/base.gd", "res://material_maker/nodes/comment.gd", "res://material_maker/nodes/comment.tscn", "res://material_maker/nodes/debug.gd", "res://material_maker/nodes/debug.tscn", "res://material_maker/nodes/debug/debug_popup.gd", "res://material_maker/nodes/debug/debug_popup.tscn", "res://material_maker/nodes/edit_buttons.gd", "res://material_maker/nodes/edit_buttons.tscn", "res://material_maker/nodes/generic.gd", "res://material_maker/nodes/generic.tscn", "res://material_maker/nodes/image.gd", "res://material_maker/nodes/image.tscn", "res://material_maker/nodes/image/godot_logo.png", "res://material_maker/nodes/ios.gd", "res://material_maker/nodes/ios.tscn", "res://material_maker/nodes/ios/add.tscn", "res://material_maker/nodes/ios/port.gd", "res://material_maker/nodes/ios/port.tscn", "res://material_maker/nodes/remote.gd", "res://material_maker/nodes/remote.tscn", "res://material_maker/nodes/switch.gd", "res://material_maker/nodes/switch.tscn", "res://material_maker/preview/control_point.gd", "res://material_maker/preview/control_point.tscn", "res://material_maker/preview/panoramas/epping_forest_01.hdr", "res://material_maker/preview/panoramas/moonless_golf.hdr", "res://material_maker/preview/panoramas/studio_sky.tres", "res://material_maker/preview/preview_2d.gd", "res://material_maker/preview/preview_2d.tscn", "res://material_maker/preview/preview_2d_panel.tscn", "res://material_maker/preview/preview_3d.gd", "res://material_maker/preview/preview_3d.tscn", "res://material_maker/preview/preview_3d_panel.tscn", "res://material_maker/preview/preview_3d_scene.tscn", "res://material_maker/preview/preview_3d_ui.gd", "res://material_maker/preview/preview_3d_ui.tscn", "res://material_maker/preview/preview_light.gd", "res://material_maker/preview/preview_light.tscn", "res://material_maker/preview/preview_objects.tscn", "res://material_maker/theme/dark.tres", "res://material_maker/theme/default.tres", "res://material_maker/theme/light.tres", "res://material_maker/widgets/about/about.gd", "res://material_maker/widgets/about/about.tscn", "res://material_maker/widgets/about/facebook.png", "res://material_maker/widgets/about/github.png", "res://material_maker/widgets/about/itchio.png", "res://material_maker/widgets/about/twitter.png", "res://material_maker/widgets/about/youtube.png", "res://material_maker/widgets/add_node_popup.gd", "res://material_maker/widgets/add_node_popup.tscn", "res://material_maker/widgets/float_edit.gd", "res://material_maker/widgets/float_edit.tscn", "res://material_maker/widgets/gradient_editor.gd", "res://material_maker/widgets/gradient_editor.tscn", "res://material_maker/widgets/gradient_popup.gd", "res://material_maker/widgets/gradient_popup.tscn", "res://material_maker/widgets/graph_tree/graph_tree.gd", "res://material_maker/widgets/graph_tree/graph_tree.tscn", "res://material_maker/widgets/graph_tree/hierarchy_pane.gd", "res://material_maker/widgets/graph_tree/hierarchy_pane.tscn", "res://material_maker/widgets/hslider.gd", "res://material_maker/widgets/hslider.tscn", "res://material_maker/widgets/icon.png", "res://material_maker/widgets/line_dialog.gd", "res://material_maker/widgets/line_dialog.tscn", "res://material_maker/widgets/linked_widgets/editable_label.gd", "res://material_maker/widgets/linked_widgets/editable_label.tscn", "res://material_maker/widgets/linked_widgets/link.gd", "res://material_maker/widgets/node_editor.tscn", "res://material_maker/widgets/node_editor/enum_editor.gd", "res://material_maker/widgets/node_editor/enum_editor.tscn", "res://material_maker/widgets/node_editor/input.gd", "res://material_maker/widgets/node_editor/input.tscn", "res://material_maker/widgets/node_editor/node_editor.gd", "res://material_maker/widgets/node_editor/node_editor.tscn", "res://material_maker/widgets/node_editor/node_editor_item_list.gd", "res://material_maker/widgets/node_editor/output.gd", "res://material_maker/widgets/node_editor/output.tscn", "res://material_maker/widgets/node_editor/parameter.gd", "res://material_maker/widgets/node_editor/parameter.tscn", "res://material_maker/widgets/node_editor/parameter_boolean.gd", "res://material_maker/widgets/node_editor/parameter_boolean.tscn", "res://material_maker/widgets/node_editor/parameter_color.gd", "res://material_maker/widgets/node_editor/parameter_color.tscn", "res://material_maker/widgets/node_editor/parameter_enum.gd", "res://material_maker/widgets/node_editor/parameter_enum.tscn", "res://material_maker/widgets/node_editor/parameter_float.gd", "res://material_maker/widgets/node_editor/parameter_float.tscn", "res://material_maker/widgets/node_editor/parameter_gradient.gd", "res://material_maker/widgets/node_editor/parameter_gradient.tscn", "res://material_maker/widgets/node_editor/parameter_size.gd", "res://material_maker/widgets/node_editor/parameter_size.tscn", "res://material_maker/widgets/preview_button.tscn", "res://material_maker/widgets/size_option_button.gd", "res://material_maker/widgets/tab_container.gd", "res://material_maker/widgets/tab_container.tscn", "res://material_maker/widgets/tabs.gd", "res://material_maker/widgets/text_dialog.gd", "res://material_maker/widgets/text_dialog.tscn", "res://material_maker/window_dialog.tscn", "res://rodz_labs_logo.png", "res://start.gd", "res://start.tscn" ) include_filter="" exclude_filter="*.ptex,*.mmn,*.mmg" export_path="../../Releases/material_maker_0.9_linux/material_maker.x86_64" diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index 7700f3e..0434639 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -132,6 +132,7 @@ func _ready() -> void: library = layout.get_pane("Library") preview_2d = layout.get_pane("Preview2D") preview_3d = layout.get_pane("Preview3D") + preview_3d.connect("need_update", self, "update_preview_3d") hierarchy = layout.get_pane("Hierarchy") hierarchy.connect("group_selected", self, "on_group_selected") diff --git a/material_maker/preview/preview_3d_ui.tscn b/material_maker/preview/preview_3d_ui.tscn index 430914c..a303811 100644 --- a/material_maker/preview/preview_3d_ui.tscn +++ b/material_maker/preview/preview_3d_ui.tscn @@ -3,8 +3,6 @@ [ext_resource path="res://material_maker/preview/preview_3d_ui.gd" type="Script" id=1] [ext_resource path="res://material_maker/icons/icons.svg" type="Texture" id=2] - - [sub_resource type="AtlasTexture" id=1] flags = 4 atlas = ExtResource( 2 ) @@ -15,6 +13,9 @@ anchor_right = 1.0 margin_bottom = 20.0 size_flags_horizontal = 3 script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} [node name="Model" type="OptionButton" parent="."] margin_right = 100.0 @@ -26,7 +27,7 @@ selected = 0 [node name="Environment" type="OptionButton" parent="."] margin_left = 104.0 -margin_right = 231.0 +margin_right = 219.0 margin_bottom = 22.0 rect_min_size = Vector2( 100, 0 ) text = "Epping Forest" @@ -34,8 +35,8 @@ items = [ "Epping Forest", null, false, 0, null, "Moonless Golf", null, false, 1 selected = 0 [node name="Rotate" type="Button" parent="."] -margin_left = 235.0 -margin_right = 263.0 +margin_left = 223.0 +margin_right = 251.0 margin_bottom = 22.0 rect_pivot_offset = Vector2( -4, 7 ) hint_tooltip = "Rotate object" From 64eeaa14f04fde3946da802c7d670a24ca6fc51c Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Sat, 14 Mar 2020 17:58:12 +0100 Subject: [PATCH 4/8] Fixed lighten, darken modes of TEX3D blend --- addons/material_maker/nodes/tex3d_blend.mmg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/material_maker/nodes/tex3d_blend.mmg b/addons/material_maker/nodes/tex3d_blend.mmg index 1436b34..0a2c2a1 100644 --- a/addons/material_maker/nodes/tex3d_blend.mmg +++ b/addons/material_maker/nodes/tex3d_blend.mmg @@ -5,12 +5,12 @@ "y": 0 }, "parameters": { - "amount": 1, - "blend_type": 1 + "amount": 0, + "blend_type": 8 }, "shader_model": { "code": "", - "global": "vec3 blend3d_normal(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*c1 + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_multiply(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*c1*c2 + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_screen(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_overlay_f(float c1, float c2) {\n\treturn (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2));\n}\n\nvec3 blend3d_overlay(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_overlay_f(c1.x, c2.x), blend3d_overlay_f(c1.y, c2.y), blend3d_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_hard_light(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*0.5*(c1*c2+blend3d_overlay(c1, c2, 1.0)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_soft_light_f(float c1, float c2) {\n\treturn (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0);\n}\n\nvec3 blend3d_soft_light(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_soft_light_f(c1.x, c2.x), blend3d_soft_light_f(c1.y, c2.y), blend3d_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_burn_f(float c1, float c2) {\n\treturn (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0);\n}\n\nvec3 blend3d_burn(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_burn_f(c1.x, c2.x), blend3d_burn_f(c1.y, c2.y), blend3d_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_dodge_f(float c1, float c2) {\n\treturn (c1==1.0)?c1:min(c2/(1.0-c1),1.0);\n}\n\nvec3 blend3d_dodge(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_dodge_f(c1.x, c2.x), blend3d_dodge_f(c1.y, c2.y), blend3d_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_lighten(vec2 uv, vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*max(c1, c2) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*min(c1, c2) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_difference(vec2 uv, vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2;\n}\n", + "global": "vec3 blend3d_normal(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*c1 + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_multiply(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*c1*c2 + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_screen(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_overlay_f(float c1, float c2) {\n\treturn (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2));\n}\n\nvec3 blend3d_overlay(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_overlay_f(c1.x, c2.x), blend3d_overlay_f(c1.y, c2.y), blend3d_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_hard_light(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*0.5*(c1*c2+blend3d_overlay(c1, c2, 1.0)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_soft_light_f(float c1, float c2) {\n\treturn (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0);\n}\n\nvec3 blend3d_soft_light(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_soft_light_f(c1.x, c2.x), blend3d_soft_light_f(c1.y, c2.y), blend3d_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_burn_f(float c1, float c2) {\n\treturn (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0);\n}\n\nvec3 blend3d_burn(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_burn_f(c1.x, c2.x), blend3d_burn_f(c1.y, c2.y), blend3d_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nfloat blend3d_dodge_f(float c1, float c2) {\n\treturn (c1==1.0)?c1:min(c2/(1.0-c1),1.0);\n}\n\nvec3 blend3d_dodge(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*vec3(blend3d_dodge_f(c1.x, c2.x), blend3d_dodge_f(c1.y, c2.y), blend3d_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_lighten(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*max(c1, c2) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_darken(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*min(c1, c2) + (1.0-opacity)*c2;\n}\n\nvec3 blend3d_difference(vec3 c1, vec3 c2, float opacity) {\n\treturn opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2;\n}\n", "inputs": [ { "default": "vec3($uv.x, 1.0, 1.0)", From e6cbb02ae6be23bfa6914dac41d1bb87d782feac Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Sat, 14 Mar 2020 17:59:23 +0100 Subject: [PATCH 5/8] Updated popup menu to show only useful nodes when connecting --- material_maker/graph_edit.gd | 4 +-- material_maker/nodes/ios.gd | 2 +- material_maker/nodes/remote.gd | 1 - material_maker/widgets/add_node_popup.gd | 42 +++++++++++++++++----- material_maker/widgets/add_node_popup.tscn | 2 +- 5 files changed, 37 insertions(+), 14 deletions(-) diff --git a/material_maker/graph_edit.gd b/material_maker/graph_edit.gd index c2ee1e9..4c2e658 100644 --- a/material_maker/graph_edit.gd +++ b/material_maker/graph_edit.gd @@ -393,7 +393,7 @@ func set_last_selected(node) -> void: func _on_GraphEdit_gui_input(event) -> void: if event.is_action_pressed("ui_library_popup") && get_rect().has_point(get_local_mouse_position()): node_popup.rect_global_position = get_global_mouse_position() - node_popup.show() + node_popup.show_popup() if event is InputEventMouseButton: call_deferred("check_last_selected") @@ -408,7 +408,7 @@ func request_popup(from, from_slot, release_position) -> void: else: # Request the popup node_popup.rect_global_position = get_global_mouse_position() - node_popup.show() + node_popup.show_popup(mm_io_types.types[node.generator.get_output_defs()[from_slot].type].slot_type) node_popup.set_quick_connect(from, from_slot) func check_last_selected() -> void: diff --git a/material_maker/nodes/ios.gd b/material_maker/nodes/ios.gd index 1a86116..2f06e9a 100644 --- a/material_maker/nodes/ios.gd +++ b/material_maker/nodes/ios.gd @@ -5,7 +5,7 @@ func set_generator(g) -> void: generator.connect("parameter_changed", self, "on_parameter_changed") update_node() -func on_parameter_changed(p, v) -> void: +func on_parameter_changed(p, _v) -> void: if p == "__update_all__": call_deferred("update_node") diff --git a/material_maker/nodes/remote.gd b/material_maker/nodes/remote.gd index 989911a..c5b9b23 100644 --- a/material_maker/nodes/remote.gd +++ b/material_maker/nodes/remote.gd @@ -6,7 +6,6 @@ var links = {} onready var grid = $Controls func add_control(text, control) -> void: - var index = grid.get_child_count() / 4 var label = preload("res://material_maker/widgets/linked_widgets/editable_label.tscn").instance() label.set_text(text) label.connect("label_changed", self, "on_label_changed", [ control.name ]) diff --git a/material_maker/widgets/add_node_popup.gd b/material_maker/widgets/add_node_popup.gd index 73c8367..0a5bfe3 100644 --- a/material_maker/widgets/add_node_popup.gd +++ b/material_maker/widgets/add_node_popup.gd @@ -4,6 +4,7 @@ var libraries = [] var data = [] onready var itemlist : ItemList = $PanelContainer/VBoxContainer/ItemList onready var filter_line_edit : LineEdit = $PanelContainer/VBoxContainer/Filter +var quick_connect : int = -1 var insert_position : Vector2 func get_current_graph(): @@ -14,10 +15,10 @@ func _ready() -> void: if !add_library(lib_path): add_library("res://material_maker/library/base.json") add_library("user://library/user.json") - filter_line_edit.connect("text_changed" ,self,"update_list") - filter_line_edit.connect("text_entered",self,"filter_entered") - itemlist.connect("item_selected",self,"item_selected") - itemlist.connect("item_activated",self,"item_selected") + filter_line_edit.connect("text_changed", self, "update_list") + filter_line_edit.connect("text_entered", self, "filter_entered") + itemlist.connect("item_selected", self, "item_selected") + itemlist.connect("item_activated", self, "item_selected") update_list() func filter_entered(filter) -> void: @@ -29,10 +30,10 @@ func add_node(data) -> void: if quick_connect_node != null: var type = quick_connect_node.get_connection_output_type(quick_connect_slot) for new_slot in node.get_connection_input_count(): - if type == node.get_connection_input_type(new_slot): + #if type == node.get_connection_input_type(new_slot): #connect the first two slots with the same type - get_current_graph().connect_node(quick_connect_node.name, quick_connect_slot, node.name, new_slot) - break + get_current_graph().connect_node(quick_connect_node.name, quick_connect_slot, node.name, new_slot) + break quick_connect_node = null hide() @@ -59,8 +60,9 @@ func hide() -> void: clear() -func show() -> void: - .show() +func show_popup(qc : int = -1) -> void: + show() + quick_connect = qc update_list() filter_line_edit.grab_focus() var parent_rect = get_parent().get_parent().get_global_rect() @@ -76,6 +78,28 @@ func update_list(filter : String = "") -> void: for obj in library: if !obj.has("type"): continue + if quick_connect != -1: + var ref_obj = obj + if mm_loader.predefined_generators.has(obj.type): + ref_obj = mm_loader.predefined_generators[obj.type] + if ref_obj.has("shader_model"): + if ! ref_obj.shader_model.has("inputs") or ref_obj.shader_model.inputs.empty(): + continue + elif mm_io_types.types[ref_obj.shader_model.inputs[0].type].slot_type != quick_connect: + continue + elif ref_obj.has("nodes"): + var input_ports = [] + for n in ref_obj.nodes: + if n.name == "gen_inputs": + if input_ports.has("ports"): + input_ports = n.ports + break + if input_ports.empty() or mm_io_types.types[input_ports[0].type].slot_type != quick_connect: + continue + elif ref_obj.type == "comment" or ref_obj.type == "image" or ref_obj.type == "remote": + continue + elif (ref_obj.type == "convolution" or ref_obj.type == "debug" or ref_obj.type == "buffer" or ref_obj.type == "export" ) and quick_connect != 0: + continue var show : bool = true for f in filter.to_lower().split(" ", false): if f != "" && obj.tree_item.to_lower().find(f) == -1: diff --git a/material_maker/widgets/add_node_popup.tscn b/material_maker/widgets/add_node_popup.tscn index c6d4c42..236cee0 100644 --- a/material_maker/widgets/add_node_popup.tscn +++ b/material_maker/widgets/add_node_popup.tscn @@ -3,7 +3,7 @@ [ext_resource path="res://material_maker/widgets/add_node_popup.gd" type="Script" id=1] [node name="AddNodePopup" type="Popup"] -margin_right = 228.0 +margin_right = 275.0 margin_bottom = 319.0 mouse_filter = 1 script = ExtResource( 1 ) From 7f48d5871a6a71cdaef9de2ead20686d65edf52f Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Sat, 14 Mar 2020 19:56:57 +0100 Subject: [PATCH 6/8] Added a solid background to the gradient editor's color picker --- material_maker/widgets/gradient_editor.tscn | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/material_maker/widgets/gradient_editor.tscn b/material_maker/widgets/gradient_editor.tscn index 81fda03..fae87e4 100644 --- a/material_maker/widgets/gradient_editor.tscn +++ b/material_maker/widgets/gradient_editor.tscn @@ -78,18 +78,16 @@ rect_min_size = Vector2( 112, 17 ) mouse_filter = 2 theme = SubResource( 5 ) -[node name="Popup" type="Popup" parent="Gradient"] -margin_left = 47.0 -margin_top = 33.0 -margin_right = 353.0 -margin_bottom = 475.0 +[node name="Popup" type="PopupPanel" parent="Gradient"] +visible = true +margin_right = 318.0 +margin_bottom = 470.0 [node name="ColorPicker" type="ColorPicker" parent="Gradient/Popup"] margin_left = 4.0 margin_top = 4.0 -margin_right = 4.0 -margin_bottom = 4.0 -rect_scale = Vector2( 0.75, 0.75 ) +margin_right = 314.0 +margin_bottom = 466.0 [node name="Interpolation" type="OptionButton" parent="."] margin_left = 0.418457 From fc72fd0af46987983291eb7a29bf7433cfe9b4d1 Mon Sep 17 00:00:00 2001 From: RodZill4 Date: Sun, 15 Mar 2020 07:08:07 +0100 Subject: [PATCH 7/8] Fixed export templates path --- addons/material_maker/engine/gen_material.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/material_maker/engine/gen_material.gd b/addons/material_maker/engine/gen_material.gd index 1af89e1..58f9c6a 100644 --- a/addons/material_maker/engine/gen_material.gd +++ b/addons/material_maker/engine/gen_material.gd @@ -243,7 +243,7 @@ func create_file_from_template(template : String, file_name : String, export_con var in_file = File.new() var out_file = File.new() if in_file.open(mm_loader.STD_GENDEF_PATH+"/"+template, File.READ) != OK: - if in_file.open(OS.get_executable_path().get_base_dir()+"/generators/"+template, File.READ) != OK: + if in_file.open(OS.get_executable_path().get_base_dir()+"/nodes/"+template, File.READ) != OK: print("Cannot find template file "+template) return false Directory.new().remove(file_name) From 7b9ab16255ef8eaab2a08a845a5390f280641c43 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Sun, 15 Mar 2020 19:02:36 +0100 Subject: [PATCH 8/8] Update AppStream metadata for 0.9 release --- .../misc/linux/io.github.RodZill4.Material-Maker.appdata.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/material_maker/misc/linux/io.github.RodZill4.Material-Maker.appdata.xml b/material_maker/misc/linux/io.github.RodZill4.Material-Maker.appdata.xml index d7e6576..39854e7 100644 --- a/material_maker/misc/linux/io.github.RodZill4.Material-Maker.appdata.xml +++ b/material_maker/misc/linux/io.github.RodZill4.Material-Maker.appdata.xml @@ -17,13 +17,13 @@ https://github.com/RodZill4/godot-procedural-textures/issues - https://raw.githubusercontent.com/RodZill4/godot-procedural-textures/master/addons/material_maker/doc/images/screenshot.png + https://raw.githubusercontent.com/RodZill4/material-maker/master/material_maker/doc/images/screenshot.png Editing a procedurally generated texture - + hugo.locurcio@hugo.pro