From 627c20106364b784738b60a9c33881c4e4dbd8b7 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Tue, 3 Dec 2024 21:12:31 +0100 Subject: [PATCH 01/18] Just opened in Godot 4.4dev5 --- .../flexible_layout/flexible_dragger.gd.uid | 1 + addons/flexible_layout/flexible_layout.gd.uid | 1 + .../flexible_layout/flexible_overlay.gd.uid | 1 + addons/flexible_layout/flexible_tab.gd.uid | 1 + addons/flexible_layout/flexible_tab.tscn | 2 +- addons/flexible_layout/flexible_tabs.gd.uid | 1 + addons/flexible_layout/test.gd.uid | 1 + .../material_maker/engine/dependencies.gd.uid | 1 + addons/material_maker/engine/io_types.gd.uid | 1 + addons/material_maker/engine/loader.gd.uid | 1 + addons/material_maker/engine/logger.gd.uid | 1 + .../engine/multi_renderer.gd.uid | 1 + .../engine/nodes/gen_base.gd.uid | 1 + .../engine/nodes/gen_brush.gd.uid | 1 + .../engine/nodes/gen_buffer.gd.uid | 1 + .../engine/nodes/gen_comment.gd.uid | 1 + .../engine/nodes/gen_context.gd.uid | 1 + .../engine/nodes/gen_debug.gd.uid | 1 + .../engine/nodes/gen_export.gd.uid | 1 + .../engine/nodes/gen_graph.gd.uid | 1 + .../engine/nodes/gen_image.gd.uid | 1 + .../engine/nodes/gen_ios.gd.uid | 1 + .../engine/nodes/gen_iterate_buffer.gd.uid | 1 + .../engine/nodes/gen_material.gd.uid | 1 + .../engine/nodes/gen_meshmap.gd.uid | 1 + .../engine/nodes/gen_remote.gd.uid | 1 + .../engine/nodes/gen_reroute.gd.uid | 1 + .../engine/nodes/gen_sdf.gd.uid | 1 + .../engine/nodes/gen_shader.gd.uid | 1 + .../engine/nodes/gen_switch.gd.uid | 1 + .../engine/nodes/gen_text.gd.uid | 1 + .../engine/nodes/gen_texture.gd.uid | 1 + .../engine/nodes/gen_webcam.gd.uid | 1 + addons/material_maker/engine/paths.gd.uid | 1 + .../engine/pipeline/compute_shader.gd.uid | 1 + .../engine/pipeline/pipeline.gd.uid | 1 + .../engine/pipeline/rendering_pipeline.gd.uid | 1 + .../engine/pipeline/texture.gd.uid | 1 + .../material_maker/engine/preprocessor.gd.uid | 1 + addons/material_maker/engine/renderer.gd.uid | 1 + .../material_maker/engine/shader_base.gd.uid | 1 + .../engine/shader_compute.gd.uid | 1 + .../engine/shader_error_handler.gd.uid | 1 + .../engine/shader_material.gd.uid | 1 + .../engine/text_resource.gd.uid | 1 + .../import_plugin/ptex_import.gd.uid | 1 + .../ptex_spatial_material.gd.uid | 1 + .../import_plugin/tesselated.gdshader.uid | 1 + .../material_maker/loaders/mesh_loader.gd.uid | 1 + .../material_maker/loaders/obj_loader.gd.uid | 1 + .../map_generator/adjacency_generator.gd.uid | 1 + .../map_generator/bvh_generator.gd.uid | 1 + .../map_generator/curvature_generator.gd.uid | 1 + .../map_generator/map_generator.gd.uid | 1 + .../mesh_rendering_pipeline.gd.uid | 1 + .../material_maker/map_generator/test.gd.uid | 1 + .../nodes/preview_f.gdshader.uid | 1 + .../nodes/preview_fill.gdshader.uid | 1 + .../nodes/preview_rgb.gdshader.uid | 1 + .../nodes/preview_rgba.gdshader.uid | 1 + .../nodes/preview_sdf2d.gdshader.uid | 1 + .../nodes/preview_sdf3d.gdshader.uid | 1 + .../nodes/preview_sdf3dc.gdshader.uid | 1 + .../nodes/preview_tex3d.gdshader.uid | 1 + .../nodes/preview_tex3d_gs.gdshader.uid | 1 + .../nodes/preview_v4v4.gdshader.uid | 1 + .../material_maker/parser/glsl_parser.gd.uid | 1 + .../parser/glsl_parser_base.gd.uid | 1 + .../material_maker/parser/parser_base.gd.uid | 1 + addons/material_maker/plugin.gd.uid | 1 + addons/material_maker/sdf_builder/base.gd.uid | 1 + .../sdf_builder/sdf2d/annular.gd.uid | 1 + .../sdf_builder/sdf2d/bend.gd.uid | 1 + .../sdf_builder/sdf2d/box.gd.uid | 1 + .../sdf_builder/sdf2d/circle.gd.uid | 1 + .../sdf_builder/sdf2d/color.gd.uid | 1 + .../sdf_builder/sdf2d/difference.gd.uid | 1 + .../sdf_builder/sdf2d/elongate.gd.uid | 1 + .../sdf_builder/sdf2d/flip.gd.uid | 1 + .../sdf_builder/sdf2d/intersection.gd.uid | 1 + .../sdf_builder/sdf2d/line.gd.uid | 1 + .../sdf_builder/sdf2d/mirror.gd.uid | 1 + .../sdf_builder/sdf2d/morph.gd.uid | 1 + .../sdf_builder/sdf2d/ngon.gd.uid | 1 + .../sdf_builder/sdf2d/polygon.gd.uid | 1 + .../sdf_builder/sdf2d/round.gd.uid | 1 + .../sdf_builder/sdf2d/smooth_union.gd.uid | 1 + .../sdf_builder/sdf2d/stairs.gd.uid | 1 + .../sdf_builder/sdf2d/star.gd.uid | 1 + .../sdf_builder/sdf2d/union.gd.uid | 1 + .../sdf_builder/sdf3d/annular.gd.uid | 1 + .../sdf_builder/sdf3d/bend.gd.uid | 1 + .../sdf_builder/sdf3d/box.gd.uid | 1 + .../sdf_builder/sdf3d/color.gd.uid | 1 + .../sdf_builder/sdf3d/cylinder.gd.uid | 1 + .../sdf_builder/sdf3d/difference.gd.uid | 1 + .../sdf_builder/sdf3d/distort.gd.uid | 1 + .../sdf_builder/sdf3d/elongate.gd.uid | 1 + .../sdf_builder/sdf3d/extrusion.gd.uid | 1 + .../sdf_builder/sdf3d/flip.gd.uid | 1 + .../sdf_builder/sdf3d/intersection.gd.uid | 1 + .../sdf_builder/sdf3d/mirror.gd.uid | 1 + .../sdf_builder/sdf3d/morph.gd.uid | 1 + .../sdf_builder/sdf3d/revolution.gd.uid | 1 + .../sdf_builder/sdf3d/round.gd.uid | 1 + .../sdf_builder/sdf3d/smooth_union.gd.uid | 1 + .../sdf_builder/sdf3d/sphere.gd.uid | 1 + .../sdf_builder/sdf3d/torus.gd.uid | 1 + .../sdf_builder/sdf3d/twist.gd.uid | 1 + .../sdf_builder/sdf3d/union.gd.uid | 1 + .../sdf_builder/sdf_builder.gd.uid | 1 + .../sdf_builder/tex/blend.gd.uid | 1 + .../tex/brightness_contrast.gd.uid | 1 + .../sdf_builder/tex/deform.gd.uid | 1 + .../material_maker/sdf_builder/tex/fbm.gd.uid | 1 + .../sdf_builder/tex/pattern.gd.uid | 1 + .../sdf_builder/tex/simple_gradient.gd.uid | 1 + .../sdf_builder/tex/step.gd.uid | 1 + .../sdf_builder/tex/uniform.gd.uid | 1 + .../sdf_builder/tex/uniform_gs.gd.uid | 1 + addons/material_maker/types/curve.gd.uid | 1 + addons/material_maker/types/gradient.gd.uid | 1 + addons/material_maker/types/lattice.gd.uid | 1 + addons/material_maker/types/pixels.gd.uid | 1 + addons/material_maker/types/polygon.gd.uid | 1 + addons/material_maker/types/splines.gd.uid | 1 + addons/material_maker/types/types.gd.uid | 1 + material_maker/console.gd.uid | 1 + material_maker/darken.gd.uid | 1 + .../environments/environments.json.uid | 1 + material_maker/globals.gd.uid | 1 + material_maker/globals_menu_manager.gd.uid | 1 + material_maker/html5.gd.uid | 1 + material_maker/icons/icons.gd.uid | 1 + material_maker/library/aliases.json.uid | 1 + material_maker/library/base.json.uid | 1 + material_maker/library/base_brushes.json.uid | 1 + .../locale/generate_po_template.gd.uid | 1 + material_maker/locale/locale.gd.uid | 1 + material_maker/main_window.gd.uid | 1 + material_maker/main_window.tscn | 14 ++++++------ material_maker/main_window_layout.gd.uid | 1 + .../main_window_projects_panel.gd.uid | 1 + material_maker/node_factory.gd.uid | 1 + material_maker/nodes/base.gd.uid | 1 + material_maker/nodes/comment/comment.gd.uid | 1 + .../nodes/comment/palette_button.gd.uid | 1 + material_maker/nodes/debug/debug.gd.uid | 1 + material_maker/nodes/debug/debug_popup.gd.uid | 1 + material_maker/nodes/edit_buttons.gd.uid | 1 + material_maker/nodes/generic/generic.gd.uid | 1 + material_maker/nodes/ios/ios.gd.uid | 1 + material_maker/nodes/ios/port.gd.uid | 1 + .../material_export/material_export.gd.uid | 1 + .../material_export/material_export.tscn | 2 +- material_maker/nodes/minimal.gd.uid | 1 + material_maker/nodes/node_button.gd.uid | 1 + .../remote/named_parameter_dialog.gd.uid | 1 + material_maker/nodes/remote/remote.gd.uid | 1 + material_maker/nodes/reroute/reroute.gd.uid | 1 + material_maker/nodes/switch/switch.gd.uid | 1 + material_maker/nodes/tones/tones.gd.uid | 1 + material_maker/panel_container.gd.uid | 1 + material_maker/panels/brushes/brushes.gd.uid | 1 + .../panels/graph_edit/graph_edit.gd.uid | 1 + .../panels/hierarchy/hierarchy_panel.gd.uid | 1 + .../panels/layers/layer_config_popup.gd.uid | 1 + .../panels/layers/layer_tooltip.gd.uid | 1 + .../layers/layer_tooltip_thumbnail.gd.uid | 1 + .../layer_tooltip_thumbnail.gdshader.uid | 1 + .../layer_tooltip_thumbnail_m.gdshader.uid | 1 + .../layer_tooltip_thumbnail_r.gdshader.uid | 1 + material_maker/panels/layers/layers.gd.uid | 1 + material_maker/panels/layers/layers.tscn | 4 ++-- .../panels/layers/layers_tree.gd.uid | 1 + .../panels/library/create_lib_dialog.gd.uid | 1 + material_maker/panels/library/library.gd.uid | 1 + .../panels/library/library_tree.gd.uid | 1 + .../panels/paint/collapse_button.gd.uid | 1 + material_maker/panels/paint/export.gd.uid | 1 + .../panels/paint/layer_types/layer.gd.uid | 1 + .../paint/layer_types/layer_mask.gd.uid | 1 + .../paint/layer_types/layer_paint.gd.uid | 1 + .../paint/layer_types/layer_procedural.gd.uid | 1 + material_maker/panels/paint/paint.gd.uid | 1 + material_maker/panels/paint/paint.tscn | 7 +++--- .../panels/paint/paint_layers.gd.uid | 1 + .../paint/paint_project_settings.gd.uid | 1 + .../panels/paint/select_mask_dialog.gd.uid | 1 + .../paint/select_mask_dialog.gdshader.uid | 1 + .../panels/parameters/parameters.gd.uid | 1 + .../panels/preview_2d/control_point.gd.uid | 1 + .../preview_2d/custom_size_dialog.gd.uid | 1 + material_maker/panels/preview_2d/lines.gd.uid | 1 + .../panels/preview_2d/preview_2d.gd.uid | 1 + .../panels/preview_2d/preview_2d_node.gd.uid | 1 + .../panels/preview_2d/preview_2d_panel.gd.uid | 1 + .../preview_3d/mesh_config_popup.gd.uid | 1 + .../preview_3d/meshes/mesh_generator.gd.uid | 1 + .../panels/preview_3d/preview_3d.gd.uid | 1 + .../panels/preview_3d/preview_3d_panel.gd.uid | 1 + .../panels/preview_3d/preview_3d_ui.gd.uid | 1 + .../panels/preview_3d/preview_light.gd.uid | 1 + .../panels/preview_3d/preview_mesh.gd.uid | 1 + .../preview_3d/preview_mesh_generated.gd.uid | 1 + .../generation/gen_thumbs_meshes.gd.uid | 1 + .../panels/reference/color_slot.gd.uid | 1 + .../panels/reference/gradient_slot.gd.uid | 1 + .../panels/reference/reference_panel.gd.uid | 1 + material_maker/projects_panel.tscn | 4 ++-- .../enhanced_theme_system/color_swap.gd.uid | 1 + .../enhanced_theme.gd.uid | 1 + material_maker/theme/optimize_theme.gd.uid | 1 + .../environment_manager.gd.uid | 1 + .../tools/library_manager/library.gd.uid | 1 + .../library_manager/library_manager.gd.uid | 1 + .../tools/map_renderer/map_renderer.gd.uid | 1 + .../tools/painter/brush_preview.gd.uid | 1 + material_maker/tools/painter/painter.gd.uid | 1 + .../painter/shaders/apply_seams.gdshader.uid | 1 + .../tools/painter/shaders/brush.gdshader.uid | 1 + .../shaders/brush_common_decl.gdshader.uid | 1 + .../shaders/brush_pattern.gdshader.uid | 1 + .../painter/shaders/brush_stamp.gdshader.uid | 1 + .../shaders/brush_uv_pattern.gdshader.uid | 1 + .../tools/painter/shaders/init.gdshader.uid | 1 + .../shaders/init_channels.gdshader.uid | 1 + .../painter/shaders/normal_map.gdshader.uid | 1 + .../tools/painter/shaders/paint.gdshader.uid | 1 + .../painter/shaders/paint_apply.gdshader.uid | 1 + .../paint_apply_background.gdshader.uid | 1 + .../shaders/paint_mask_apply.gdshader.uid | 1 + .../shaders/paint_mr_apply.gdshader.uid | 1 + .../shaders/paint_nm_apply.gdshader.uid | 1 + .../painter/shaders/texture2view.gdshader.uid | 1 + .../painter/shaders/view2texture.gdshader.uid | 1 + .../tools/share/login_dialog.gd.uid | 1 + .../tools/share/preview_viewport.gd.uid | 1 + .../tools/share/share_button.gd.uid | 1 + .../tools/share/share_http_request.gd.uid | 1 + .../tools/share/share_node_dialog.gd.uid | 1 + .../tools/share/upload_dialog.gd.uid | 1 + .../tools/undo_redo/undo_redo.gd.uid | 1 + .../widgets/code_editor/code_editor.gd.uid | 1 + .../color_picker_button.gd.uid | 1 + .../widgets/curve_edit/control_point.gd.uid | 1 + .../widgets/curve_edit/curve_dialog.gd.uid | 1 + .../widgets/curve_edit/curve_edit.gd.uid | 1 + .../widgets/curve_edit/curve_editor.gd.uid | 1 + .../widgets/curve_edit/curve_view.gd.uid | 1 + .../curve_edit/presets_selector.gd.uid | 1 + .../widgets/curve_edit/slope_point.gd.uid | 1 + .../widgets/desc_button/desc_button.gd.uid | 1 + .../file_picker_button.gd.uid | 1 + .../float_edit/expression_editor.gd.uid | 1 + .../widgets/float_edit/float_edit.gd.uid | 1 + .../gradient_editor/gradient_edit.gd.uid | 1 + .../gradient_edit_cursor.gd.uid | 1 + .../gradient_editor/gradient_popup.gd.uid | 1 + .../widgets/graph_tree/graph_tree.gd.uid | 1 + .../widgets/histogram/histogram.gd.uid | 1 + .../image_picker_button.gd.uid | 1 + .../lattice_edit/lattice_dialog.gd.uid | 1 + .../widgets/lattice_edit/lattice_edit.gd.uid | 1 + .../lattice_edit/lattice_editor.gd.uid | 1 + .../widgets/lattice_edit/lattice_view.gd.uid | 1 + .../linked_widgets/editable_label.gd.uid | 1 + .../widgets/linked_widgets/link.gd.uid | 1 + .../widgets/option_edit/option_edit.gd.uid | 1 + .../widgets/pixels_edit/pixels_dialog.gd.uid | 1 + .../widgets/pixels_edit/pixels_edit.gd.uid | 1 + .../widgets/pixels_edit/pixels_editor.gd.uid | 1 + .../widgets/pixels_edit/pixels_view.gd.uid | 1 + .../widgets/polygon_edit/control_point.gd.uid | 1 + .../polygon_edit/polygon_dialog.gd.uid | 1 + .../widgets/polygon_edit/polygon_edit.gd.uid | 1 + .../polygon_edit/polygon_editor.gd.uid | 1 + .../widgets/polygon_edit/polygon_view.gd.uid | 1 + .../port_group_button.gd.uid | 1 + .../render_counter/render_counter.gd.uid | 1 + .../size_option_button.gd.uid | 1 + .../splines_edit/splines_dialog.gd.uid | 1 + .../widgets/splines_edit/splines_edit.gd.uid | 1 + .../splines_edit/splines_editor.gd.uid | 1 + .../widgets/splines_edit/splines_view.gd.uid | 1 + material_maker/widgets/tabs/tabs.gd.uid | 1 + material_maker/windows/about/about.gd.uid | 1 + .../accept_dialog/accept_dialog.gd.uid | 1 + .../add_node_popup/add_node_popup.gd.uid | 1 + .../add_node_popup/add_node_popup.tscn | 22 +++++++++++++++---- .../add_node_popup/quick_button.gd.uid | 1 + .../windows/add_node_popup/quick_button.tscn | 2 +- .../windows/desc_dialog/desc_dialog.gd.uid | 1 + .../environment_editor.gd.uid | 1 + .../export_animation/export_animation.gd.uid | 1 + .../windows/export_taa/export_taa.gd.uid | 1 + .../windows/file_dialog/file_dialog.gd.uid | 1 + .../windows/file_dialog/left_panel.gd.uid | 1 + .../windows/line_dialog/line_dialog.gd.uid | 1 + .../load_from_website.gd.uid | 1 + .../material_editor/export_editor.gd.uid | 1 + .../expression_line_edit.gd.uid | 1 + .../material_editor/material_editor.gd.uid | 1 + .../windows/new_painter/new_painter.gd.uid | 1 + .../windows/node_editor/enum_editor.gd.uid | 1 + .../windows/node_editor/input.gd.uid | 1 + .../windows/node_editor/node_editor.gd.uid | 1 + .../node_editor/node_editor_item_list.gd.uid | 1 + .../windows/node_editor/output.gd.uid | 1 + .../windows/node_editor/parameter.gd.uid | 1 + .../node_editor/parameter_boolean.gd.uid | 1 + .../node_editor/parameter_color.gd.uid | 1 + .../node_editor/parameter_curve.gd.uid | 1 + .../windows/node_editor/parameter_enum.gd.uid | 1 + .../node_editor/parameter_float.gd.uid | 1 + .../node_editor/parameter_gradient.gd.uid | 1 + .../node_editor/parameter_lattice.gd.uid | 1 + .../node_editor/parameter_pixels.gd.uid | 1 + .../node_editor/parameter_polygon.gd.uid | 1 + .../windows/node_editor/parameter_size.gd.uid | 1 + .../node_editor/parameter_splines.gd.uid | 1 + .../windows/preferences/bool_option.gd.uid | 1 + .../windows/preferences/float_option.gd.uid | 1 + .../windows/preferences/lang_option.gd.uid | 1 + .../preferences/language_download.gd.uid | 1 + .../windows/preferences/preferences.gd.uid | 1 + .../progress_window/progress_window.gd.uid | 1 + .../windows/sdf_builder/gizmo.gd.uid | 1 + .../windows/sdf_builder/gizmo.gdshader.uid | 1 + .../windows/sdf_builder/gizmo_arrow.gd.uid | 1 + .../windows/sdf_builder/preview_2d.gd.uid | 1 + .../sdf_builder/preview_2d.gdshader.uid | 1 + .../windows/sdf_builder/preview_3d.gd.uid | 1 + .../sdf_builder/preview_3d.gdshader.uid | 1 + .../windows/sdf_builder/sdf_builder.gd.uid | 1 + .../sdf_builder/sdf_builder_tree.gd.uid | 1 + parse_args.gd.uid | 1 + parse_args.tscn | 2 +- project.godot | 4 ++-- scripts/fixup.gd.uid | 1 + .../droppedbeat_meteor_rain.gdshader.uid | 1 + .../droppedbeat_star_trails.gdshader.uid | 1 + .../unfa_alien_display.gdshader.uid | 1 + splash_screen/splash_screen.gd.uid | 1 + splash_screen/splash_screen.gdshader.uid | 1 + .../splash_screen_bottom.gdshader.uid | 1 + start.gd.uid | 1 + 347 files changed, 375 insertions(+), 25 deletions(-) create mode 100644 addons/flexible_layout/flexible_dragger.gd.uid create mode 100644 addons/flexible_layout/flexible_layout.gd.uid create mode 100644 addons/flexible_layout/flexible_overlay.gd.uid create mode 100644 addons/flexible_layout/flexible_tab.gd.uid create mode 100644 addons/flexible_layout/flexible_tabs.gd.uid create mode 100644 addons/flexible_layout/test.gd.uid create mode 100644 addons/material_maker/engine/dependencies.gd.uid create mode 100644 addons/material_maker/engine/io_types.gd.uid create mode 100644 addons/material_maker/engine/loader.gd.uid create mode 100644 addons/material_maker/engine/logger.gd.uid create mode 100644 addons/material_maker/engine/multi_renderer.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_base.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_brush.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_buffer.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_comment.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_context.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_debug.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_export.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_graph.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_image.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_ios.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_iterate_buffer.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_material.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_meshmap.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_remote.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_reroute.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_sdf.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_shader.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_switch.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_text.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_texture.gd.uid create mode 100644 addons/material_maker/engine/nodes/gen_webcam.gd.uid create mode 100644 addons/material_maker/engine/paths.gd.uid create mode 100644 addons/material_maker/engine/pipeline/compute_shader.gd.uid create mode 100644 addons/material_maker/engine/pipeline/pipeline.gd.uid create mode 100644 addons/material_maker/engine/pipeline/rendering_pipeline.gd.uid create mode 100644 addons/material_maker/engine/pipeline/texture.gd.uid create mode 100644 addons/material_maker/engine/preprocessor.gd.uid create mode 100644 addons/material_maker/engine/renderer.gd.uid create mode 100644 addons/material_maker/engine/shader_base.gd.uid create mode 100644 addons/material_maker/engine/shader_compute.gd.uid create mode 100644 addons/material_maker/engine/shader_error_handler.gd.uid create mode 100644 addons/material_maker/engine/shader_material.gd.uid create mode 100644 addons/material_maker/engine/text_resource.gd.uid create mode 100644 addons/material_maker/import_plugin/ptex_import.gd.uid create mode 100644 addons/material_maker/import_plugin/ptex_spatial_material.gd.uid create mode 100644 addons/material_maker/import_plugin/tesselated.gdshader.uid create mode 100644 addons/material_maker/loaders/mesh_loader.gd.uid create mode 100644 addons/material_maker/loaders/obj_loader.gd.uid create mode 100644 addons/material_maker/map_generator/adjacency_generator.gd.uid create mode 100644 addons/material_maker/map_generator/bvh_generator.gd.uid create mode 100644 addons/material_maker/map_generator/curvature_generator.gd.uid create mode 100644 addons/material_maker/map_generator/map_generator.gd.uid create mode 100644 addons/material_maker/map_generator/mesh_rendering_pipeline.gd.uid create mode 100644 addons/material_maker/map_generator/test.gd.uid create mode 100644 addons/material_maker/nodes/preview_f.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_fill.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_rgb.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_rgba.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_sdf2d.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_sdf3d.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_sdf3dc.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_tex3d.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_tex3d_gs.gdshader.uid create mode 100644 addons/material_maker/nodes/preview_v4v4.gdshader.uid create mode 100644 addons/material_maker/parser/glsl_parser.gd.uid create mode 100644 addons/material_maker/parser/glsl_parser_base.gd.uid create mode 100644 addons/material_maker/parser/parser_base.gd.uid create mode 100644 addons/material_maker/plugin.gd.uid create mode 100644 addons/material_maker/sdf_builder/base.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/annular.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/bend.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/box.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/circle.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/color.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/difference.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/elongate.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/flip.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/intersection.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/line.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/mirror.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/morph.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/ngon.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/polygon.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/round.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/smooth_union.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/stairs.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/star.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf2d/union.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/annular.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/bend.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/box.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/color.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/cylinder.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/difference.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/distort.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/elongate.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/extrusion.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/flip.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/intersection.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/mirror.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/morph.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/revolution.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/round.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/smooth_union.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/sphere.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/torus.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/twist.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf3d/union.gd.uid create mode 100644 addons/material_maker/sdf_builder/sdf_builder.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/blend.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/brightness_contrast.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/deform.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/fbm.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/pattern.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/simple_gradient.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/step.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/uniform.gd.uid create mode 100644 addons/material_maker/sdf_builder/tex/uniform_gs.gd.uid create mode 100644 addons/material_maker/types/curve.gd.uid create mode 100644 addons/material_maker/types/gradient.gd.uid create mode 100644 addons/material_maker/types/lattice.gd.uid create mode 100644 addons/material_maker/types/pixels.gd.uid create mode 100644 addons/material_maker/types/polygon.gd.uid create mode 100644 addons/material_maker/types/splines.gd.uid create mode 100644 addons/material_maker/types/types.gd.uid create mode 100644 material_maker/console.gd.uid create mode 100644 material_maker/darken.gd.uid create mode 100644 material_maker/environments/environments.json.uid create mode 100644 material_maker/globals.gd.uid create mode 100644 material_maker/globals_menu_manager.gd.uid create mode 100644 material_maker/html5.gd.uid create mode 100644 material_maker/icons/icons.gd.uid create mode 100644 material_maker/library/aliases.json.uid create mode 100644 material_maker/library/base.json.uid create mode 100644 material_maker/library/base_brushes.json.uid create mode 100644 material_maker/locale/generate_po_template.gd.uid create mode 100644 material_maker/locale/locale.gd.uid create mode 100644 material_maker/main_window.gd.uid create mode 100644 material_maker/main_window_layout.gd.uid create mode 100644 material_maker/main_window_projects_panel.gd.uid create mode 100644 material_maker/node_factory.gd.uid create mode 100644 material_maker/nodes/base.gd.uid create mode 100644 material_maker/nodes/comment/comment.gd.uid create mode 100644 material_maker/nodes/comment/palette_button.gd.uid create mode 100644 material_maker/nodes/debug/debug.gd.uid create mode 100644 material_maker/nodes/debug/debug_popup.gd.uid create mode 100644 material_maker/nodes/edit_buttons.gd.uid create mode 100644 material_maker/nodes/generic/generic.gd.uid create mode 100644 material_maker/nodes/ios/ios.gd.uid create mode 100644 material_maker/nodes/ios/port.gd.uid create mode 100644 material_maker/nodes/material_export/material_export.gd.uid create mode 100644 material_maker/nodes/minimal.gd.uid create mode 100644 material_maker/nodes/node_button.gd.uid create mode 100644 material_maker/nodes/remote/named_parameter_dialog.gd.uid create mode 100644 material_maker/nodes/remote/remote.gd.uid create mode 100644 material_maker/nodes/reroute/reroute.gd.uid create mode 100644 material_maker/nodes/switch/switch.gd.uid create mode 100644 material_maker/nodes/tones/tones.gd.uid create mode 100644 material_maker/panel_container.gd.uid create mode 100644 material_maker/panels/brushes/brushes.gd.uid create mode 100644 material_maker/panels/graph_edit/graph_edit.gd.uid create mode 100644 material_maker/panels/hierarchy/hierarchy_panel.gd.uid create mode 100644 material_maker/panels/layers/layer_config_popup.gd.uid create mode 100644 material_maker/panels/layers/layer_tooltip.gd.uid create mode 100644 material_maker/panels/layers/layer_tooltip_thumbnail.gd.uid create mode 100644 material_maker/panels/layers/layer_tooltip_thumbnail.gdshader.uid create mode 100644 material_maker/panels/layers/layer_tooltip_thumbnail_m.gdshader.uid create mode 100644 material_maker/panels/layers/layer_tooltip_thumbnail_r.gdshader.uid create mode 100644 material_maker/panels/layers/layers.gd.uid create mode 100644 material_maker/panels/layers/layers_tree.gd.uid create mode 100644 material_maker/panels/library/create_lib_dialog.gd.uid create mode 100644 material_maker/panels/library/library.gd.uid create mode 100644 material_maker/panels/library/library_tree.gd.uid create mode 100644 material_maker/panels/paint/collapse_button.gd.uid create mode 100644 material_maker/panels/paint/export.gd.uid create mode 100644 material_maker/panels/paint/layer_types/layer.gd.uid create mode 100644 material_maker/panels/paint/layer_types/layer_mask.gd.uid create mode 100644 material_maker/panels/paint/layer_types/layer_paint.gd.uid create mode 100644 material_maker/panels/paint/layer_types/layer_procedural.gd.uid create mode 100644 material_maker/panels/paint/paint.gd.uid create mode 100644 material_maker/panels/paint/paint_layers.gd.uid create mode 100644 material_maker/panels/paint/paint_project_settings.gd.uid create mode 100644 material_maker/panels/paint/select_mask_dialog.gd.uid create mode 100644 material_maker/panels/paint/select_mask_dialog.gdshader.uid create mode 100644 material_maker/panels/parameters/parameters.gd.uid create mode 100644 material_maker/panels/preview_2d/control_point.gd.uid create mode 100644 material_maker/panels/preview_2d/custom_size_dialog.gd.uid create mode 100644 material_maker/panels/preview_2d/lines.gd.uid create mode 100644 material_maker/panels/preview_2d/preview_2d.gd.uid create mode 100644 material_maker/panels/preview_2d/preview_2d_node.gd.uid create mode 100644 material_maker/panels/preview_2d/preview_2d_panel.gd.uid create mode 100644 material_maker/panels/preview_3d/mesh_config_popup.gd.uid create mode 100644 material_maker/panels/preview_3d/meshes/mesh_generator.gd.uid create mode 100644 material_maker/panels/preview_3d/preview_3d.gd.uid create mode 100644 material_maker/panels/preview_3d/preview_3d_panel.gd.uid create mode 100644 material_maker/panels/preview_3d/preview_3d_ui.gd.uid create mode 100644 material_maker/panels/preview_3d/preview_light.gd.uid create mode 100644 material_maker/panels/preview_3d/preview_mesh.gd.uid create mode 100644 material_maker/panels/preview_3d/preview_mesh_generated.gd.uid create mode 100644 material_maker/panels/preview_3d/thumbnails/generation/gen_thumbs_meshes.gd.uid create mode 100644 material_maker/panels/reference/color_slot.gd.uid create mode 100644 material_maker/panels/reference/gradient_slot.gd.uid create mode 100644 material_maker/panels/reference/reference_panel.gd.uid create mode 100644 material_maker/theme/enhanced_theme_system/color_swap.gd.uid create mode 100644 material_maker/theme/enhanced_theme_system/enhanced_theme.gd.uid create mode 100644 material_maker/theme/optimize_theme.gd.uid create mode 100644 material_maker/tools/environment_manager/environment_manager.gd.uid create mode 100644 material_maker/tools/library_manager/library.gd.uid create mode 100644 material_maker/tools/library_manager/library_manager.gd.uid create mode 100644 material_maker/tools/map_renderer/map_renderer.gd.uid create mode 100644 material_maker/tools/painter/brush_preview.gd.uid create mode 100644 material_maker/tools/painter/painter.gd.uid create mode 100644 material_maker/tools/painter/shaders/apply_seams.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/brush.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/brush_common_decl.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/brush_pattern.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/brush_stamp.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/brush_uv_pattern.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/init.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/init_channels.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/normal_map.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/paint.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/paint_apply.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/paint_apply_background.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/paint_mask_apply.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/paint_mr_apply.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/paint_nm_apply.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/texture2view.gdshader.uid create mode 100644 material_maker/tools/painter/shaders/view2texture.gdshader.uid create mode 100644 material_maker/tools/share/login_dialog.gd.uid create mode 100644 material_maker/tools/share/preview_viewport.gd.uid create mode 100644 material_maker/tools/share/share_button.gd.uid create mode 100644 material_maker/tools/share/share_http_request.gd.uid create mode 100644 material_maker/tools/share/share_node_dialog.gd.uid create mode 100644 material_maker/tools/share/upload_dialog.gd.uid create mode 100644 material_maker/tools/undo_redo/undo_redo.gd.uid create mode 100644 material_maker/widgets/code_editor/code_editor.gd.uid create mode 100644 material_maker/widgets/color_picker_button/color_picker_button.gd.uid create mode 100644 material_maker/widgets/curve_edit/control_point.gd.uid create mode 100644 material_maker/widgets/curve_edit/curve_dialog.gd.uid create mode 100644 material_maker/widgets/curve_edit/curve_edit.gd.uid create mode 100644 material_maker/widgets/curve_edit/curve_editor.gd.uid create mode 100644 material_maker/widgets/curve_edit/curve_view.gd.uid create mode 100644 material_maker/widgets/curve_edit/presets_selector.gd.uid create mode 100644 material_maker/widgets/curve_edit/slope_point.gd.uid create mode 100644 material_maker/widgets/desc_button/desc_button.gd.uid create mode 100644 material_maker/widgets/file_picker_button/file_picker_button.gd.uid create mode 100644 material_maker/widgets/float_edit/expression_editor.gd.uid create mode 100644 material_maker/widgets/float_edit/float_edit.gd.uid create mode 100644 material_maker/widgets/gradient_editor/gradient_edit.gd.uid create mode 100644 material_maker/widgets/gradient_editor/gradient_edit_cursor.gd.uid create mode 100644 material_maker/widgets/gradient_editor/gradient_popup.gd.uid create mode 100644 material_maker/widgets/graph_tree/graph_tree.gd.uid create mode 100644 material_maker/widgets/histogram/histogram.gd.uid create mode 100644 material_maker/widgets/image_picker_button/image_picker_button.gd.uid create mode 100644 material_maker/widgets/lattice_edit/lattice_dialog.gd.uid create mode 100644 material_maker/widgets/lattice_edit/lattice_edit.gd.uid create mode 100644 material_maker/widgets/lattice_edit/lattice_editor.gd.uid create mode 100644 material_maker/widgets/lattice_edit/lattice_view.gd.uid create mode 100644 material_maker/widgets/linked_widgets/editable_label.gd.uid create mode 100644 material_maker/widgets/linked_widgets/link.gd.uid create mode 100644 material_maker/widgets/option_edit/option_edit.gd.uid create mode 100644 material_maker/widgets/pixels_edit/pixels_dialog.gd.uid create mode 100644 material_maker/widgets/pixels_edit/pixels_edit.gd.uid create mode 100644 material_maker/widgets/pixels_edit/pixels_editor.gd.uid create mode 100644 material_maker/widgets/pixels_edit/pixels_view.gd.uid create mode 100644 material_maker/widgets/polygon_edit/control_point.gd.uid create mode 100644 material_maker/widgets/polygon_edit/polygon_dialog.gd.uid create mode 100644 material_maker/widgets/polygon_edit/polygon_edit.gd.uid create mode 100644 material_maker/widgets/polygon_edit/polygon_editor.gd.uid create mode 100644 material_maker/widgets/polygon_edit/polygon_view.gd.uid create mode 100644 material_maker/widgets/port_group_button/port_group_button.gd.uid create mode 100644 material_maker/widgets/render_counter/render_counter.gd.uid create mode 100644 material_maker/widgets/size_option_button/size_option_button.gd.uid create mode 100644 material_maker/widgets/splines_edit/splines_dialog.gd.uid create mode 100644 material_maker/widgets/splines_edit/splines_edit.gd.uid create mode 100644 material_maker/widgets/splines_edit/splines_editor.gd.uid create mode 100644 material_maker/widgets/splines_edit/splines_view.gd.uid create mode 100644 material_maker/widgets/tabs/tabs.gd.uid create mode 100644 material_maker/windows/about/about.gd.uid create mode 100644 material_maker/windows/accept_dialog/accept_dialog.gd.uid create mode 100644 material_maker/windows/add_node_popup/add_node_popup.gd.uid create mode 100644 material_maker/windows/add_node_popup/quick_button.gd.uid create mode 100644 material_maker/windows/desc_dialog/desc_dialog.gd.uid create mode 100644 material_maker/windows/environment_editor/environment_editor.gd.uid create mode 100644 material_maker/windows/export_animation/export_animation.gd.uid create mode 100644 material_maker/windows/export_taa/export_taa.gd.uid create mode 100644 material_maker/windows/file_dialog/file_dialog.gd.uid create mode 100644 material_maker/windows/file_dialog/left_panel.gd.uid create mode 100644 material_maker/windows/line_dialog/line_dialog.gd.uid create mode 100644 material_maker/windows/load_from_website/load_from_website.gd.uid create mode 100644 material_maker/windows/material_editor/export_editor.gd.uid create mode 100644 material_maker/windows/material_editor/expression_line_edit.gd.uid create mode 100644 material_maker/windows/material_editor/material_editor.gd.uid create mode 100644 material_maker/windows/new_painter/new_painter.gd.uid create mode 100644 material_maker/windows/node_editor/enum_editor.gd.uid create mode 100644 material_maker/windows/node_editor/input.gd.uid create mode 100644 material_maker/windows/node_editor/node_editor.gd.uid create mode 100644 material_maker/windows/node_editor/node_editor_item_list.gd.uid create mode 100644 material_maker/windows/node_editor/output.gd.uid create mode 100644 material_maker/windows/node_editor/parameter.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_boolean.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_color.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_curve.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_enum.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_float.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_gradient.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_lattice.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_pixels.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_polygon.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_size.gd.uid create mode 100644 material_maker/windows/node_editor/parameter_splines.gd.uid create mode 100644 material_maker/windows/preferences/bool_option.gd.uid create mode 100644 material_maker/windows/preferences/float_option.gd.uid create mode 100644 material_maker/windows/preferences/lang_option.gd.uid create mode 100644 material_maker/windows/preferences/language_download.gd.uid create mode 100644 material_maker/windows/preferences/preferences.gd.uid create mode 100644 material_maker/windows/progress_window/progress_window.gd.uid create mode 100644 material_maker/windows/sdf_builder/gizmo.gd.uid create mode 100644 material_maker/windows/sdf_builder/gizmo.gdshader.uid create mode 100644 material_maker/windows/sdf_builder/gizmo_arrow.gd.uid create mode 100644 material_maker/windows/sdf_builder/preview_2d.gd.uid create mode 100644 material_maker/windows/sdf_builder/preview_2d.gdshader.uid create mode 100644 material_maker/windows/sdf_builder/preview_3d.gd.uid create mode 100644 material_maker/windows/sdf_builder/preview_3d.gdshader.uid create mode 100644 material_maker/windows/sdf_builder/sdf_builder.gd.uid create mode 100644 material_maker/windows/sdf_builder/sdf_builder_tree.gd.uid create mode 100644 parse_args.gd.uid create mode 100644 scripts/fixup.gd.uid create mode 100644 splash_screen/backgrounds/droppedbeat_meteor_rain.gdshader.uid create mode 100644 splash_screen/backgrounds/droppedbeat_star_trails.gdshader.uid create mode 100644 splash_screen/backgrounds/unfa_alien_display.gdshader.uid create mode 100644 splash_screen/splash_screen.gd.uid create mode 100644 splash_screen/splash_screen.gdshader.uid create mode 100644 splash_screen/splash_screen_bottom.gdshader.uid create mode 100644 start.gd.uid diff --git a/addons/flexible_layout/flexible_dragger.gd.uid b/addons/flexible_layout/flexible_dragger.gd.uid new file mode 100644 index 000000000..788182265 --- /dev/null +++ b/addons/flexible_layout/flexible_dragger.gd.uid @@ -0,0 +1 @@ +uid://dgwcni3ebvc8s diff --git a/addons/flexible_layout/flexible_layout.gd.uid b/addons/flexible_layout/flexible_layout.gd.uid new file mode 100644 index 000000000..96396bdab --- /dev/null +++ b/addons/flexible_layout/flexible_layout.gd.uid @@ -0,0 +1 @@ +uid://crspdrrii0nex diff --git a/addons/flexible_layout/flexible_overlay.gd.uid b/addons/flexible_layout/flexible_overlay.gd.uid new file mode 100644 index 000000000..edfa73057 --- /dev/null +++ b/addons/flexible_layout/flexible_overlay.gd.uid @@ -0,0 +1 @@ +uid://bhwlc7y7qgb2v diff --git a/addons/flexible_layout/flexible_tab.gd.uid b/addons/flexible_layout/flexible_tab.gd.uid new file mode 100644 index 000000000..02f4f48e2 --- /dev/null +++ b/addons/flexible_layout/flexible_tab.gd.uid @@ -0,0 +1 @@ +uid://ywxnr7grll4s diff --git a/addons/flexible_layout/flexible_tab.tscn b/addons/flexible_layout/flexible_tab.tscn index a3d945c21..839f1ff02 100644 --- a/addons/flexible_layout/flexible_tab.tscn +++ b/addons/flexible_layout/flexible_tab.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://e06xegp2tp3f"] -[ext_resource type="Script" path="res://addons/flexible_layout/flexible_tab.gd" id="1"] +[ext_resource type="Script" uid="uid://ywxnr7grll4s" path="res://addons/flexible_layout/flexible_tab.gd" id="1"] [ext_resource type="Texture2D" uid="uid://xuy6dfh1rsne" path="res://addons/flexible_layout/undock.png" id="2_nx0qp"] [sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_bok24"] diff --git a/addons/flexible_layout/flexible_tabs.gd.uid b/addons/flexible_layout/flexible_tabs.gd.uid new file mode 100644 index 000000000..97a7f7ed5 --- /dev/null +++ b/addons/flexible_layout/flexible_tabs.gd.uid @@ -0,0 +1 @@ +uid://dg1byost6nv7c diff --git a/addons/flexible_layout/test.gd.uid b/addons/flexible_layout/test.gd.uid new file mode 100644 index 000000000..5894d8371 --- /dev/null +++ b/addons/flexible_layout/test.gd.uid @@ -0,0 +1 @@ +uid://pwdjqjokbnju diff --git a/addons/material_maker/engine/dependencies.gd.uid b/addons/material_maker/engine/dependencies.gd.uid new file mode 100644 index 000000000..3c97258fe --- /dev/null +++ b/addons/material_maker/engine/dependencies.gd.uid @@ -0,0 +1 @@ +uid://crr3mu66a78bu diff --git a/addons/material_maker/engine/io_types.gd.uid b/addons/material_maker/engine/io_types.gd.uid new file mode 100644 index 000000000..20b310c85 --- /dev/null +++ b/addons/material_maker/engine/io_types.gd.uid @@ -0,0 +1 @@ +uid://coeb0q7f1dfo6 diff --git a/addons/material_maker/engine/loader.gd.uid b/addons/material_maker/engine/loader.gd.uid new file mode 100644 index 000000000..722719356 --- /dev/null +++ b/addons/material_maker/engine/loader.gd.uid @@ -0,0 +1 @@ +uid://ddlcbf6dw2a6p diff --git a/addons/material_maker/engine/logger.gd.uid b/addons/material_maker/engine/logger.gd.uid new file mode 100644 index 000000000..989637a4a --- /dev/null +++ b/addons/material_maker/engine/logger.gd.uid @@ -0,0 +1 @@ +uid://5f5raxatrnnl diff --git a/addons/material_maker/engine/multi_renderer.gd.uid b/addons/material_maker/engine/multi_renderer.gd.uid new file mode 100644 index 000000000..289ae14de --- /dev/null +++ b/addons/material_maker/engine/multi_renderer.gd.uid @@ -0,0 +1 @@ +uid://dqcja48n320s4 diff --git a/addons/material_maker/engine/nodes/gen_base.gd.uid b/addons/material_maker/engine/nodes/gen_base.gd.uid new file mode 100644 index 000000000..eb871a80d --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_base.gd.uid @@ -0,0 +1 @@ +uid://mcbr328cl01e diff --git a/addons/material_maker/engine/nodes/gen_brush.gd.uid b/addons/material_maker/engine/nodes/gen_brush.gd.uid new file mode 100644 index 000000000..195c56b3b --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_brush.gd.uid @@ -0,0 +1 @@ +uid://b7uvyymfdklls diff --git a/addons/material_maker/engine/nodes/gen_buffer.gd.uid b/addons/material_maker/engine/nodes/gen_buffer.gd.uid new file mode 100644 index 000000000..1c8f304c6 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_buffer.gd.uid @@ -0,0 +1 @@ +uid://brtutoy18rxq5 diff --git a/addons/material_maker/engine/nodes/gen_comment.gd.uid b/addons/material_maker/engine/nodes/gen_comment.gd.uid new file mode 100644 index 000000000..dfd2369d7 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_comment.gd.uid @@ -0,0 +1 @@ +uid://x2lbtdvnuwdt diff --git a/addons/material_maker/engine/nodes/gen_context.gd.uid b/addons/material_maker/engine/nodes/gen_context.gd.uid new file mode 100644 index 000000000..b6f989d8f --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_context.gd.uid @@ -0,0 +1 @@ +uid://8dg7g6ubsn61 diff --git a/addons/material_maker/engine/nodes/gen_debug.gd.uid b/addons/material_maker/engine/nodes/gen_debug.gd.uid new file mode 100644 index 000000000..aaa07a8eb --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_debug.gd.uid @@ -0,0 +1 @@ +uid://bcutdsiyw2tuf diff --git a/addons/material_maker/engine/nodes/gen_export.gd.uid b/addons/material_maker/engine/nodes/gen_export.gd.uid new file mode 100644 index 000000000..4f74dfbc1 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_export.gd.uid @@ -0,0 +1 @@ +uid://b2decri0hye1o diff --git a/addons/material_maker/engine/nodes/gen_graph.gd.uid b/addons/material_maker/engine/nodes/gen_graph.gd.uid new file mode 100644 index 000000000..d28b36fc2 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_graph.gd.uid @@ -0,0 +1 @@ +uid://fcw2oyxbk8he diff --git a/addons/material_maker/engine/nodes/gen_image.gd.uid b/addons/material_maker/engine/nodes/gen_image.gd.uid new file mode 100644 index 000000000..cde44f913 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_image.gd.uid @@ -0,0 +1 @@ +uid://e6sktgaie00t diff --git a/addons/material_maker/engine/nodes/gen_ios.gd.uid b/addons/material_maker/engine/nodes/gen_ios.gd.uid new file mode 100644 index 000000000..fb9525e6a --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_ios.gd.uid @@ -0,0 +1 @@ +uid://04c37eowt30v diff --git a/addons/material_maker/engine/nodes/gen_iterate_buffer.gd.uid b/addons/material_maker/engine/nodes/gen_iterate_buffer.gd.uid new file mode 100644 index 000000000..7dcde9655 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_iterate_buffer.gd.uid @@ -0,0 +1 @@ +uid://bflrhcmq2h2oc diff --git a/addons/material_maker/engine/nodes/gen_material.gd.uid b/addons/material_maker/engine/nodes/gen_material.gd.uid new file mode 100644 index 000000000..bf17a471b --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_material.gd.uid @@ -0,0 +1 @@ +uid://duduukbt175gd diff --git a/addons/material_maker/engine/nodes/gen_meshmap.gd.uid b/addons/material_maker/engine/nodes/gen_meshmap.gd.uid new file mode 100644 index 000000000..6495c670d --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_meshmap.gd.uid @@ -0,0 +1 @@ +uid://do2fhmo51enhf diff --git a/addons/material_maker/engine/nodes/gen_remote.gd.uid b/addons/material_maker/engine/nodes/gen_remote.gd.uid new file mode 100644 index 000000000..3eaf67f64 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_remote.gd.uid @@ -0,0 +1 @@ +uid://cn0tf0i8dvgl3 diff --git a/addons/material_maker/engine/nodes/gen_reroute.gd.uid b/addons/material_maker/engine/nodes/gen_reroute.gd.uid new file mode 100644 index 000000000..9795338b8 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_reroute.gd.uid @@ -0,0 +1 @@ +uid://cheligcykjoqk diff --git a/addons/material_maker/engine/nodes/gen_sdf.gd.uid b/addons/material_maker/engine/nodes/gen_sdf.gd.uid new file mode 100644 index 000000000..4d37d2d5f --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_sdf.gd.uid @@ -0,0 +1 @@ +uid://csqqg3rre416e diff --git a/addons/material_maker/engine/nodes/gen_shader.gd.uid b/addons/material_maker/engine/nodes/gen_shader.gd.uid new file mode 100644 index 000000000..8fe98dcef --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_shader.gd.uid @@ -0,0 +1 @@ +uid://bs00xpth2mgrv diff --git a/addons/material_maker/engine/nodes/gen_switch.gd.uid b/addons/material_maker/engine/nodes/gen_switch.gd.uid new file mode 100644 index 000000000..6280ae797 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_switch.gd.uid @@ -0,0 +1 @@ +uid://7o1v23p5rmyo diff --git a/addons/material_maker/engine/nodes/gen_text.gd.uid b/addons/material_maker/engine/nodes/gen_text.gd.uid new file mode 100644 index 000000000..49ec8c479 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_text.gd.uid @@ -0,0 +1 @@ +uid://coj5y2ajhbf00 diff --git a/addons/material_maker/engine/nodes/gen_texture.gd.uid b/addons/material_maker/engine/nodes/gen_texture.gd.uid new file mode 100644 index 000000000..5e683ce3a --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_texture.gd.uid @@ -0,0 +1 @@ +uid://d0j0hrry8p7yj diff --git a/addons/material_maker/engine/nodes/gen_webcam.gd.uid b/addons/material_maker/engine/nodes/gen_webcam.gd.uid new file mode 100644 index 000000000..a98cc6f08 --- /dev/null +++ b/addons/material_maker/engine/nodes/gen_webcam.gd.uid @@ -0,0 +1 @@ +uid://bq5dlb02buma1 diff --git a/addons/material_maker/engine/paths.gd.uid b/addons/material_maker/engine/paths.gd.uid new file mode 100644 index 000000000..c535673a7 --- /dev/null +++ b/addons/material_maker/engine/paths.gd.uid @@ -0,0 +1 @@ +uid://dds8sv5t0d8qd diff --git a/addons/material_maker/engine/pipeline/compute_shader.gd.uid b/addons/material_maker/engine/pipeline/compute_shader.gd.uid new file mode 100644 index 000000000..2faaefda6 --- /dev/null +++ b/addons/material_maker/engine/pipeline/compute_shader.gd.uid @@ -0,0 +1 @@ +uid://cljvoqip731pb diff --git a/addons/material_maker/engine/pipeline/pipeline.gd.uid b/addons/material_maker/engine/pipeline/pipeline.gd.uid new file mode 100644 index 000000000..d52df2cdd --- /dev/null +++ b/addons/material_maker/engine/pipeline/pipeline.gd.uid @@ -0,0 +1 @@ +uid://cy12cyam077nq diff --git a/addons/material_maker/engine/pipeline/rendering_pipeline.gd.uid b/addons/material_maker/engine/pipeline/rendering_pipeline.gd.uid new file mode 100644 index 000000000..5dcd8c692 --- /dev/null +++ b/addons/material_maker/engine/pipeline/rendering_pipeline.gd.uid @@ -0,0 +1 @@ +uid://bji5mvbcaxl5q diff --git a/addons/material_maker/engine/pipeline/texture.gd.uid b/addons/material_maker/engine/pipeline/texture.gd.uid new file mode 100644 index 000000000..36ae9bb06 --- /dev/null +++ b/addons/material_maker/engine/pipeline/texture.gd.uid @@ -0,0 +1 @@ +uid://cd5mebgsx7y01 diff --git a/addons/material_maker/engine/preprocessor.gd.uid b/addons/material_maker/engine/preprocessor.gd.uid new file mode 100644 index 000000000..95073d305 --- /dev/null +++ b/addons/material_maker/engine/preprocessor.gd.uid @@ -0,0 +1 @@ +uid://b134t0wpxaydn diff --git a/addons/material_maker/engine/renderer.gd.uid b/addons/material_maker/engine/renderer.gd.uid new file mode 100644 index 000000000..93edc2e63 --- /dev/null +++ b/addons/material_maker/engine/renderer.gd.uid @@ -0,0 +1 @@ +uid://ddry0k1nd8do diff --git a/addons/material_maker/engine/shader_base.gd.uid b/addons/material_maker/engine/shader_base.gd.uid new file mode 100644 index 000000000..cde7dfbe5 --- /dev/null +++ b/addons/material_maker/engine/shader_base.gd.uid @@ -0,0 +1 @@ +uid://dfsr56njgb80c diff --git a/addons/material_maker/engine/shader_compute.gd.uid b/addons/material_maker/engine/shader_compute.gd.uid new file mode 100644 index 000000000..76e72c10d --- /dev/null +++ b/addons/material_maker/engine/shader_compute.gd.uid @@ -0,0 +1 @@ +uid://c65kfo5q2rdwr diff --git a/addons/material_maker/engine/shader_error_handler.gd.uid b/addons/material_maker/engine/shader_error_handler.gd.uid new file mode 100644 index 000000000..242e3f867 --- /dev/null +++ b/addons/material_maker/engine/shader_error_handler.gd.uid @@ -0,0 +1 @@ +uid://b7myp0lh6yww1 diff --git a/addons/material_maker/engine/shader_material.gd.uid b/addons/material_maker/engine/shader_material.gd.uid new file mode 100644 index 000000000..8a384130d --- /dev/null +++ b/addons/material_maker/engine/shader_material.gd.uid @@ -0,0 +1 @@ +uid://n5g5mo3irpyd diff --git a/addons/material_maker/engine/text_resource.gd.uid b/addons/material_maker/engine/text_resource.gd.uid new file mode 100644 index 000000000..434a913ad --- /dev/null +++ b/addons/material_maker/engine/text_resource.gd.uid @@ -0,0 +1 @@ +uid://bc3eljtuurjsd diff --git a/addons/material_maker/import_plugin/ptex_import.gd.uid b/addons/material_maker/import_plugin/ptex_import.gd.uid new file mode 100644 index 000000000..13fad061b --- /dev/null +++ b/addons/material_maker/import_plugin/ptex_import.gd.uid @@ -0,0 +1 @@ +uid://dfoqsvxnd5jlj diff --git a/addons/material_maker/import_plugin/ptex_spatial_material.gd.uid b/addons/material_maker/import_plugin/ptex_spatial_material.gd.uid new file mode 100644 index 000000000..89fc65c3e --- /dev/null +++ b/addons/material_maker/import_plugin/ptex_spatial_material.gd.uid @@ -0,0 +1 @@ +uid://llqjpkcvymjb diff --git a/addons/material_maker/import_plugin/tesselated.gdshader.uid b/addons/material_maker/import_plugin/tesselated.gdshader.uid new file mode 100644 index 000000000..db8422dcd --- /dev/null +++ b/addons/material_maker/import_plugin/tesselated.gdshader.uid @@ -0,0 +1 @@ +uid://bx6nqfeifnvui diff --git a/addons/material_maker/loaders/mesh_loader.gd.uid b/addons/material_maker/loaders/mesh_loader.gd.uid new file mode 100644 index 000000000..60fe8df22 --- /dev/null +++ b/addons/material_maker/loaders/mesh_loader.gd.uid @@ -0,0 +1 @@ +uid://cggck323lhhcq diff --git a/addons/material_maker/loaders/obj_loader.gd.uid b/addons/material_maker/loaders/obj_loader.gd.uid new file mode 100644 index 000000000..e8eb71338 --- /dev/null +++ b/addons/material_maker/loaders/obj_loader.gd.uid @@ -0,0 +1 @@ +uid://croksj2k1wnme diff --git a/addons/material_maker/map_generator/adjacency_generator.gd.uid b/addons/material_maker/map_generator/adjacency_generator.gd.uid new file mode 100644 index 000000000..f714401cd --- /dev/null +++ b/addons/material_maker/map_generator/adjacency_generator.gd.uid @@ -0,0 +1 @@ +uid://clle8b7qk1sk3 diff --git a/addons/material_maker/map_generator/bvh_generator.gd.uid b/addons/material_maker/map_generator/bvh_generator.gd.uid new file mode 100644 index 000000000..f8cd5b6f8 --- /dev/null +++ b/addons/material_maker/map_generator/bvh_generator.gd.uid @@ -0,0 +1 @@ +uid://3fvmvm7jycsm diff --git a/addons/material_maker/map_generator/curvature_generator.gd.uid b/addons/material_maker/map_generator/curvature_generator.gd.uid new file mode 100644 index 000000000..9020ba7cf --- /dev/null +++ b/addons/material_maker/map_generator/curvature_generator.gd.uid @@ -0,0 +1 @@ +uid://dbiug1wpv0dgh diff --git a/addons/material_maker/map_generator/map_generator.gd.uid b/addons/material_maker/map_generator/map_generator.gd.uid new file mode 100644 index 000000000..a5c11121d --- /dev/null +++ b/addons/material_maker/map_generator/map_generator.gd.uid @@ -0,0 +1 @@ +uid://ctxhj18ulg65h diff --git a/addons/material_maker/map_generator/mesh_rendering_pipeline.gd.uid b/addons/material_maker/map_generator/mesh_rendering_pipeline.gd.uid new file mode 100644 index 000000000..b315628d8 --- /dev/null +++ b/addons/material_maker/map_generator/mesh_rendering_pipeline.gd.uid @@ -0,0 +1 @@ +uid://beb1bylu2wsxy diff --git a/addons/material_maker/map_generator/test.gd.uid b/addons/material_maker/map_generator/test.gd.uid new file mode 100644 index 000000000..a6f99955d --- /dev/null +++ b/addons/material_maker/map_generator/test.gd.uid @@ -0,0 +1 @@ +uid://7f38moq6kxet diff --git a/addons/material_maker/nodes/preview_f.gdshader.uid b/addons/material_maker/nodes/preview_f.gdshader.uid new file mode 100644 index 000000000..66a1bcad4 --- /dev/null +++ b/addons/material_maker/nodes/preview_f.gdshader.uid @@ -0,0 +1 @@ +uid://cn112ines4kf3 diff --git a/addons/material_maker/nodes/preview_fill.gdshader.uid b/addons/material_maker/nodes/preview_fill.gdshader.uid new file mode 100644 index 000000000..00e3ceeef --- /dev/null +++ b/addons/material_maker/nodes/preview_fill.gdshader.uid @@ -0,0 +1 @@ +uid://bxl52crd0wjhp diff --git a/addons/material_maker/nodes/preview_rgb.gdshader.uid b/addons/material_maker/nodes/preview_rgb.gdshader.uid new file mode 100644 index 000000000..76aa31583 --- /dev/null +++ b/addons/material_maker/nodes/preview_rgb.gdshader.uid @@ -0,0 +1 @@ +uid://cmutyxkngwtq1 diff --git a/addons/material_maker/nodes/preview_rgba.gdshader.uid b/addons/material_maker/nodes/preview_rgba.gdshader.uid new file mode 100644 index 000000000..c443c5ec0 --- /dev/null +++ b/addons/material_maker/nodes/preview_rgba.gdshader.uid @@ -0,0 +1 @@ +uid://tdxx2dm1ngnk diff --git a/addons/material_maker/nodes/preview_sdf2d.gdshader.uid b/addons/material_maker/nodes/preview_sdf2d.gdshader.uid new file mode 100644 index 000000000..63c01af0b --- /dev/null +++ b/addons/material_maker/nodes/preview_sdf2d.gdshader.uid @@ -0,0 +1 @@ +uid://dgt8y2ugjd150 diff --git a/addons/material_maker/nodes/preview_sdf3d.gdshader.uid b/addons/material_maker/nodes/preview_sdf3d.gdshader.uid new file mode 100644 index 000000000..5342daadc --- /dev/null +++ b/addons/material_maker/nodes/preview_sdf3d.gdshader.uid @@ -0,0 +1 @@ +uid://bpopgvwqkptow diff --git a/addons/material_maker/nodes/preview_sdf3dc.gdshader.uid b/addons/material_maker/nodes/preview_sdf3dc.gdshader.uid new file mode 100644 index 000000000..97c2c8fc7 --- /dev/null +++ b/addons/material_maker/nodes/preview_sdf3dc.gdshader.uid @@ -0,0 +1 @@ +uid://4eli3bmqw43g diff --git a/addons/material_maker/nodes/preview_tex3d.gdshader.uid b/addons/material_maker/nodes/preview_tex3d.gdshader.uid new file mode 100644 index 000000000..cd3b50950 --- /dev/null +++ b/addons/material_maker/nodes/preview_tex3d.gdshader.uid @@ -0,0 +1 @@ +uid://duho1rabeopw8 diff --git a/addons/material_maker/nodes/preview_tex3d_gs.gdshader.uid b/addons/material_maker/nodes/preview_tex3d_gs.gdshader.uid new file mode 100644 index 000000000..a42da5bbf --- /dev/null +++ b/addons/material_maker/nodes/preview_tex3d_gs.gdshader.uid @@ -0,0 +1 @@ +uid://bni66l07qoeex diff --git a/addons/material_maker/nodes/preview_v4v4.gdshader.uid b/addons/material_maker/nodes/preview_v4v4.gdshader.uid new file mode 100644 index 000000000..8531e5205 --- /dev/null +++ b/addons/material_maker/nodes/preview_v4v4.gdshader.uid @@ -0,0 +1 @@ +uid://22gx842dg6xn diff --git a/addons/material_maker/parser/glsl_parser.gd.uid b/addons/material_maker/parser/glsl_parser.gd.uid new file mode 100644 index 000000000..7cffbf688 --- /dev/null +++ b/addons/material_maker/parser/glsl_parser.gd.uid @@ -0,0 +1 @@ +uid://bsuwm2f38x5p1 diff --git a/addons/material_maker/parser/glsl_parser_base.gd.uid b/addons/material_maker/parser/glsl_parser_base.gd.uid new file mode 100644 index 000000000..119aacb9f --- /dev/null +++ b/addons/material_maker/parser/glsl_parser_base.gd.uid @@ -0,0 +1 @@ +uid://p01qpfjxii7i diff --git a/addons/material_maker/parser/parser_base.gd.uid b/addons/material_maker/parser/parser_base.gd.uid new file mode 100644 index 000000000..ab69cd74d --- /dev/null +++ b/addons/material_maker/parser/parser_base.gd.uid @@ -0,0 +1 @@ +uid://ce4k132f7xm7y diff --git a/addons/material_maker/plugin.gd.uid b/addons/material_maker/plugin.gd.uid new file mode 100644 index 000000000..4c82c13db --- /dev/null +++ b/addons/material_maker/plugin.gd.uid @@ -0,0 +1 @@ +uid://bus2cmcpiui1j diff --git a/addons/material_maker/sdf_builder/base.gd.uid b/addons/material_maker/sdf_builder/base.gd.uid new file mode 100644 index 000000000..79f72a019 --- /dev/null +++ b/addons/material_maker/sdf_builder/base.gd.uid @@ -0,0 +1 @@ +uid://c86ke8ktha8s3 diff --git a/addons/material_maker/sdf_builder/sdf2d/annular.gd.uid b/addons/material_maker/sdf_builder/sdf2d/annular.gd.uid new file mode 100644 index 000000000..51c96e882 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/annular.gd.uid @@ -0,0 +1 @@ +uid://diateb2qfwgvr diff --git a/addons/material_maker/sdf_builder/sdf2d/bend.gd.uid b/addons/material_maker/sdf_builder/sdf2d/bend.gd.uid new file mode 100644 index 000000000..2cd2d6217 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/bend.gd.uid @@ -0,0 +1 @@ +uid://b4hs21jsy2ocj diff --git a/addons/material_maker/sdf_builder/sdf2d/box.gd.uid b/addons/material_maker/sdf_builder/sdf2d/box.gd.uid new file mode 100644 index 000000000..14125cbb3 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/box.gd.uid @@ -0,0 +1 @@ +uid://cwkq7r4af8q4q diff --git a/addons/material_maker/sdf_builder/sdf2d/circle.gd.uid b/addons/material_maker/sdf_builder/sdf2d/circle.gd.uid new file mode 100644 index 000000000..c438ed57e --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/circle.gd.uid @@ -0,0 +1 @@ +uid://d16yu8rdgx4hx diff --git a/addons/material_maker/sdf_builder/sdf2d/color.gd.uid b/addons/material_maker/sdf_builder/sdf2d/color.gd.uid new file mode 100644 index 000000000..3b2da9aac --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/color.gd.uid @@ -0,0 +1 @@ +uid://b2g0751mut1g1 diff --git a/addons/material_maker/sdf_builder/sdf2d/difference.gd.uid b/addons/material_maker/sdf_builder/sdf2d/difference.gd.uid new file mode 100644 index 000000000..1a3f5ae5a --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/difference.gd.uid @@ -0,0 +1 @@ +uid://b36jy51ot40e0 diff --git a/addons/material_maker/sdf_builder/sdf2d/elongate.gd.uid b/addons/material_maker/sdf_builder/sdf2d/elongate.gd.uid new file mode 100644 index 000000000..039595545 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/elongate.gd.uid @@ -0,0 +1 @@ +uid://wi4dxn6qvvfb diff --git a/addons/material_maker/sdf_builder/sdf2d/flip.gd.uid b/addons/material_maker/sdf_builder/sdf2d/flip.gd.uid new file mode 100644 index 000000000..94fe71e4b --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/flip.gd.uid @@ -0,0 +1 @@ +uid://bqpadlyg6uhxl diff --git a/addons/material_maker/sdf_builder/sdf2d/intersection.gd.uid b/addons/material_maker/sdf_builder/sdf2d/intersection.gd.uid new file mode 100644 index 000000000..70defc4df --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/intersection.gd.uid @@ -0,0 +1 @@ +uid://bca5i2n11hnnn diff --git a/addons/material_maker/sdf_builder/sdf2d/line.gd.uid b/addons/material_maker/sdf_builder/sdf2d/line.gd.uid new file mode 100644 index 000000000..96ce0c446 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/line.gd.uid @@ -0,0 +1 @@ +uid://jsl0su4hb0gj diff --git a/addons/material_maker/sdf_builder/sdf2d/mirror.gd.uid b/addons/material_maker/sdf_builder/sdf2d/mirror.gd.uid new file mode 100644 index 000000000..b6265d23b --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/mirror.gd.uid @@ -0,0 +1 @@ +uid://2yjbm55nt6rw diff --git a/addons/material_maker/sdf_builder/sdf2d/morph.gd.uid b/addons/material_maker/sdf_builder/sdf2d/morph.gd.uid new file mode 100644 index 000000000..cf77f5eae --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/morph.gd.uid @@ -0,0 +1 @@ +uid://c6xr60kqjq4r2 diff --git a/addons/material_maker/sdf_builder/sdf2d/ngon.gd.uid b/addons/material_maker/sdf_builder/sdf2d/ngon.gd.uid new file mode 100644 index 000000000..5b0297628 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/ngon.gd.uid @@ -0,0 +1 @@ +uid://babtn3710mnq1 diff --git a/addons/material_maker/sdf_builder/sdf2d/polygon.gd.uid b/addons/material_maker/sdf_builder/sdf2d/polygon.gd.uid new file mode 100644 index 000000000..5f0cfae2e --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/polygon.gd.uid @@ -0,0 +1 @@ +uid://doftuwrp1lis4 diff --git a/addons/material_maker/sdf_builder/sdf2d/round.gd.uid b/addons/material_maker/sdf_builder/sdf2d/round.gd.uid new file mode 100644 index 000000000..3851f8760 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/round.gd.uid @@ -0,0 +1 @@ +uid://2docp5a53rt5 diff --git a/addons/material_maker/sdf_builder/sdf2d/smooth_union.gd.uid b/addons/material_maker/sdf_builder/sdf2d/smooth_union.gd.uid new file mode 100644 index 000000000..357c5dc64 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/smooth_union.gd.uid @@ -0,0 +1 @@ +uid://bx7g1csxirdmh diff --git a/addons/material_maker/sdf_builder/sdf2d/stairs.gd.uid b/addons/material_maker/sdf_builder/sdf2d/stairs.gd.uid new file mode 100644 index 000000000..c6434cc39 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/stairs.gd.uid @@ -0,0 +1 @@ +uid://d1fnd8u3w6yje diff --git a/addons/material_maker/sdf_builder/sdf2d/star.gd.uid b/addons/material_maker/sdf_builder/sdf2d/star.gd.uid new file mode 100644 index 000000000..6ec91f4f0 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/star.gd.uid @@ -0,0 +1 @@ +uid://df6ecoisttqfr diff --git a/addons/material_maker/sdf_builder/sdf2d/union.gd.uid b/addons/material_maker/sdf_builder/sdf2d/union.gd.uid new file mode 100644 index 000000000..43ce07e28 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf2d/union.gd.uid @@ -0,0 +1 @@ +uid://d2xv6y2umiqhj diff --git a/addons/material_maker/sdf_builder/sdf3d/annular.gd.uid b/addons/material_maker/sdf_builder/sdf3d/annular.gd.uid new file mode 100644 index 000000000..d8f58840f --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/annular.gd.uid @@ -0,0 +1 @@ +uid://dubllsjbsgkwf diff --git a/addons/material_maker/sdf_builder/sdf3d/bend.gd.uid b/addons/material_maker/sdf_builder/sdf3d/bend.gd.uid new file mode 100644 index 000000000..57dceeee6 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/bend.gd.uid @@ -0,0 +1 @@ +uid://ohekfc64j2h8 diff --git a/addons/material_maker/sdf_builder/sdf3d/box.gd.uid b/addons/material_maker/sdf_builder/sdf3d/box.gd.uid new file mode 100644 index 000000000..bcc86147e --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/box.gd.uid @@ -0,0 +1 @@ +uid://4cyk4qqbj8gj diff --git a/addons/material_maker/sdf_builder/sdf3d/color.gd.uid b/addons/material_maker/sdf_builder/sdf3d/color.gd.uid new file mode 100644 index 000000000..2f4848971 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/color.gd.uid @@ -0,0 +1 @@ +uid://ukahbu2tg1xa diff --git a/addons/material_maker/sdf_builder/sdf3d/cylinder.gd.uid b/addons/material_maker/sdf_builder/sdf3d/cylinder.gd.uid new file mode 100644 index 000000000..5275a20a1 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/cylinder.gd.uid @@ -0,0 +1 @@ +uid://kvqpx2jj8h2l diff --git a/addons/material_maker/sdf_builder/sdf3d/difference.gd.uid b/addons/material_maker/sdf_builder/sdf3d/difference.gd.uid new file mode 100644 index 000000000..a03faf81d --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/difference.gd.uid @@ -0,0 +1 @@ +uid://bb64ub0k3fett diff --git a/addons/material_maker/sdf_builder/sdf3d/distort.gd.uid b/addons/material_maker/sdf_builder/sdf3d/distort.gd.uid new file mode 100644 index 000000000..76dd1fbb8 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/distort.gd.uid @@ -0,0 +1 @@ +uid://d32rwaxge86wf diff --git a/addons/material_maker/sdf_builder/sdf3d/elongate.gd.uid b/addons/material_maker/sdf_builder/sdf3d/elongate.gd.uid new file mode 100644 index 000000000..939401db8 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/elongate.gd.uid @@ -0,0 +1 @@ +uid://dxgkbq1scmmjr diff --git a/addons/material_maker/sdf_builder/sdf3d/extrusion.gd.uid b/addons/material_maker/sdf_builder/sdf3d/extrusion.gd.uid new file mode 100644 index 000000000..f206a7baa --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/extrusion.gd.uid @@ -0,0 +1 @@ +uid://dhodyf2uovltv diff --git a/addons/material_maker/sdf_builder/sdf3d/flip.gd.uid b/addons/material_maker/sdf_builder/sdf3d/flip.gd.uid new file mode 100644 index 000000000..d73bb9894 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/flip.gd.uid @@ -0,0 +1 @@ +uid://chk6rcpgr02p8 diff --git a/addons/material_maker/sdf_builder/sdf3d/intersection.gd.uid b/addons/material_maker/sdf_builder/sdf3d/intersection.gd.uid new file mode 100644 index 000000000..a17e35dc3 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/intersection.gd.uid @@ -0,0 +1 @@ +uid://cdbhqeta2gqu3 diff --git a/addons/material_maker/sdf_builder/sdf3d/mirror.gd.uid b/addons/material_maker/sdf_builder/sdf3d/mirror.gd.uid new file mode 100644 index 000000000..a2906c50f --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/mirror.gd.uid @@ -0,0 +1 @@ +uid://lwh4hml0cgph diff --git a/addons/material_maker/sdf_builder/sdf3d/morph.gd.uid b/addons/material_maker/sdf_builder/sdf3d/morph.gd.uid new file mode 100644 index 000000000..880cee91a --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/morph.gd.uid @@ -0,0 +1 @@ +uid://ca2gilvo4pb3e diff --git a/addons/material_maker/sdf_builder/sdf3d/revolution.gd.uid b/addons/material_maker/sdf_builder/sdf3d/revolution.gd.uid new file mode 100644 index 000000000..acc3a1b01 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/revolution.gd.uid @@ -0,0 +1 @@ +uid://v4fjkky72ftf diff --git a/addons/material_maker/sdf_builder/sdf3d/round.gd.uid b/addons/material_maker/sdf_builder/sdf3d/round.gd.uid new file mode 100644 index 000000000..512435912 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/round.gd.uid @@ -0,0 +1 @@ +uid://w6ad5lo2ndak diff --git a/addons/material_maker/sdf_builder/sdf3d/smooth_union.gd.uid b/addons/material_maker/sdf_builder/sdf3d/smooth_union.gd.uid new file mode 100644 index 000000000..f1bc42044 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/smooth_union.gd.uid @@ -0,0 +1 @@ +uid://cgxif3fvx4dgs diff --git a/addons/material_maker/sdf_builder/sdf3d/sphere.gd.uid b/addons/material_maker/sdf_builder/sdf3d/sphere.gd.uid new file mode 100644 index 000000000..cac1a116c --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/sphere.gd.uid @@ -0,0 +1 @@ +uid://bvautpidehgf3 diff --git a/addons/material_maker/sdf_builder/sdf3d/torus.gd.uid b/addons/material_maker/sdf_builder/sdf3d/torus.gd.uid new file mode 100644 index 000000000..e3b3f3fe3 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/torus.gd.uid @@ -0,0 +1 @@ +uid://f0yln58ydnpm diff --git a/addons/material_maker/sdf_builder/sdf3d/twist.gd.uid b/addons/material_maker/sdf_builder/sdf3d/twist.gd.uid new file mode 100644 index 000000000..d9e26af9c --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/twist.gd.uid @@ -0,0 +1 @@ +uid://cjnre06j82257 diff --git a/addons/material_maker/sdf_builder/sdf3d/union.gd.uid b/addons/material_maker/sdf_builder/sdf3d/union.gd.uid new file mode 100644 index 000000000..4b28cf341 --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf3d/union.gd.uid @@ -0,0 +1 @@ +uid://b4veo2qpss2xl diff --git a/addons/material_maker/sdf_builder/sdf_builder.gd.uid b/addons/material_maker/sdf_builder/sdf_builder.gd.uid new file mode 100644 index 000000000..60edb3bbf --- /dev/null +++ b/addons/material_maker/sdf_builder/sdf_builder.gd.uid @@ -0,0 +1 @@ +uid://c5mnqww2iagdf diff --git a/addons/material_maker/sdf_builder/tex/blend.gd.uid b/addons/material_maker/sdf_builder/tex/blend.gd.uid new file mode 100644 index 000000000..90a77d320 --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/blend.gd.uid @@ -0,0 +1 @@ +uid://duiy323ctcbai diff --git a/addons/material_maker/sdf_builder/tex/brightness_contrast.gd.uid b/addons/material_maker/sdf_builder/tex/brightness_contrast.gd.uid new file mode 100644 index 000000000..a2d18fa4e --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/brightness_contrast.gd.uid @@ -0,0 +1 @@ +uid://bvgayngn0h1ri diff --git a/addons/material_maker/sdf_builder/tex/deform.gd.uid b/addons/material_maker/sdf_builder/tex/deform.gd.uid new file mode 100644 index 000000000..0eeebd5fe --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/deform.gd.uid @@ -0,0 +1 @@ +uid://baudod22wcpnh diff --git a/addons/material_maker/sdf_builder/tex/fbm.gd.uid b/addons/material_maker/sdf_builder/tex/fbm.gd.uid new file mode 100644 index 000000000..4c51fd33c --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/fbm.gd.uid @@ -0,0 +1 @@ +uid://b1eya3x8i88a8 diff --git a/addons/material_maker/sdf_builder/tex/pattern.gd.uid b/addons/material_maker/sdf_builder/tex/pattern.gd.uid new file mode 100644 index 000000000..ff1a83a65 --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/pattern.gd.uid @@ -0,0 +1 @@ +uid://txiv75ou444k diff --git a/addons/material_maker/sdf_builder/tex/simple_gradient.gd.uid b/addons/material_maker/sdf_builder/tex/simple_gradient.gd.uid new file mode 100644 index 000000000..0499e3f63 --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/simple_gradient.gd.uid @@ -0,0 +1 @@ +uid://d4brsdtpftone diff --git a/addons/material_maker/sdf_builder/tex/step.gd.uid b/addons/material_maker/sdf_builder/tex/step.gd.uid new file mode 100644 index 000000000..112516b78 --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/step.gd.uid @@ -0,0 +1 @@ +uid://cgxyf3vctoab2 diff --git a/addons/material_maker/sdf_builder/tex/uniform.gd.uid b/addons/material_maker/sdf_builder/tex/uniform.gd.uid new file mode 100644 index 000000000..67bb54606 --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/uniform.gd.uid @@ -0,0 +1 @@ +uid://13ikfvedvqbf diff --git a/addons/material_maker/sdf_builder/tex/uniform_gs.gd.uid b/addons/material_maker/sdf_builder/tex/uniform_gs.gd.uid new file mode 100644 index 000000000..2830912ca --- /dev/null +++ b/addons/material_maker/sdf_builder/tex/uniform_gs.gd.uid @@ -0,0 +1 @@ +uid://raosrh61drdp diff --git a/addons/material_maker/types/curve.gd.uid b/addons/material_maker/types/curve.gd.uid new file mode 100644 index 000000000..02f87c3e8 --- /dev/null +++ b/addons/material_maker/types/curve.gd.uid @@ -0,0 +1 @@ +uid://b7y4i7ctrxekt diff --git a/addons/material_maker/types/gradient.gd.uid b/addons/material_maker/types/gradient.gd.uid new file mode 100644 index 000000000..d376dae73 --- /dev/null +++ b/addons/material_maker/types/gradient.gd.uid @@ -0,0 +1 @@ +uid://bcbmgd20i1lq6 diff --git a/addons/material_maker/types/lattice.gd.uid b/addons/material_maker/types/lattice.gd.uid new file mode 100644 index 000000000..0e0f57be3 --- /dev/null +++ b/addons/material_maker/types/lattice.gd.uid @@ -0,0 +1 @@ +uid://jk7dh0mdccby diff --git a/addons/material_maker/types/pixels.gd.uid b/addons/material_maker/types/pixels.gd.uid new file mode 100644 index 000000000..0567a82d9 --- /dev/null +++ b/addons/material_maker/types/pixels.gd.uid @@ -0,0 +1 @@ +uid://20spvvacdohy diff --git a/addons/material_maker/types/polygon.gd.uid b/addons/material_maker/types/polygon.gd.uid new file mode 100644 index 000000000..bc8c86714 --- /dev/null +++ b/addons/material_maker/types/polygon.gd.uid @@ -0,0 +1 @@ +uid://buwsowbmy30cj diff --git a/addons/material_maker/types/splines.gd.uid b/addons/material_maker/types/splines.gd.uid new file mode 100644 index 000000000..98b003fa9 --- /dev/null +++ b/addons/material_maker/types/splines.gd.uid @@ -0,0 +1 @@ +uid://dj5rd7rkjgrmt diff --git a/addons/material_maker/types/types.gd.uid b/addons/material_maker/types/types.gd.uid new file mode 100644 index 000000000..abea578ac --- /dev/null +++ b/addons/material_maker/types/types.gd.uid @@ -0,0 +1 @@ +uid://odw7yg12rm63 diff --git a/material_maker/console.gd.uid b/material_maker/console.gd.uid new file mode 100644 index 000000000..9a6dff8a0 --- /dev/null +++ b/material_maker/console.gd.uid @@ -0,0 +1 @@ +uid://bqwu78me3ek4o diff --git a/material_maker/darken.gd.uid b/material_maker/darken.gd.uid new file mode 100644 index 000000000..deb559d6f --- /dev/null +++ b/material_maker/darken.gd.uid @@ -0,0 +1 @@ +uid://du7vv67kc65qb diff --git a/material_maker/environments/environments.json.uid b/material_maker/environments/environments.json.uid new file mode 100644 index 000000000..3a09672e3 --- /dev/null +++ b/material_maker/environments/environments.json.uid @@ -0,0 +1 @@ +uid://ns2qs52rwh5n diff --git a/material_maker/globals.gd.uid b/material_maker/globals.gd.uid new file mode 100644 index 000000000..3840ae4e9 --- /dev/null +++ b/material_maker/globals.gd.uid @@ -0,0 +1 @@ +uid://cllqlhj3x3jj7 diff --git a/material_maker/globals_menu_manager.gd.uid b/material_maker/globals_menu_manager.gd.uid new file mode 100644 index 000000000..25bb376e3 --- /dev/null +++ b/material_maker/globals_menu_manager.gd.uid @@ -0,0 +1 @@ +uid://c8lpv0jfyajsp diff --git a/material_maker/html5.gd.uid b/material_maker/html5.gd.uid new file mode 100644 index 000000000..571371f3d --- /dev/null +++ b/material_maker/html5.gd.uid @@ -0,0 +1 @@ +uid://bbbixn5aj6paq diff --git a/material_maker/icons/icons.gd.uid b/material_maker/icons/icons.gd.uid new file mode 100644 index 000000000..4adacf4ad --- /dev/null +++ b/material_maker/icons/icons.gd.uid @@ -0,0 +1 @@ +uid://cp2p2ayhrvewg diff --git a/material_maker/library/aliases.json.uid b/material_maker/library/aliases.json.uid new file mode 100644 index 000000000..33d10167c --- /dev/null +++ b/material_maker/library/aliases.json.uid @@ -0,0 +1 @@ +uid://v0oucjupqsu2 diff --git a/material_maker/library/base.json.uid b/material_maker/library/base.json.uid new file mode 100644 index 000000000..001d58104 --- /dev/null +++ b/material_maker/library/base.json.uid @@ -0,0 +1 @@ +uid://d0t7oqh1ouq1p diff --git a/material_maker/library/base_brushes.json.uid b/material_maker/library/base_brushes.json.uid new file mode 100644 index 000000000..a80a592b5 --- /dev/null +++ b/material_maker/library/base_brushes.json.uid @@ -0,0 +1 @@ +uid://yudy4a52uuap diff --git a/material_maker/locale/generate_po_template.gd.uid b/material_maker/locale/generate_po_template.gd.uid new file mode 100644 index 000000000..8557e0e30 --- /dev/null +++ b/material_maker/locale/generate_po_template.gd.uid @@ -0,0 +1 @@ +uid://dgugqtr5t5xj4 diff --git a/material_maker/locale/locale.gd.uid b/material_maker/locale/locale.gd.uid new file mode 100644 index 000000000..69e45995a --- /dev/null +++ b/material_maker/locale/locale.gd.uid @@ -0,0 +1 @@ +uid://cdxwoxffq6qer diff --git a/material_maker/main_window.gd.uid b/material_maker/main_window.gd.uid new file mode 100644 index 000000000..40144b006 --- /dev/null +++ b/material_maker/main_window.gd.uid @@ -0,0 +1 @@ +uid://cbfcjtm6e4t8h diff --git a/material_maker/main_window.tscn b/material_maker/main_window.tscn index a94ebf77b..bed62ffff 100644 --- a/material_maker/main_window.tscn +++ b/material_maker/main_window.tscn @@ -1,18 +1,18 @@ [gd_scene load_steps=20 format=3 uid="uid://cgfeik04a5qqs"] -[ext_resource type="Script" path="res://material_maker/main_window.gd" id="1"] +[ext_resource type="Script" uid="uid://cbfcjtm6e4t8h" path="res://material_maker/main_window.gd" id="1"] [ext_resource type="Theme" uid="uid://b628lwfk6ig2c" path="res://material_maker/theme/default dark.tres" id="1_2qcba"] -[ext_resource type="Script" path="res://material_maker/main_window_layout.gd" id="2"] +[ext_resource type="Script" uid="uid://csdtiyrrw4pxg" path="res://material_maker/main_window_layout.gd" id="2"] [ext_resource type="PackedScene" uid="uid://eiq3i53x72m2" path="res://addons/flexible_layout/flexible_layout.tscn" id="6_ygla4"] [ext_resource type="PackedScene" uid="uid://clw8sb0p8webl" path="res://material_maker/windows/add_node_popup/add_node_popup.tscn" id="7"] [ext_resource type="PackedScene" uid="uid://bnqq3vhwmudkw" path="res://material_maker/projects_panel.tscn" id="7_ih0ps"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="8"] -[ext_resource type="Script" path="res://material_maker/console.gd" id="8_1tb00"] -[ext_resource type="Script" path="res://material_maker/node_factory.gd" id="9"] +[ext_resource type="Script" uid="uid://bqwu78me3ek4o" path="res://material_maker/console.gd" id="8_1tb00"] +[ext_resource type="Script" uid="uid://dhl8skl6fiyrn" path="res://material_maker/node_factory.gd" id="9"] [ext_resource type="PackedScene" uid="uid://cp2mbbfmrv6sf" path="res://material_maker/widgets/render_counter/render_counter.tscn" id="11"] [ext_resource type="PackedScene" uid="uid://dnttargjmhjh8" path="res://material_maker/tools/share/share_button.tscn" id="12"] [ext_resource type="PackedScene" uid="uid://dmyq6xxfx88m0" path="res://material_maker/tools/environment_manager/environment_manager.tscn" id="13"] -[ext_resource type="Script" path="res://material_maker/tools/library_manager/library_manager.gd" id="14"] +[ext_resource type="Script" uid="uid://ds4jcblbferbu" path="res://material_maker/tools/library_manager/library_manager.gd" id="14"] [ext_resource type="Texture2D" path="res://material_maker/icons/paste_none.tres" id="15"] [sub_resource type="GDScript" id="6"] @@ -56,7 +56,7 @@ tracks/1/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_kxf7t"] _data = { -"show": SubResource("7") +&"show": SubResource("7") } [sub_resource type="AtlasTexture" id="8"] @@ -202,7 +202,7 @@ script = SubResource("6") [node name="AnimationPlayer" type="AnimationPlayer" parent="VBoxContainer/StatusBar/HBox/UndoRedoLabel"] libraries = { -"": SubResource("AnimationLibrary_kxf7t") +&"": SubResource("AnimationLibrary_kxf7t") } [node name="ConsoleButton" type="TextureButton" parent="VBoxContainer/StatusBar/HBox"] diff --git a/material_maker/main_window_layout.gd.uid b/material_maker/main_window_layout.gd.uid new file mode 100644 index 000000000..f4e6f35c3 --- /dev/null +++ b/material_maker/main_window_layout.gd.uid @@ -0,0 +1 @@ +uid://csdtiyrrw4pxg diff --git a/material_maker/main_window_projects_panel.gd.uid b/material_maker/main_window_projects_panel.gd.uid new file mode 100644 index 000000000..5e2c623ad --- /dev/null +++ b/material_maker/main_window_projects_panel.gd.uid @@ -0,0 +1 @@ +uid://cryayuomvuwbo diff --git a/material_maker/node_factory.gd.uid b/material_maker/node_factory.gd.uid new file mode 100644 index 000000000..8ed66e290 --- /dev/null +++ b/material_maker/node_factory.gd.uid @@ -0,0 +1 @@ +uid://dhl8skl6fiyrn diff --git a/material_maker/nodes/base.gd.uid b/material_maker/nodes/base.gd.uid new file mode 100644 index 000000000..eafa30e93 --- /dev/null +++ b/material_maker/nodes/base.gd.uid @@ -0,0 +1 @@ +uid://co478ctbjijgk diff --git a/material_maker/nodes/comment/comment.gd.uid b/material_maker/nodes/comment/comment.gd.uid new file mode 100644 index 000000000..d038071d4 --- /dev/null +++ b/material_maker/nodes/comment/comment.gd.uid @@ -0,0 +1 @@ +uid://6w4xc06fs82p diff --git a/material_maker/nodes/comment/palette_button.gd.uid b/material_maker/nodes/comment/palette_button.gd.uid new file mode 100644 index 000000000..28ba06b60 --- /dev/null +++ b/material_maker/nodes/comment/palette_button.gd.uid @@ -0,0 +1 @@ +uid://s0k653ve15pr diff --git a/material_maker/nodes/debug/debug.gd.uid b/material_maker/nodes/debug/debug.gd.uid new file mode 100644 index 000000000..091ba0645 --- /dev/null +++ b/material_maker/nodes/debug/debug.gd.uid @@ -0,0 +1 @@ +uid://deawkv0bcevbw diff --git a/material_maker/nodes/debug/debug_popup.gd.uid b/material_maker/nodes/debug/debug_popup.gd.uid new file mode 100644 index 000000000..7d9290132 --- /dev/null +++ b/material_maker/nodes/debug/debug_popup.gd.uid @@ -0,0 +1 @@ +uid://knk1qxod1t7o diff --git a/material_maker/nodes/edit_buttons.gd.uid b/material_maker/nodes/edit_buttons.gd.uid new file mode 100644 index 000000000..3724719ad --- /dev/null +++ b/material_maker/nodes/edit_buttons.gd.uid @@ -0,0 +1 @@ +uid://ruo1gfek58tl diff --git a/material_maker/nodes/generic/generic.gd.uid b/material_maker/nodes/generic/generic.gd.uid new file mode 100644 index 000000000..34429f522 --- /dev/null +++ b/material_maker/nodes/generic/generic.gd.uid @@ -0,0 +1 @@ +uid://b4jcud3prd0ol diff --git a/material_maker/nodes/ios/ios.gd.uid b/material_maker/nodes/ios/ios.gd.uid new file mode 100644 index 000000000..e0cf24cc9 --- /dev/null +++ b/material_maker/nodes/ios/ios.gd.uid @@ -0,0 +1 @@ +uid://da5v0wx0fxv65 diff --git a/material_maker/nodes/ios/port.gd.uid b/material_maker/nodes/ios/port.gd.uid new file mode 100644 index 000000000..b522a0d4f --- /dev/null +++ b/material_maker/nodes/ios/port.gd.uid @@ -0,0 +1 @@ +uid://74k1155djatm diff --git a/material_maker/nodes/material_export/material_export.gd.uid b/material_maker/nodes/material_export/material_export.gd.uid new file mode 100644 index 000000000..bf32203fd --- /dev/null +++ b/material_maker/nodes/material_export/material_export.gd.uid @@ -0,0 +1 @@ +uid://b7rsuvj3oppcd diff --git a/material_maker/nodes/material_export/material_export.tscn b/material_maker/nodes/material_export/material_export.tscn index 76437e5bf..eadce5662 100644 --- a/material_maker/nodes/material_export/material_export.tscn +++ b/material_maker/nodes/material_export/material_export.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://w3hn6xt204hc"] [ext_resource type="PackedScene" uid="uid://o548y7t5j5ii" path="res://material_maker/nodes/generic/generic.tscn" id="1"] -[ext_resource type="Script" path="res://material_maker/nodes/material_export/material_export.gd" id="2"] +[ext_resource type="Script" uid="uid://b7rsuvj3oppcd" path="res://material_maker/nodes/material_export/material_export.gd" id="2"] [node name="MaterialExport" instance=ExtResource("1")] script = ExtResource("2") diff --git a/material_maker/nodes/minimal.gd.uid b/material_maker/nodes/minimal.gd.uid new file mode 100644 index 000000000..2724ad60f --- /dev/null +++ b/material_maker/nodes/minimal.gd.uid @@ -0,0 +1 @@ +uid://8jhce7rughof diff --git a/material_maker/nodes/node_button.gd.uid b/material_maker/nodes/node_button.gd.uid new file mode 100644 index 000000000..8e08d3209 --- /dev/null +++ b/material_maker/nodes/node_button.gd.uid @@ -0,0 +1 @@ +uid://dgy0cxsasek5u diff --git a/material_maker/nodes/remote/named_parameter_dialog.gd.uid b/material_maker/nodes/remote/named_parameter_dialog.gd.uid new file mode 100644 index 000000000..1363b9ba8 --- /dev/null +++ b/material_maker/nodes/remote/named_parameter_dialog.gd.uid @@ -0,0 +1 @@ +uid://cs45qo32ilkg5 diff --git a/material_maker/nodes/remote/remote.gd.uid b/material_maker/nodes/remote/remote.gd.uid new file mode 100644 index 000000000..d36153d29 --- /dev/null +++ b/material_maker/nodes/remote/remote.gd.uid @@ -0,0 +1 @@ +uid://b2ail0itjyaba diff --git a/material_maker/nodes/reroute/reroute.gd.uid b/material_maker/nodes/reroute/reroute.gd.uid new file mode 100644 index 000000000..35ee5b154 --- /dev/null +++ b/material_maker/nodes/reroute/reroute.gd.uid @@ -0,0 +1 @@ +uid://bfkmqgx6bd2i4 diff --git a/material_maker/nodes/switch/switch.gd.uid b/material_maker/nodes/switch/switch.gd.uid new file mode 100644 index 000000000..5eae170bb --- /dev/null +++ b/material_maker/nodes/switch/switch.gd.uid @@ -0,0 +1 @@ +uid://c03aqdn3eiwng diff --git a/material_maker/nodes/tones/tones.gd.uid b/material_maker/nodes/tones/tones.gd.uid new file mode 100644 index 000000000..9d992a484 --- /dev/null +++ b/material_maker/nodes/tones/tones.gd.uid @@ -0,0 +1 @@ +uid://nbk6k40bfmwi diff --git a/material_maker/panel_container.gd.uid b/material_maker/panel_container.gd.uid new file mode 100644 index 000000000..e7a2926a2 --- /dev/null +++ b/material_maker/panel_container.gd.uid @@ -0,0 +1 @@ +uid://bafv3cetfnqip diff --git a/material_maker/panels/brushes/brushes.gd.uid b/material_maker/panels/brushes/brushes.gd.uid new file mode 100644 index 000000000..85f658111 --- /dev/null +++ b/material_maker/panels/brushes/brushes.gd.uid @@ -0,0 +1 @@ +uid://kp6g6t1vlrpx diff --git a/material_maker/panels/graph_edit/graph_edit.gd.uid b/material_maker/panels/graph_edit/graph_edit.gd.uid new file mode 100644 index 000000000..877314e3a --- /dev/null +++ b/material_maker/panels/graph_edit/graph_edit.gd.uid @@ -0,0 +1 @@ +uid://dkp4w3at1o6cm diff --git a/material_maker/panels/hierarchy/hierarchy_panel.gd.uid b/material_maker/panels/hierarchy/hierarchy_panel.gd.uid new file mode 100644 index 000000000..4d0b66e57 --- /dev/null +++ b/material_maker/panels/hierarchy/hierarchy_panel.gd.uid @@ -0,0 +1 @@ +uid://bcbm206jungcq diff --git a/material_maker/panels/layers/layer_config_popup.gd.uid b/material_maker/panels/layers/layer_config_popup.gd.uid new file mode 100644 index 000000000..85fb3e75c --- /dev/null +++ b/material_maker/panels/layers/layer_config_popup.gd.uid @@ -0,0 +1 @@ +uid://4u5olrfrm20r diff --git a/material_maker/panels/layers/layer_tooltip.gd.uid b/material_maker/panels/layers/layer_tooltip.gd.uid new file mode 100644 index 000000000..0ce62fd46 --- /dev/null +++ b/material_maker/panels/layers/layer_tooltip.gd.uid @@ -0,0 +1 @@ +uid://bktl6mr8uxdxd diff --git a/material_maker/panels/layers/layer_tooltip_thumbnail.gd.uid b/material_maker/panels/layers/layer_tooltip_thumbnail.gd.uid new file mode 100644 index 000000000..e51539e68 --- /dev/null +++ b/material_maker/panels/layers/layer_tooltip_thumbnail.gd.uid @@ -0,0 +1 @@ +uid://clj6ws3o8neh8 diff --git a/material_maker/panels/layers/layer_tooltip_thumbnail.gdshader.uid b/material_maker/panels/layers/layer_tooltip_thumbnail.gdshader.uid new file mode 100644 index 000000000..ee361c44e --- /dev/null +++ b/material_maker/panels/layers/layer_tooltip_thumbnail.gdshader.uid @@ -0,0 +1 @@ +uid://81re5q5br3ef diff --git a/material_maker/panels/layers/layer_tooltip_thumbnail_m.gdshader.uid b/material_maker/panels/layers/layer_tooltip_thumbnail_m.gdshader.uid new file mode 100644 index 000000000..f843bdfb0 --- /dev/null +++ b/material_maker/panels/layers/layer_tooltip_thumbnail_m.gdshader.uid @@ -0,0 +1 @@ +uid://8bdofvv5i62j diff --git a/material_maker/panels/layers/layer_tooltip_thumbnail_r.gdshader.uid b/material_maker/panels/layers/layer_tooltip_thumbnail_r.gdshader.uid new file mode 100644 index 000000000..acc41f7a4 --- /dev/null +++ b/material_maker/panels/layers/layer_tooltip_thumbnail_r.gdshader.uid @@ -0,0 +1 @@ +uid://b8vl0j3j6k7il diff --git a/material_maker/panels/layers/layers.gd.uid b/material_maker/panels/layers/layers.gd.uid new file mode 100644 index 000000000..05b7f4883 --- /dev/null +++ b/material_maker/panels/layers/layers.gd.uid @@ -0,0 +1 @@ +uid://djq2pdmkcmyal diff --git a/material_maker/panels/layers/layers.tscn b/material_maker/panels/layers/layers.tscn index 3a31fc005..cf972b32e 100644 --- a/material_maker/panels/layers/layers.tscn +++ b/material_maker/panels/layers/layers.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=10 format=3 uid="uid://bavx4h3o65uam"] -[ext_resource type="Script" path="res://material_maker/panels/layers/layers_tree.gd" id="1"] -[ext_resource type="Script" path="res://material_maker/panels/layers/layers.gd" id="2"] +[ext_resource type="Script" uid="uid://cp4vtravrn71b" path="res://material_maker/panels/layers/layers_tree.gd" id="1"] +[ext_resource type="Script" uid="uid://djq2pdmkcmyal" path="res://material_maker/panels/layers/layers.gd" id="2"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="3"] [sub_resource type="AtlasTexture" id="1"] diff --git a/material_maker/panels/layers/layers_tree.gd.uid b/material_maker/panels/layers/layers_tree.gd.uid new file mode 100644 index 000000000..5f39afa56 --- /dev/null +++ b/material_maker/panels/layers/layers_tree.gd.uid @@ -0,0 +1 @@ +uid://cp4vtravrn71b diff --git a/material_maker/panels/library/create_lib_dialog.gd.uid b/material_maker/panels/library/create_lib_dialog.gd.uid new file mode 100644 index 000000000..91d130fbb --- /dev/null +++ b/material_maker/panels/library/create_lib_dialog.gd.uid @@ -0,0 +1 @@ +uid://4b20sg0x1nvu diff --git a/material_maker/panels/library/library.gd.uid b/material_maker/panels/library/library.gd.uid new file mode 100644 index 000000000..b26570bda --- /dev/null +++ b/material_maker/panels/library/library.gd.uid @@ -0,0 +1 @@ +uid://cg0s65b0doku6 diff --git a/material_maker/panels/library/library_tree.gd.uid b/material_maker/panels/library/library_tree.gd.uid new file mode 100644 index 000000000..705d25394 --- /dev/null +++ b/material_maker/panels/library/library_tree.gd.uid @@ -0,0 +1 @@ +uid://byotadn432paf diff --git a/material_maker/panels/paint/collapse_button.gd.uid b/material_maker/panels/paint/collapse_button.gd.uid new file mode 100644 index 000000000..2af5a79aa --- /dev/null +++ b/material_maker/panels/paint/collapse_button.gd.uid @@ -0,0 +1 @@ +uid://dpaqkjrwm8mna diff --git a/material_maker/panels/paint/export.gd.uid b/material_maker/panels/paint/export.gd.uid new file mode 100644 index 000000000..e9ee999de --- /dev/null +++ b/material_maker/panels/paint/export.gd.uid @@ -0,0 +1 @@ +uid://bmlkuemodhgd3 diff --git a/material_maker/panels/paint/layer_types/layer.gd.uid b/material_maker/panels/paint/layer_types/layer.gd.uid new file mode 100644 index 000000000..13f3a74ae --- /dev/null +++ b/material_maker/panels/paint/layer_types/layer.gd.uid @@ -0,0 +1 @@ +uid://cf6un6v4cuype diff --git a/material_maker/panels/paint/layer_types/layer_mask.gd.uid b/material_maker/panels/paint/layer_types/layer_mask.gd.uid new file mode 100644 index 000000000..be109603b --- /dev/null +++ b/material_maker/panels/paint/layer_types/layer_mask.gd.uid @@ -0,0 +1 @@ +uid://bomut3q818bu4 diff --git a/material_maker/panels/paint/layer_types/layer_paint.gd.uid b/material_maker/panels/paint/layer_types/layer_paint.gd.uid new file mode 100644 index 000000000..75b9704e5 --- /dev/null +++ b/material_maker/panels/paint/layer_types/layer_paint.gd.uid @@ -0,0 +1 @@ +uid://dj8557ka24qqq diff --git a/material_maker/panels/paint/layer_types/layer_procedural.gd.uid b/material_maker/panels/paint/layer_types/layer_procedural.gd.uid new file mode 100644 index 000000000..2ca6f3fac --- /dev/null +++ b/material_maker/panels/paint/layer_types/layer_procedural.gd.uid @@ -0,0 +1 @@ +uid://chxwbuppalaif diff --git a/material_maker/panels/paint/paint.gd.uid b/material_maker/panels/paint/paint.gd.uid new file mode 100644 index 000000000..152e4ec50 --- /dev/null +++ b/material_maker/panels/paint/paint.gd.uid @@ -0,0 +1 @@ +uid://dcabyce4hnfr7 diff --git a/material_maker/panels/paint/paint.tscn b/material_maker/panels/paint/paint.tscn index 748b52b5c..e2a68b42b 100644 --- a/material_maker/panels/paint/paint.tscn +++ b/material_maker/panels/paint/paint.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=45 format=3 uid="uid://qx02gvymgb5o"] -[ext_resource type="Script" path="res://material_maker/tools/undo_redo/undo_redo.gd" id="1"] +[ext_resource type="Script" uid="uid://bne3k0g56crmy" path="res://material_maker/tools/undo_redo/undo_redo.gd" id="1"] [ext_resource type="PackedScene" uid="uid://ftx52hy53io2" path="res://material_maker/panels/paint/export.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://rflulhsuy3ax" path="res://material_maker/widgets/float_edit/float_edit.tscn" id="4"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="5"] @@ -8,7 +8,7 @@ [ext_resource type="Texture2D" uid="uid://cvorvnes6fiq7" path="res://material_maker/icons/icons.svg" id="7_xm5h4"] [ext_resource type="PackedScene" uid="uid://d12t30rjvol15" path="res://material_maker/tools/painter/painter.tscn" id="12"] [ext_resource type="PackedScene" uid="uid://drudtoqh4ks4n" path="res://material_maker/panels/paint/paint_layers.tscn" id="13"] -[ext_resource type="Script" path="res://material_maker/panels/paint/paint.gd" id="16"] +[ext_resource type="Script" uid="uid://dcabyce4hnfr7" path="res://material_maker/panels/paint/paint.gd" id="16"] [ext_resource type="PackedScene" uid="uid://dy1u50we7gtru" path="res://material_maker/panels/graph_edit/graph_edit.tscn" id="17"] [sub_resource type="Shader" id="Shader_dye6v"] @@ -228,7 +228,7 @@ stretch = true [node name="MainView" type="SubViewport" parent="VSplitContainer/HSplitContainer/Painter/View"] own_world_3d = true handle_input_locally = false -size = Vector2i(800, 480) +size = Vector2i(10, 10) render_target_update_mode = 4 [node name="CameraPosition" type="Node3D" parent="VSplitContainer/HSplitContainer/Painter/View/MainView"] @@ -643,7 +643,6 @@ mouse_filter = 2 layout_mode = 2 size_flags_vertical = 3 focus_mode = 1 -scroll_offset = Vector2(0, -308) shader_context_defs = "uniform sampler2D mesh_normal_tex; " diff --git a/material_maker/panels/paint/paint_layers.gd.uid b/material_maker/panels/paint/paint_layers.gd.uid new file mode 100644 index 000000000..0e7ef6df9 --- /dev/null +++ b/material_maker/panels/paint/paint_layers.gd.uid @@ -0,0 +1 @@ +uid://rtkjvv8ld24b diff --git a/material_maker/panels/paint/paint_project_settings.gd.uid b/material_maker/panels/paint/paint_project_settings.gd.uid new file mode 100644 index 000000000..7e3e7a47c --- /dev/null +++ b/material_maker/panels/paint/paint_project_settings.gd.uid @@ -0,0 +1 @@ +uid://b2g2fbmwg0y3u diff --git a/material_maker/panels/paint/select_mask_dialog.gd.uid b/material_maker/panels/paint/select_mask_dialog.gd.uid new file mode 100644 index 000000000..786b23e28 --- /dev/null +++ b/material_maker/panels/paint/select_mask_dialog.gd.uid @@ -0,0 +1 @@ +uid://dnwis2bijm2ix diff --git a/material_maker/panels/paint/select_mask_dialog.gdshader.uid b/material_maker/panels/paint/select_mask_dialog.gdshader.uid new file mode 100644 index 000000000..1d42535cf --- /dev/null +++ b/material_maker/panels/paint/select_mask_dialog.gdshader.uid @@ -0,0 +1 @@ +uid://bjvcv116f78rq diff --git a/material_maker/panels/parameters/parameters.gd.uid b/material_maker/panels/parameters/parameters.gd.uid new file mode 100644 index 000000000..7b4381a8b --- /dev/null +++ b/material_maker/panels/parameters/parameters.gd.uid @@ -0,0 +1 @@ +uid://chqn6bm8u2bjm diff --git a/material_maker/panels/preview_2d/control_point.gd.uid b/material_maker/panels/preview_2d/control_point.gd.uid new file mode 100644 index 000000000..351042d6f --- /dev/null +++ b/material_maker/panels/preview_2d/control_point.gd.uid @@ -0,0 +1 @@ +uid://d5fr47ktyhi diff --git a/material_maker/panels/preview_2d/custom_size_dialog.gd.uid b/material_maker/panels/preview_2d/custom_size_dialog.gd.uid new file mode 100644 index 000000000..241b0bf6d --- /dev/null +++ b/material_maker/panels/preview_2d/custom_size_dialog.gd.uid @@ -0,0 +1 @@ +uid://2wkaep7ikn8t diff --git a/material_maker/panels/preview_2d/lines.gd.uid b/material_maker/panels/preview_2d/lines.gd.uid new file mode 100644 index 000000000..54777f1f2 --- /dev/null +++ b/material_maker/panels/preview_2d/lines.gd.uid @@ -0,0 +1 @@ +uid://p2topj3y4p63 diff --git a/material_maker/panels/preview_2d/preview_2d.gd.uid b/material_maker/panels/preview_2d/preview_2d.gd.uid new file mode 100644 index 000000000..d8e0e10e8 --- /dev/null +++ b/material_maker/panels/preview_2d/preview_2d.gd.uid @@ -0,0 +1 @@ +uid://b74wyskjqeq6e diff --git a/material_maker/panels/preview_2d/preview_2d_node.gd.uid b/material_maker/panels/preview_2d/preview_2d_node.gd.uid new file mode 100644 index 000000000..4b2e9ce6f --- /dev/null +++ b/material_maker/panels/preview_2d/preview_2d_node.gd.uid @@ -0,0 +1 @@ +uid://iq8300wfef4c diff --git a/material_maker/panels/preview_2d/preview_2d_panel.gd.uid b/material_maker/panels/preview_2d/preview_2d_panel.gd.uid new file mode 100644 index 000000000..a516a77a0 --- /dev/null +++ b/material_maker/panels/preview_2d/preview_2d_panel.gd.uid @@ -0,0 +1 @@ +uid://cj476fi1ociuw diff --git a/material_maker/panels/preview_3d/mesh_config_popup.gd.uid b/material_maker/panels/preview_3d/mesh_config_popup.gd.uid new file mode 100644 index 000000000..7c51735ae --- /dev/null +++ b/material_maker/panels/preview_3d/mesh_config_popup.gd.uid @@ -0,0 +1 @@ +uid://blmq2gm7dwr3k diff --git a/material_maker/panels/preview_3d/meshes/mesh_generator.gd.uid b/material_maker/panels/preview_3d/meshes/mesh_generator.gd.uid new file mode 100644 index 000000000..010360f7f --- /dev/null +++ b/material_maker/panels/preview_3d/meshes/mesh_generator.gd.uid @@ -0,0 +1 @@ +uid://caeqkfckha5pa diff --git a/material_maker/panels/preview_3d/preview_3d.gd.uid b/material_maker/panels/preview_3d/preview_3d.gd.uid new file mode 100644 index 000000000..bb0c1959b --- /dev/null +++ b/material_maker/panels/preview_3d/preview_3d.gd.uid @@ -0,0 +1 @@ +uid://ciayi8gvd2e1b diff --git a/material_maker/panels/preview_3d/preview_3d_panel.gd.uid b/material_maker/panels/preview_3d/preview_3d_panel.gd.uid new file mode 100644 index 000000000..7c2db482d --- /dev/null +++ b/material_maker/panels/preview_3d/preview_3d_panel.gd.uid @@ -0,0 +1 @@ +uid://f81isnxjqrub diff --git a/material_maker/panels/preview_3d/preview_3d_ui.gd.uid b/material_maker/panels/preview_3d/preview_3d_ui.gd.uid new file mode 100644 index 000000000..e0d133c2a --- /dev/null +++ b/material_maker/panels/preview_3d/preview_3d_ui.gd.uid @@ -0,0 +1 @@ +uid://ppye40lu3qqm diff --git a/material_maker/panels/preview_3d/preview_light.gd.uid b/material_maker/panels/preview_3d/preview_light.gd.uid new file mode 100644 index 000000000..0019f48cb --- /dev/null +++ b/material_maker/panels/preview_3d/preview_light.gd.uid @@ -0,0 +1 @@ +uid://cmi0j6b74ywb3 diff --git a/material_maker/panels/preview_3d/preview_mesh.gd.uid b/material_maker/panels/preview_3d/preview_mesh.gd.uid new file mode 100644 index 000000000..f5b3b930f --- /dev/null +++ b/material_maker/panels/preview_3d/preview_mesh.gd.uid @@ -0,0 +1 @@ +uid://m5lpqku28wub diff --git a/material_maker/panels/preview_3d/preview_mesh_generated.gd.uid b/material_maker/panels/preview_3d/preview_mesh_generated.gd.uid new file mode 100644 index 000000000..3fce459e7 --- /dev/null +++ b/material_maker/panels/preview_3d/preview_mesh_generated.gd.uid @@ -0,0 +1 @@ +uid://dumc33fnias7j diff --git a/material_maker/panels/preview_3d/thumbnails/generation/gen_thumbs_meshes.gd.uid b/material_maker/panels/preview_3d/thumbnails/generation/gen_thumbs_meshes.gd.uid new file mode 100644 index 000000000..d0124f768 --- /dev/null +++ b/material_maker/panels/preview_3d/thumbnails/generation/gen_thumbs_meshes.gd.uid @@ -0,0 +1 @@ +uid://d1txuj768qcsn diff --git a/material_maker/panels/reference/color_slot.gd.uid b/material_maker/panels/reference/color_slot.gd.uid new file mode 100644 index 000000000..0242e7ae5 --- /dev/null +++ b/material_maker/panels/reference/color_slot.gd.uid @@ -0,0 +1 @@ +uid://ctlul33mwpeby diff --git a/material_maker/panels/reference/gradient_slot.gd.uid b/material_maker/panels/reference/gradient_slot.gd.uid new file mode 100644 index 000000000..e38a6ba04 --- /dev/null +++ b/material_maker/panels/reference/gradient_slot.gd.uid @@ -0,0 +1 @@ +uid://dhn8uwj5mh2cq diff --git a/material_maker/panels/reference/reference_panel.gd.uid b/material_maker/panels/reference/reference_panel.gd.uid new file mode 100644 index 000000000..e3b83d636 --- /dev/null +++ b/material_maker/panels/reference/reference_panel.gd.uid @@ -0,0 +1 @@ +uid://cll2emvic6l63 diff --git a/material_maker/projects_panel.tscn b/material_maker/projects_panel.tscn index 7924584a6..f1971ccfe 100644 --- a/material_maker/projects_panel.tscn +++ b/material_maker/projects_panel.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=12 format=3 uid="uid://bnqq3vhwmudkw"] -[ext_resource type="Script" path="res://material_maker/main_window_projects_panel.gd" id="1_m3usq"] +[ext_resource type="Script" uid="uid://cryayuomvuwbo" path="res://material_maker/main_window_projects_panel.gd" id="1_m3usq"] [ext_resource type="PackedScene" uid="uid://bb6iar0tbj2qt" path="res://material_maker/panels/preview_2d/preview_2d.tscn" id="2_oiaqi"] [ext_resource type="PackedScene" uid="uid://dpaxvlnn2u1f6" path="res://material_maker/panels/preview_3d/preview_3d.tscn" id="3_qvj7k"] -[ext_resource type="Script" path="res://material_maker/widgets/tabs/tabs.gd" id="4_mpinq"] +[ext_resource type="Script" uid="uid://bl15iwn2k8qm" path="res://material_maker/widgets/tabs/tabs.gd" id="4_mpinq"] [ext_resource type="Texture2D" uid="uid://c0j4px4n72di5" path="res://material_maker/icons/icons.tres" id="5_1qnqj"] [ext_resource type="PackedScene" uid="uid://brlp703awvxbn" path="res://material_maker/panels/preview_3d/preview_3d_ui.tscn" id="6_mpc0m"] diff --git a/material_maker/theme/enhanced_theme_system/color_swap.gd.uid b/material_maker/theme/enhanced_theme_system/color_swap.gd.uid new file mode 100644 index 000000000..106c0a995 --- /dev/null +++ b/material_maker/theme/enhanced_theme_system/color_swap.gd.uid @@ -0,0 +1 @@ +uid://3ga2k3abkk0d diff --git a/material_maker/theme/enhanced_theme_system/enhanced_theme.gd.uid b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd.uid new file mode 100644 index 000000000..e53a1b8db --- /dev/null +++ b/material_maker/theme/enhanced_theme_system/enhanced_theme.gd.uid @@ -0,0 +1 @@ +uid://cvv2rdxv4oql6 diff --git a/material_maker/theme/optimize_theme.gd.uid b/material_maker/theme/optimize_theme.gd.uid new file mode 100644 index 000000000..8564561eb --- /dev/null +++ b/material_maker/theme/optimize_theme.gd.uid @@ -0,0 +1 @@ +uid://2q31nmj8bf7v diff --git a/material_maker/tools/environment_manager/environment_manager.gd.uid b/material_maker/tools/environment_manager/environment_manager.gd.uid new file mode 100644 index 000000000..67e52bb30 --- /dev/null +++ b/material_maker/tools/environment_manager/environment_manager.gd.uid @@ -0,0 +1 @@ +uid://vkw5u7nwwyeh diff --git a/material_maker/tools/library_manager/library.gd.uid b/material_maker/tools/library_manager/library.gd.uid new file mode 100644 index 000000000..acbb539f1 --- /dev/null +++ b/material_maker/tools/library_manager/library.gd.uid @@ -0,0 +1 @@ +uid://cyrvpgdv1fk5t diff --git a/material_maker/tools/library_manager/library_manager.gd.uid b/material_maker/tools/library_manager/library_manager.gd.uid new file mode 100644 index 000000000..aa2799547 --- /dev/null +++ b/material_maker/tools/library_manager/library_manager.gd.uid @@ -0,0 +1 @@ +uid://ds4jcblbferbu diff --git a/material_maker/tools/map_renderer/map_renderer.gd.uid b/material_maker/tools/map_renderer/map_renderer.gd.uid new file mode 100644 index 000000000..b500350b2 --- /dev/null +++ b/material_maker/tools/map_renderer/map_renderer.gd.uid @@ -0,0 +1 @@ +uid://dei350usdfqif diff --git a/material_maker/tools/painter/brush_preview.gd.uid b/material_maker/tools/painter/brush_preview.gd.uid new file mode 100644 index 000000000..3093c2e4c --- /dev/null +++ b/material_maker/tools/painter/brush_preview.gd.uid @@ -0,0 +1 @@ +uid://qgje4mt0r2w3 diff --git a/material_maker/tools/painter/painter.gd.uid b/material_maker/tools/painter/painter.gd.uid new file mode 100644 index 000000000..197fe62b9 --- /dev/null +++ b/material_maker/tools/painter/painter.gd.uid @@ -0,0 +1 @@ +uid://dv4fyw7h4lojc diff --git a/material_maker/tools/painter/shaders/apply_seams.gdshader.uid b/material_maker/tools/painter/shaders/apply_seams.gdshader.uid new file mode 100644 index 000000000..506b2dec3 --- /dev/null +++ b/material_maker/tools/painter/shaders/apply_seams.gdshader.uid @@ -0,0 +1 @@ +uid://bas026cv3n3gk diff --git a/material_maker/tools/painter/shaders/brush.gdshader.uid b/material_maker/tools/painter/shaders/brush.gdshader.uid new file mode 100644 index 000000000..618c4084b --- /dev/null +++ b/material_maker/tools/painter/shaders/brush.gdshader.uid @@ -0,0 +1 @@ +uid://bytops8kj2tl7 diff --git a/material_maker/tools/painter/shaders/brush_common_decl.gdshader.uid b/material_maker/tools/painter/shaders/brush_common_decl.gdshader.uid new file mode 100644 index 000000000..8ddb6173b --- /dev/null +++ b/material_maker/tools/painter/shaders/brush_common_decl.gdshader.uid @@ -0,0 +1 @@ +uid://cw8015crtf306 diff --git a/material_maker/tools/painter/shaders/brush_pattern.gdshader.uid b/material_maker/tools/painter/shaders/brush_pattern.gdshader.uid new file mode 100644 index 000000000..8c4bd06b1 --- /dev/null +++ b/material_maker/tools/painter/shaders/brush_pattern.gdshader.uid @@ -0,0 +1 @@ +uid://cfes1c3ej513a diff --git a/material_maker/tools/painter/shaders/brush_stamp.gdshader.uid b/material_maker/tools/painter/shaders/brush_stamp.gdshader.uid new file mode 100644 index 000000000..eed2a4e7a --- /dev/null +++ b/material_maker/tools/painter/shaders/brush_stamp.gdshader.uid @@ -0,0 +1 @@ +uid://buip5ylwtbqcl diff --git a/material_maker/tools/painter/shaders/brush_uv_pattern.gdshader.uid b/material_maker/tools/painter/shaders/brush_uv_pattern.gdshader.uid new file mode 100644 index 000000000..e662cc97f --- /dev/null +++ b/material_maker/tools/painter/shaders/brush_uv_pattern.gdshader.uid @@ -0,0 +1 @@ +uid://c4jmavc5ci76m diff --git a/material_maker/tools/painter/shaders/init.gdshader.uid b/material_maker/tools/painter/shaders/init.gdshader.uid new file mode 100644 index 000000000..204383398 --- /dev/null +++ b/material_maker/tools/painter/shaders/init.gdshader.uid @@ -0,0 +1 @@ +uid://cejiwgc42qxwq diff --git a/material_maker/tools/painter/shaders/init_channels.gdshader.uid b/material_maker/tools/painter/shaders/init_channels.gdshader.uid new file mode 100644 index 000000000..28e28af54 --- /dev/null +++ b/material_maker/tools/painter/shaders/init_channels.gdshader.uid @@ -0,0 +1 @@ +uid://cn3pnjsx6lrrx diff --git a/material_maker/tools/painter/shaders/normal_map.gdshader.uid b/material_maker/tools/painter/shaders/normal_map.gdshader.uid new file mode 100644 index 000000000..22c0e4f85 --- /dev/null +++ b/material_maker/tools/painter/shaders/normal_map.gdshader.uid @@ -0,0 +1 @@ +uid://rimxtvra8mct diff --git a/material_maker/tools/painter/shaders/paint.gdshader.uid b/material_maker/tools/painter/shaders/paint.gdshader.uid new file mode 100644 index 000000000..572509cb3 --- /dev/null +++ b/material_maker/tools/painter/shaders/paint.gdshader.uid @@ -0,0 +1 @@ +uid://3jt3a2f305dq diff --git a/material_maker/tools/painter/shaders/paint_apply.gdshader.uid b/material_maker/tools/painter/shaders/paint_apply.gdshader.uid new file mode 100644 index 000000000..634296c26 --- /dev/null +++ b/material_maker/tools/painter/shaders/paint_apply.gdshader.uid @@ -0,0 +1 @@ +uid://byhecri3wmi7t diff --git a/material_maker/tools/painter/shaders/paint_apply_background.gdshader.uid b/material_maker/tools/painter/shaders/paint_apply_background.gdshader.uid new file mode 100644 index 000000000..8487830cb --- /dev/null +++ b/material_maker/tools/painter/shaders/paint_apply_background.gdshader.uid @@ -0,0 +1 @@ +uid://bpb6g4g7nneq5 diff --git a/material_maker/tools/painter/shaders/paint_mask_apply.gdshader.uid b/material_maker/tools/painter/shaders/paint_mask_apply.gdshader.uid new file mode 100644 index 000000000..801c322a6 --- /dev/null +++ b/material_maker/tools/painter/shaders/paint_mask_apply.gdshader.uid @@ -0,0 +1 @@ +uid://cdhdycorgeraw diff --git a/material_maker/tools/painter/shaders/paint_mr_apply.gdshader.uid b/material_maker/tools/painter/shaders/paint_mr_apply.gdshader.uid new file mode 100644 index 000000000..bf2f40fba --- /dev/null +++ b/material_maker/tools/painter/shaders/paint_mr_apply.gdshader.uid @@ -0,0 +1 @@ +uid://dx32hhialwaum diff --git a/material_maker/tools/painter/shaders/paint_nm_apply.gdshader.uid b/material_maker/tools/painter/shaders/paint_nm_apply.gdshader.uid new file mode 100644 index 000000000..e745a5894 --- /dev/null +++ b/material_maker/tools/painter/shaders/paint_nm_apply.gdshader.uid @@ -0,0 +1 @@ +uid://c27cq6n1tl3wf diff --git a/material_maker/tools/painter/shaders/texture2view.gdshader.uid b/material_maker/tools/painter/shaders/texture2view.gdshader.uid new file mode 100644 index 000000000..01014749b --- /dev/null +++ b/material_maker/tools/painter/shaders/texture2view.gdshader.uid @@ -0,0 +1 @@ +uid://bm6vdve5n1o0a diff --git a/material_maker/tools/painter/shaders/view2texture.gdshader.uid b/material_maker/tools/painter/shaders/view2texture.gdshader.uid new file mode 100644 index 000000000..88b9e2448 --- /dev/null +++ b/material_maker/tools/painter/shaders/view2texture.gdshader.uid @@ -0,0 +1 @@ +uid://cpemb25pnwa20 diff --git a/material_maker/tools/share/login_dialog.gd.uid b/material_maker/tools/share/login_dialog.gd.uid new file mode 100644 index 000000000..dba09f2c9 --- /dev/null +++ b/material_maker/tools/share/login_dialog.gd.uid @@ -0,0 +1 @@ +uid://dhesw8hbpifaj diff --git a/material_maker/tools/share/preview_viewport.gd.uid b/material_maker/tools/share/preview_viewport.gd.uid new file mode 100644 index 000000000..f62b888bf --- /dev/null +++ b/material_maker/tools/share/preview_viewport.gd.uid @@ -0,0 +1 @@ +uid://sc5o50e7nv1i diff --git a/material_maker/tools/share/share_button.gd.uid b/material_maker/tools/share/share_button.gd.uid new file mode 100644 index 000000000..f85b425d8 --- /dev/null +++ b/material_maker/tools/share/share_button.gd.uid @@ -0,0 +1 @@ +uid://kj7il6wl1325 diff --git a/material_maker/tools/share/share_http_request.gd.uid b/material_maker/tools/share/share_http_request.gd.uid new file mode 100644 index 000000000..3732ef43d --- /dev/null +++ b/material_maker/tools/share/share_http_request.gd.uid @@ -0,0 +1 @@ +uid://8x545jr4bcm3 diff --git a/material_maker/tools/share/share_node_dialog.gd.uid b/material_maker/tools/share/share_node_dialog.gd.uid new file mode 100644 index 000000000..c2490442a --- /dev/null +++ b/material_maker/tools/share/share_node_dialog.gd.uid @@ -0,0 +1 @@ +uid://c0ei87dde5bjh diff --git a/material_maker/tools/share/upload_dialog.gd.uid b/material_maker/tools/share/upload_dialog.gd.uid new file mode 100644 index 000000000..ac0272db7 --- /dev/null +++ b/material_maker/tools/share/upload_dialog.gd.uid @@ -0,0 +1 @@ +uid://bkpwlw0cvm7a3 diff --git a/material_maker/tools/undo_redo/undo_redo.gd.uid b/material_maker/tools/undo_redo/undo_redo.gd.uid new file mode 100644 index 000000000..927e5d35b --- /dev/null +++ b/material_maker/tools/undo_redo/undo_redo.gd.uid @@ -0,0 +1 @@ +uid://bne3k0g56crmy diff --git a/material_maker/widgets/code_editor/code_editor.gd.uid b/material_maker/widgets/code_editor/code_editor.gd.uid new file mode 100644 index 000000000..e6efa9605 --- /dev/null +++ b/material_maker/widgets/code_editor/code_editor.gd.uid @@ -0,0 +1 @@ +uid://d2ggou7kt4qxd diff --git a/material_maker/widgets/color_picker_button/color_picker_button.gd.uid b/material_maker/widgets/color_picker_button/color_picker_button.gd.uid new file mode 100644 index 000000000..4878f6f57 --- /dev/null +++ b/material_maker/widgets/color_picker_button/color_picker_button.gd.uid @@ -0,0 +1 @@ +uid://boa5vf0j8nmen diff --git a/material_maker/widgets/curve_edit/control_point.gd.uid b/material_maker/widgets/curve_edit/control_point.gd.uid new file mode 100644 index 000000000..fd279c0c9 --- /dev/null +++ b/material_maker/widgets/curve_edit/control_point.gd.uid @@ -0,0 +1 @@ +uid://lfjxe7jh8oyu diff --git a/material_maker/widgets/curve_edit/curve_dialog.gd.uid b/material_maker/widgets/curve_edit/curve_dialog.gd.uid new file mode 100644 index 000000000..9f375df48 --- /dev/null +++ b/material_maker/widgets/curve_edit/curve_dialog.gd.uid @@ -0,0 +1 @@ +uid://06osuiqfmilt diff --git a/material_maker/widgets/curve_edit/curve_edit.gd.uid b/material_maker/widgets/curve_edit/curve_edit.gd.uid new file mode 100644 index 000000000..5bff30200 --- /dev/null +++ b/material_maker/widgets/curve_edit/curve_edit.gd.uid @@ -0,0 +1 @@ +uid://cd0ugv3swm5os diff --git a/material_maker/widgets/curve_edit/curve_editor.gd.uid b/material_maker/widgets/curve_edit/curve_editor.gd.uid new file mode 100644 index 000000000..c4691038b --- /dev/null +++ b/material_maker/widgets/curve_edit/curve_editor.gd.uid @@ -0,0 +1 @@ +uid://cvdqhv71gc0un diff --git a/material_maker/widgets/curve_edit/curve_view.gd.uid b/material_maker/widgets/curve_edit/curve_view.gd.uid new file mode 100644 index 000000000..4e6723ef9 --- /dev/null +++ b/material_maker/widgets/curve_edit/curve_view.gd.uid @@ -0,0 +1 @@ +uid://dk7v6u1dpxt0n diff --git a/material_maker/widgets/curve_edit/presets_selector.gd.uid b/material_maker/widgets/curve_edit/presets_selector.gd.uid new file mode 100644 index 000000000..b31ec3de1 --- /dev/null +++ b/material_maker/widgets/curve_edit/presets_selector.gd.uid @@ -0,0 +1 @@ +uid://df24muo083lfx diff --git a/material_maker/widgets/curve_edit/slope_point.gd.uid b/material_maker/widgets/curve_edit/slope_point.gd.uid new file mode 100644 index 000000000..185caf683 --- /dev/null +++ b/material_maker/widgets/curve_edit/slope_point.gd.uid @@ -0,0 +1 @@ +uid://dl376nblfgqfs diff --git a/material_maker/widgets/desc_button/desc_button.gd.uid b/material_maker/widgets/desc_button/desc_button.gd.uid new file mode 100644 index 000000000..0d1834b9e --- /dev/null +++ b/material_maker/widgets/desc_button/desc_button.gd.uid @@ -0,0 +1 @@ +uid://db86wjvr23ha0 diff --git a/material_maker/widgets/file_picker_button/file_picker_button.gd.uid b/material_maker/widgets/file_picker_button/file_picker_button.gd.uid new file mode 100644 index 000000000..67e03722e --- /dev/null +++ b/material_maker/widgets/file_picker_button/file_picker_button.gd.uid @@ -0,0 +1 @@ +uid://ctb4xabu32bq1 diff --git a/material_maker/widgets/float_edit/expression_editor.gd.uid b/material_maker/widgets/float_edit/expression_editor.gd.uid new file mode 100644 index 000000000..d78c2ea2c --- /dev/null +++ b/material_maker/widgets/float_edit/expression_editor.gd.uid @@ -0,0 +1 @@ +uid://l44p7780chi6 diff --git a/material_maker/widgets/float_edit/float_edit.gd.uid b/material_maker/widgets/float_edit/float_edit.gd.uid new file mode 100644 index 000000000..b477c67f0 --- /dev/null +++ b/material_maker/widgets/float_edit/float_edit.gd.uid @@ -0,0 +1 @@ +uid://c4own5hljyjue diff --git a/material_maker/widgets/gradient_editor/gradient_edit.gd.uid b/material_maker/widgets/gradient_editor/gradient_edit.gd.uid new file mode 100644 index 000000000..f79843e56 --- /dev/null +++ b/material_maker/widgets/gradient_editor/gradient_edit.gd.uid @@ -0,0 +1 @@ +uid://b12ou6mx2bt2m diff --git a/material_maker/widgets/gradient_editor/gradient_edit_cursor.gd.uid b/material_maker/widgets/gradient_editor/gradient_edit_cursor.gd.uid new file mode 100644 index 000000000..d55727a16 --- /dev/null +++ b/material_maker/widgets/gradient_editor/gradient_edit_cursor.gd.uid @@ -0,0 +1 @@ +uid://bfokkrrcyst4a diff --git a/material_maker/widgets/gradient_editor/gradient_popup.gd.uid b/material_maker/widgets/gradient_editor/gradient_popup.gd.uid new file mode 100644 index 000000000..0f7c8ea6f --- /dev/null +++ b/material_maker/widgets/gradient_editor/gradient_popup.gd.uid @@ -0,0 +1 @@ +uid://h85iv7e2rlbv diff --git a/material_maker/widgets/graph_tree/graph_tree.gd.uid b/material_maker/widgets/graph_tree/graph_tree.gd.uid new file mode 100644 index 000000000..8760868dc --- /dev/null +++ b/material_maker/widgets/graph_tree/graph_tree.gd.uid @@ -0,0 +1 @@ +uid://ipbttnfsmvy8 diff --git a/material_maker/widgets/histogram/histogram.gd.uid b/material_maker/widgets/histogram/histogram.gd.uid new file mode 100644 index 000000000..74d684736 --- /dev/null +++ b/material_maker/widgets/histogram/histogram.gd.uid @@ -0,0 +1 @@ +uid://cyxmcitflpgnq diff --git a/material_maker/widgets/image_picker_button/image_picker_button.gd.uid b/material_maker/widgets/image_picker_button/image_picker_button.gd.uid new file mode 100644 index 000000000..26d82278b --- /dev/null +++ b/material_maker/widgets/image_picker_button/image_picker_button.gd.uid @@ -0,0 +1 @@ +uid://cuhrwknj8xk5d diff --git a/material_maker/widgets/lattice_edit/lattice_dialog.gd.uid b/material_maker/widgets/lattice_edit/lattice_dialog.gd.uid new file mode 100644 index 000000000..0a662929d --- /dev/null +++ b/material_maker/widgets/lattice_edit/lattice_dialog.gd.uid @@ -0,0 +1 @@ +uid://b6nk3nlq0esen diff --git a/material_maker/widgets/lattice_edit/lattice_edit.gd.uid b/material_maker/widgets/lattice_edit/lattice_edit.gd.uid new file mode 100644 index 000000000..205e7a293 --- /dev/null +++ b/material_maker/widgets/lattice_edit/lattice_edit.gd.uid @@ -0,0 +1 @@ +uid://pyktsiaj6vgv diff --git a/material_maker/widgets/lattice_edit/lattice_editor.gd.uid b/material_maker/widgets/lattice_edit/lattice_editor.gd.uid new file mode 100644 index 000000000..ee7a646da --- /dev/null +++ b/material_maker/widgets/lattice_edit/lattice_editor.gd.uid @@ -0,0 +1 @@ +uid://b6354awd1doox diff --git a/material_maker/widgets/lattice_edit/lattice_view.gd.uid b/material_maker/widgets/lattice_edit/lattice_view.gd.uid new file mode 100644 index 000000000..3b87cd2c0 --- /dev/null +++ b/material_maker/widgets/lattice_edit/lattice_view.gd.uid @@ -0,0 +1 @@ +uid://dmdd7us8jouqe diff --git a/material_maker/widgets/linked_widgets/editable_label.gd.uid b/material_maker/widgets/linked_widgets/editable_label.gd.uid new file mode 100644 index 000000000..dde8d7a26 --- /dev/null +++ b/material_maker/widgets/linked_widgets/editable_label.gd.uid @@ -0,0 +1 @@ +uid://ma8w6gnnpohe diff --git a/material_maker/widgets/linked_widgets/link.gd.uid b/material_maker/widgets/linked_widgets/link.gd.uid new file mode 100644 index 000000000..a679af184 --- /dev/null +++ b/material_maker/widgets/linked_widgets/link.gd.uid @@ -0,0 +1 @@ +uid://cuwgv4301egdk diff --git a/material_maker/widgets/option_edit/option_edit.gd.uid b/material_maker/widgets/option_edit/option_edit.gd.uid new file mode 100644 index 000000000..cd1db77f6 --- /dev/null +++ b/material_maker/widgets/option_edit/option_edit.gd.uid @@ -0,0 +1 @@ +uid://bnwwic4t5iaoc diff --git a/material_maker/widgets/pixels_edit/pixels_dialog.gd.uid b/material_maker/widgets/pixels_edit/pixels_dialog.gd.uid new file mode 100644 index 000000000..5be412cda --- /dev/null +++ b/material_maker/widgets/pixels_edit/pixels_dialog.gd.uid @@ -0,0 +1 @@ +uid://yadmqxchgo1r diff --git a/material_maker/widgets/pixels_edit/pixels_edit.gd.uid b/material_maker/widgets/pixels_edit/pixels_edit.gd.uid new file mode 100644 index 000000000..daa3f7cd0 --- /dev/null +++ b/material_maker/widgets/pixels_edit/pixels_edit.gd.uid @@ -0,0 +1 @@ +uid://cydrww55alnwr diff --git a/material_maker/widgets/pixels_edit/pixels_editor.gd.uid b/material_maker/widgets/pixels_edit/pixels_editor.gd.uid new file mode 100644 index 000000000..45fc794e6 --- /dev/null +++ b/material_maker/widgets/pixels_edit/pixels_editor.gd.uid @@ -0,0 +1 @@ +uid://n2cq7cn7q7ih diff --git a/material_maker/widgets/pixels_edit/pixels_view.gd.uid b/material_maker/widgets/pixels_edit/pixels_view.gd.uid new file mode 100644 index 000000000..bd4f40587 --- /dev/null +++ b/material_maker/widgets/pixels_edit/pixels_view.gd.uid @@ -0,0 +1 @@ +uid://dedxcy7anysql diff --git a/material_maker/widgets/polygon_edit/control_point.gd.uid b/material_maker/widgets/polygon_edit/control_point.gd.uid new file mode 100644 index 000000000..aa1e37e7e --- /dev/null +++ b/material_maker/widgets/polygon_edit/control_point.gd.uid @@ -0,0 +1 @@ +uid://umn8pi28lhrc diff --git a/material_maker/widgets/polygon_edit/polygon_dialog.gd.uid b/material_maker/widgets/polygon_edit/polygon_dialog.gd.uid new file mode 100644 index 000000000..c54668377 --- /dev/null +++ b/material_maker/widgets/polygon_edit/polygon_dialog.gd.uid @@ -0,0 +1 @@ +uid://be2rg42127n0g diff --git a/material_maker/widgets/polygon_edit/polygon_edit.gd.uid b/material_maker/widgets/polygon_edit/polygon_edit.gd.uid new file mode 100644 index 000000000..1161174ec --- /dev/null +++ b/material_maker/widgets/polygon_edit/polygon_edit.gd.uid @@ -0,0 +1 @@ +uid://delhgks84xx0 diff --git a/material_maker/widgets/polygon_edit/polygon_editor.gd.uid b/material_maker/widgets/polygon_edit/polygon_editor.gd.uid new file mode 100644 index 000000000..e22063a3b --- /dev/null +++ b/material_maker/widgets/polygon_edit/polygon_editor.gd.uid @@ -0,0 +1 @@ +uid://511g8g7afvi8 diff --git a/material_maker/widgets/polygon_edit/polygon_view.gd.uid b/material_maker/widgets/polygon_edit/polygon_view.gd.uid new file mode 100644 index 000000000..a35001f6e --- /dev/null +++ b/material_maker/widgets/polygon_edit/polygon_view.gd.uid @@ -0,0 +1 @@ +uid://ct757500ic6kg diff --git a/material_maker/widgets/port_group_button/port_group_button.gd.uid b/material_maker/widgets/port_group_button/port_group_button.gd.uid new file mode 100644 index 000000000..f58e8aa97 --- /dev/null +++ b/material_maker/widgets/port_group_button/port_group_button.gd.uid @@ -0,0 +1 @@ +uid://nwrh40aev3ry diff --git a/material_maker/widgets/render_counter/render_counter.gd.uid b/material_maker/widgets/render_counter/render_counter.gd.uid new file mode 100644 index 000000000..d1ab63cfd --- /dev/null +++ b/material_maker/widgets/render_counter/render_counter.gd.uid @@ -0,0 +1 @@ +uid://4ajg6j8vvfvo diff --git a/material_maker/widgets/size_option_button/size_option_button.gd.uid b/material_maker/widgets/size_option_button/size_option_button.gd.uid new file mode 100644 index 000000000..6e8f3e87f --- /dev/null +++ b/material_maker/widgets/size_option_button/size_option_button.gd.uid @@ -0,0 +1 @@ +uid://cwmujy6n8f23a diff --git a/material_maker/widgets/splines_edit/splines_dialog.gd.uid b/material_maker/widgets/splines_edit/splines_dialog.gd.uid new file mode 100644 index 000000000..05476d30c --- /dev/null +++ b/material_maker/widgets/splines_edit/splines_dialog.gd.uid @@ -0,0 +1 @@ +uid://ryqfao0m6epx diff --git a/material_maker/widgets/splines_edit/splines_edit.gd.uid b/material_maker/widgets/splines_edit/splines_edit.gd.uid new file mode 100644 index 000000000..94e4973b1 --- /dev/null +++ b/material_maker/widgets/splines_edit/splines_edit.gd.uid @@ -0,0 +1 @@ +uid://3tc84n3cmsr4 diff --git a/material_maker/widgets/splines_edit/splines_editor.gd.uid b/material_maker/widgets/splines_edit/splines_editor.gd.uid new file mode 100644 index 000000000..3af36c9c3 --- /dev/null +++ b/material_maker/widgets/splines_edit/splines_editor.gd.uid @@ -0,0 +1 @@ +uid://c4mrqp5wc4qg5 diff --git a/material_maker/widgets/splines_edit/splines_view.gd.uid b/material_maker/widgets/splines_edit/splines_view.gd.uid new file mode 100644 index 000000000..3cc055ceb --- /dev/null +++ b/material_maker/widgets/splines_edit/splines_view.gd.uid @@ -0,0 +1 @@ +uid://cay5f0gyu3unj diff --git a/material_maker/widgets/tabs/tabs.gd.uid b/material_maker/widgets/tabs/tabs.gd.uid new file mode 100644 index 000000000..187c06abd --- /dev/null +++ b/material_maker/widgets/tabs/tabs.gd.uid @@ -0,0 +1 @@ +uid://bl15iwn2k8qm diff --git a/material_maker/windows/about/about.gd.uid b/material_maker/windows/about/about.gd.uid new file mode 100644 index 000000000..ba6b7846c --- /dev/null +++ b/material_maker/windows/about/about.gd.uid @@ -0,0 +1 @@ +uid://c80e0om4076tc diff --git a/material_maker/windows/accept_dialog/accept_dialog.gd.uid b/material_maker/windows/accept_dialog/accept_dialog.gd.uid new file mode 100644 index 000000000..2dd77e72e --- /dev/null +++ b/material_maker/windows/accept_dialog/accept_dialog.gd.uid @@ -0,0 +1 @@ +uid://cadawccuorvkf diff --git a/material_maker/windows/add_node_popup/add_node_popup.gd.uid b/material_maker/windows/add_node_popup/add_node_popup.gd.uid new file mode 100644 index 000000000..7306619c0 --- /dev/null +++ b/material_maker/windows/add_node_popup/add_node_popup.gd.uid @@ -0,0 +1 @@ +uid://di33ywsh7i1mp diff --git a/material_maker/windows/add_node_popup/add_node_popup.tscn b/material_maker/windows/add_node_popup/add_node_popup.tscn index 496948e8a..03623ed70 100644 --- a/material_maker/windows/add_node_popup/add_node_popup.tscn +++ b/material_maker/windows/add_node_popup/add_node_popup.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=19 format=3 uid="uid://clw8sb0p8webl"] +[gd_scene load_steps=21 format=3 uid="uid://clw8sb0p8webl"] -[ext_resource type="Script" path="res://material_maker/windows/add_node_popup/add_node_popup.gd" id="1"] +[ext_resource type="Script" uid="uid://di33ywsh7i1mp" path="res://material_maker/windows/add_node_popup/add_node_popup.gd" id="1"] [ext_resource type="PackedScene" uid="uid://cjcxjmoki7j0n" path="res://material_maker/windows/add_node_popup/quick_button.tscn" id="2"] [sub_resource type="Shader" id="11"] @@ -111,6 +111,20 @@ shader_parameter/disabled = false shader_parameter/brightness = 0.8 shader_parameter/tex = SubResource("PlaceholderTexture2D_buqpn") +[sub_resource type="ShaderMaterial" id="ShaderMaterial_j7uv1"] +resource_local_to_scene = true +shader = SubResource("11") +shader_parameter/disabled = false +shader_parameter/brightness = 0.8 +shader_parameter/tex = SubResource("PlaceholderTexture2D_buqpn") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_c6ii2"] +resource_local_to_scene = true +shader = SubResource("11") +shader_parameter/disabled = false +shader_parameter/brightness = 0.8 +shader_parameter/tex = SubResource("PlaceholderTexture2D_buqpn") + [node name="AddNodePopup" type="Popup"] transparent_bg = true size = Vector2i(360, 400) @@ -193,12 +207,12 @@ layout_mode = 2 size_flags_horizontal = 6 [node name="Button11" parent="PanelContainer/VBoxContainer/Buttons" instance=ExtResource("2")] -material = SubResource("ShaderMaterial_7i7iy") +material = SubResource("ShaderMaterial_j7uv1") layout_mode = 2 size_flags_horizontal = 6 [node name="Button12" parent="PanelContainer/VBoxContainer/Buttons" instance=ExtResource("2")] -material = SubResource("ShaderMaterial_7i7iy") +material = SubResource("ShaderMaterial_c6ii2") layout_mode = 2 size_flags_horizontal = 6 diff --git a/material_maker/windows/add_node_popup/quick_button.gd.uid b/material_maker/windows/add_node_popup/quick_button.gd.uid new file mode 100644 index 000000000..2610e3f21 --- /dev/null +++ b/material_maker/windows/add_node_popup/quick_button.gd.uid @@ -0,0 +1 @@ +uid://dgye466wiylhc diff --git a/material_maker/windows/add_node_popup/quick_button.tscn b/material_maker/windows/add_node_popup/quick_button.tscn index b2bffb0bf..cad55fb9a 100644 --- a/material_maker/windows/add_node_popup/quick_button.tscn +++ b/material_maker/windows/add_node_popup/quick_button.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://cjcxjmoki7j0n"] -[ext_resource type="Script" path="res://material_maker/windows/add_node_popup/quick_button.gd" id="1"] +[ext_resource type="Script" uid="uid://dgye466wiylhc" path="res://material_maker/windows/add_node_popup/quick_button.gd" id="1"] [sub_resource type="Shader" id="11"] code = "shader_type canvas_item; diff --git a/material_maker/windows/desc_dialog/desc_dialog.gd.uid b/material_maker/windows/desc_dialog/desc_dialog.gd.uid new file mode 100644 index 000000000..cb90b1cbc --- /dev/null +++ b/material_maker/windows/desc_dialog/desc_dialog.gd.uid @@ -0,0 +1 @@ +uid://3rcb1a63iu8s diff --git a/material_maker/windows/environment_editor/environment_editor.gd.uid b/material_maker/windows/environment_editor/environment_editor.gd.uid new file mode 100644 index 000000000..7ee9b627d --- /dev/null +++ b/material_maker/windows/environment_editor/environment_editor.gd.uid @@ -0,0 +1 @@ +uid://qvs2b46to53o diff --git a/material_maker/windows/export_animation/export_animation.gd.uid b/material_maker/windows/export_animation/export_animation.gd.uid new file mode 100644 index 000000000..0cd8d2ac7 --- /dev/null +++ b/material_maker/windows/export_animation/export_animation.gd.uid @@ -0,0 +1 @@ +uid://idwy5277hv3v diff --git a/material_maker/windows/export_taa/export_taa.gd.uid b/material_maker/windows/export_taa/export_taa.gd.uid new file mode 100644 index 000000000..851b7c381 --- /dev/null +++ b/material_maker/windows/export_taa/export_taa.gd.uid @@ -0,0 +1 @@ +uid://dvgdd45qeg6ph diff --git a/material_maker/windows/file_dialog/file_dialog.gd.uid b/material_maker/windows/file_dialog/file_dialog.gd.uid new file mode 100644 index 000000000..79b7c57df --- /dev/null +++ b/material_maker/windows/file_dialog/file_dialog.gd.uid @@ -0,0 +1 @@ +uid://2m7bxcehwc5a diff --git a/material_maker/windows/file_dialog/left_panel.gd.uid b/material_maker/windows/file_dialog/left_panel.gd.uid new file mode 100644 index 000000000..3f6fe5130 --- /dev/null +++ b/material_maker/windows/file_dialog/left_panel.gd.uid @@ -0,0 +1 @@ +uid://c8g8gvxjdynw diff --git a/material_maker/windows/line_dialog/line_dialog.gd.uid b/material_maker/windows/line_dialog/line_dialog.gd.uid new file mode 100644 index 000000000..37e2bde4f --- /dev/null +++ b/material_maker/windows/line_dialog/line_dialog.gd.uid @@ -0,0 +1 @@ +uid://brjipglk57vch diff --git a/material_maker/windows/load_from_website/load_from_website.gd.uid b/material_maker/windows/load_from_website/load_from_website.gd.uid new file mode 100644 index 000000000..c3c2e5dc2 --- /dev/null +++ b/material_maker/windows/load_from_website/load_from_website.gd.uid @@ -0,0 +1 @@ +uid://cwdsenmji25k1 diff --git a/material_maker/windows/material_editor/export_editor.gd.uid b/material_maker/windows/material_editor/export_editor.gd.uid new file mode 100644 index 000000000..ea26f452a --- /dev/null +++ b/material_maker/windows/material_editor/export_editor.gd.uid @@ -0,0 +1 @@ +uid://bp8x8ej3d6k4e diff --git a/material_maker/windows/material_editor/expression_line_edit.gd.uid b/material_maker/windows/material_editor/expression_line_edit.gd.uid new file mode 100644 index 000000000..7e75b8902 --- /dev/null +++ b/material_maker/windows/material_editor/expression_line_edit.gd.uid @@ -0,0 +1 @@ +uid://cursyr3ct68bg diff --git a/material_maker/windows/material_editor/material_editor.gd.uid b/material_maker/windows/material_editor/material_editor.gd.uid new file mode 100644 index 000000000..5abc72009 --- /dev/null +++ b/material_maker/windows/material_editor/material_editor.gd.uid @@ -0,0 +1 @@ +uid://dufdk6g2klqe6 diff --git a/material_maker/windows/new_painter/new_painter.gd.uid b/material_maker/windows/new_painter/new_painter.gd.uid new file mode 100644 index 000000000..06fef7556 --- /dev/null +++ b/material_maker/windows/new_painter/new_painter.gd.uid @@ -0,0 +1 @@ +uid://bwseewi3eyqt0 diff --git a/material_maker/windows/node_editor/enum_editor.gd.uid b/material_maker/windows/node_editor/enum_editor.gd.uid new file mode 100644 index 000000000..1973ce0ca --- /dev/null +++ b/material_maker/windows/node_editor/enum_editor.gd.uid @@ -0,0 +1 @@ +uid://cr7dcbvp11eks diff --git a/material_maker/windows/node_editor/input.gd.uid b/material_maker/windows/node_editor/input.gd.uid new file mode 100644 index 000000000..bc092fae3 --- /dev/null +++ b/material_maker/windows/node_editor/input.gd.uid @@ -0,0 +1 @@ +uid://codatbokkaf55 diff --git a/material_maker/windows/node_editor/node_editor.gd.uid b/material_maker/windows/node_editor/node_editor.gd.uid new file mode 100644 index 000000000..a0cd42671 --- /dev/null +++ b/material_maker/windows/node_editor/node_editor.gd.uid @@ -0,0 +1 @@ +uid://ce61t4udbuwna diff --git a/material_maker/windows/node_editor/node_editor_item_list.gd.uid b/material_maker/windows/node_editor/node_editor_item_list.gd.uid new file mode 100644 index 000000000..a86d4360b --- /dev/null +++ b/material_maker/windows/node_editor/node_editor_item_list.gd.uid @@ -0,0 +1 @@ +uid://c53hfh1qg7i8o diff --git a/material_maker/windows/node_editor/output.gd.uid b/material_maker/windows/node_editor/output.gd.uid new file mode 100644 index 000000000..ce2ea5db0 --- /dev/null +++ b/material_maker/windows/node_editor/output.gd.uid @@ -0,0 +1 @@ +uid://s78ai35x0lwa diff --git a/material_maker/windows/node_editor/parameter.gd.uid b/material_maker/windows/node_editor/parameter.gd.uid new file mode 100644 index 000000000..2a69167c1 --- /dev/null +++ b/material_maker/windows/node_editor/parameter.gd.uid @@ -0,0 +1 @@ +uid://cqomu1bquv6sn diff --git a/material_maker/windows/node_editor/parameter_boolean.gd.uid b/material_maker/windows/node_editor/parameter_boolean.gd.uid new file mode 100644 index 000000000..3ac938f21 --- /dev/null +++ b/material_maker/windows/node_editor/parameter_boolean.gd.uid @@ -0,0 +1 @@ +uid://c4t00gru2nc7g diff --git a/material_maker/windows/node_editor/parameter_color.gd.uid b/material_maker/windows/node_editor/parameter_color.gd.uid new file mode 100644 index 000000000..b0a933df4 --- /dev/null +++ b/material_maker/windows/node_editor/parameter_color.gd.uid @@ -0,0 +1 @@ +uid://6mulrwmpn2ds diff --git a/material_maker/windows/node_editor/parameter_curve.gd.uid b/material_maker/windows/node_editor/parameter_curve.gd.uid new file mode 100644 index 000000000..de252f2d1 --- /dev/null +++ b/material_maker/windows/node_editor/parameter_curve.gd.uid @@ -0,0 +1 @@ +uid://rvjm04cm0edg diff --git a/material_maker/windows/node_editor/parameter_enum.gd.uid b/material_maker/windows/node_editor/parameter_enum.gd.uid new file mode 100644 index 000000000..90570a2ee --- /dev/null +++ b/material_maker/windows/node_editor/parameter_enum.gd.uid @@ -0,0 +1 @@ +uid://cs7p665n3g0m6 diff --git a/material_maker/windows/node_editor/parameter_float.gd.uid b/material_maker/windows/node_editor/parameter_float.gd.uid new file mode 100644 index 000000000..0ae51b931 --- /dev/null +++ b/material_maker/windows/node_editor/parameter_float.gd.uid @@ -0,0 +1 @@ +uid://dv7vvyci7v4ma diff --git a/material_maker/windows/node_editor/parameter_gradient.gd.uid b/material_maker/windows/node_editor/parameter_gradient.gd.uid new file mode 100644 index 000000000..f1fd26215 --- /dev/null +++ b/material_maker/windows/node_editor/parameter_gradient.gd.uid @@ -0,0 +1 @@ +uid://6bpufqdpyusp diff --git a/material_maker/windows/node_editor/parameter_lattice.gd.uid b/material_maker/windows/node_editor/parameter_lattice.gd.uid new file mode 100644 index 000000000..cb5040f0a --- /dev/null +++ b/material_maker/windows/node_editor/parameter_lattice.gd.uid @@ -0,0 +1 @@ +uid://dikyvdmiasmec diff --git a/material_maker/windows/node_editor/parameter_pixels.gd.uid b/material_maker/windows/node_editor/parameter_pixels.gd.uid new file mode 100644 index 000000000..b463bf90e --- /dev/null +++ b/material_maker/windows/node_editor/parameter_pixels.gd.uid @@ -0,0 +1 @@ +uid://bnnewc36q704j diff --git a/material_maker/windows/node_editor/parameter_polygon.gd.uid b/material_maker/windows/node_editor/parameter_polygon.gd.uid new file mode 100644 index 000000000..6f9236eb4 --- /dev/null +++ b/material_maker/windows/node_editor/parameter_polygon.gd.uid @@ -0,0 +1 @@ +uid://4ud2omi153jr diff --git a/material_maker/windows/node_editor/parameter_size.gd.uid b/material_maker/windows/node_editor/parameter_size.gd.uid new file mode 100644 index 000000000..f0196897b --- /dev/null +++ b/material_maker/windows/node_editor/parameter_size.gd.uid @@ -0,0 +1 @@ +uid://bjil42dqun5k3 diff --git a/material_maker/windows/node_editor/parameter_splines.gd.uid b/material_maker/windows/node_editor/parameter_splines.gd.uid new file mode 100644 index 000000000..287123fff --- /dev/null +++ b/material_maker/windows/node_editor/parameter_splines.gd.uid @@ -0,0 +1 @@ +uid://bflhysf181uba diff --git a/material_maker/windows/preferences/bool_option.gd.uid b/material_maker/windows/preferences/bool_option.gd.uid new file mode 100644 index 000000000..5d26ed92a --- /dev/null +++ b/material_maker/windows/preferences/bool_option.gd.uid @@ -0,0 +1 @@ +uid://r578e00kfyhy diff --git a/material_maker/windows/preferences/float_option.gd.uid b/material_maker/windows/preferences/float_option.gd.uid new file mode 100644 index 000000000..6bd6838a6 --- /dev/null +++ b/material_maker/windows/preferences/float_option.gd.uid @@ -0,0 +1 @@ +uid://dlpvopqjvlj0i diff --git a/material_maker/windows/preferences/lang_option.gd.uid b/material_maker/windows/preferences/lang_option.gd.uid new file mode 100644 index 000000000..2e2a9343f --- /dev/null +++ b/material_maker/windows/preferences/lang_option.gd.uid @@ -0,0 +1 @@ +uid://gmystrme5ayw diff --git a/material_maker/windows/preferences/language_download.gd.uid b/material_maker/windows/preferences/language_download.gd.uid new file mode 100644 index 000000000..7c90aacbf --- /dev/null +++ b/material_maker/windows/preferences/language_download.gd.uid @@ -0,0 +1 @@ +uid://scs3aa1rmw53 diff --git a/material_maker/windows/preferences/preferences.gd.uid b/material_maker/windows/preferences/preferences.gd.uid new file mode 100644 index 000000000..7c0d264e1 --- /dev/null +++ b/material_maker/windows/preferences/preferences.gd.uid @@ -0,0 +1 @@ +uid://cwom8loyqsvf2 diff --git a/material_maker/windows/progress_window/progress_window.gd.uid b/material_maker/windows/progress_window/progress_window.gd.uid new file mode 100644 index 000000000..a06c8a636 --- /dev/null +++ b/material_maker/windows/progress_window/progress_window.gd.uid @@ -0,0 +1 @@ +uid://dc3whtfw8v3lr diff --git a/material_maker/windows/sdf_builder/gizmo.gd.uid b/material_maker/windows/sdf_builder/gizmo.gd.uid new file mode 100644 index 000000000..dbed375a6 --- /dev/null +++ b/material_maker/windows/sdf_builder/gizmo.gd.uid @@ -0,0 +1 @@ +uid://kigskg1veelm diff --git a/material_maker/windows/sdf_builder/gizmo.gdshader.uid b/material_maker/windows/sdf_builder/gizmo.gdshader.uid new file mode 100644 index 000000000..6d653cc3d --- /dev/null +++ b/material_maker/windows/sdf_builder/gizmo.gdshader.uid @@ -0,0 +1 @@ +uid://c0secgyiguxds diff --git a/material_maker/windows/sdf_builder/gizmo_arrow.gd.uid b/material_maker/windows/sdf_builder/gizmo_arrow.gd.uid new file mode 100644 index 000000000..ce59a13d5 --- /dev/null +++ b/material_maker/windows/sdf_builder/gizmo_arrow.gd.uid @@ -0,0 +1 @@ +uid://dsjy88ufgm3vk diff --git a/material_maker/windows/sdf_builder/preview_2d.gd.uid b/material_maker/windows/sdf_builder/preview_2d.gd.uid new file mode 100644 index 000000000..f11835a6a --- /dev/null +++ b/material_maker/windows/sdf_builder/preview_2d.gd.uid @@ -0,0 +1 @@ +uid://smxngjtiyd0i diff --git a/material_maker/windows/sdf_builder/preview_2d.gdshader.uid b/material_maker/windows/sdf_builder/preview_2d.gdshader.uid new file mode 100644 index 000000000..86b6c9fe1 --- /dev/null +++ b/material_maker/windows/sdf_builder/preview_2d.gdshader.uid @@ -0,0 +1 @@ +uid://b50frvkjmb8dd diff --git a/material_maker/windows/sdf_builder/preview_3d.gd.uid b/material_maker/windows/sdf_builder/preview_3d.gd.uid new file mode 100644 index 000000000..58b8e1955 --- /dev/null +++ b/material_maker/windows/sdf_builder/preview_3d.gd.uid @@ -0,0 +1 @@ +uid://oghf500m4npr diff --git a/material_maker/windows/sdf_builder/preview_3d.gdshader.uid b/material_maker/windows/sdf_builder/preview_3d.gdshader.uid new file mode 100644 index 000000000..bc413d1a6 --- /dev/null +++ b/material_maker/windows/sdf_builder/preview_3d.gdshader.uid @@ -0,0 +1 @@ +uid://2ux1pdq41itx diff --git a/material_maker/windows/sdf_builder/sdf_builder.gd.uid b/material_maker/windows/sdf_builder/sdf_builder.gd.uid new file mode 100644 index 000000000..c9a0dbf3e --- /dev/null +++ b/material_maker/windows/sdf_builder/sdf_builder.gd.uid @@ -0,0 +1 @@ +uid://jv4kbv17b3o8 diff --git a/material_maker/windows/sdf_builder/sdf_builder_tree.gd.uid b/material_maker/windows/sdf_builder/sdf_builder_tree.gd.uid new file mode 100644 index 000000000..b6db020ee --- /dev/null +++ b/material_maker/windows/sdf_builder/sdf_builder_tree.gd.uid @@ -0,0 +1 @@ +uid://t8ntu7l3y5wa diff --git a/parse_args.gd.uid b/parse_args.gd.uid new file mode 100644 index 000000000..e480e7f86 --- /dev/null +++ b/parse_args.gd.uid @@ -0,0 +1 @@ +uid://bcslbmkx1lijb diff --git a/parse_args.tscn b/parse_args.tscn index 63e2d31f8..9738cad42 100644 --- a/parse_args.tscn +++ b/parse_args.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://bwfnpjyf1wqiu"] -[ext_resource type="Script" path="res://parse_args.gd" id="1_or0h6"] +[ext_resource type="Script" uid="uid://bcslbmkx1lijb" path="res://parse_args.gd" id="1_or0h6"] [node name="ParseArgs" type="Node"] script = ExtResource("1_or0h6") diff --git a/project.godot b/project.godot index f3525618a..9b144c97e 100644 --- a/project.godot +++ b/project.godot @@ -16,7 +16,7 @@ config/tags=PackedStringArray("material_maker") run/main_scene="res://parse_args.tscn" config/use_custom_user_dir=true config/custom_user_dir_name="material_maker_dev" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") boot_splash/bg_color=Color(0, 0, 0, 0) boot_splash/show_image=false boot_splash/fullsize=false @@ -129,9 +129,9 @@ limits/debugger/max_chars_per_second=204800000 [rendering] textures/vram_compression/import_etc2_astc=true -shading/overrides/force_vertex_shading.mobile=false shading/overrides/force_lambert_over_burley.mobile=false environment/defaults/default_environment="res://default_env.tres" +shading/overrides/force_vertex_shading.mobile=false quality/shadows/filter_mode=2 shading/overrides/force_blinn_over_ggx.mobile=false quality/filters/anisotropic_filter_level=16 diff --git a/scripts/fixup.gd.uid b/scripts/fixup.gd.uid new file mode 100644 index 000000000..56ec0ae7b --- /dev/null +++ b/scripts/fixup.gd.uid @@ -0,0 +1 @@ +uid://dsqgr5s5apsp7 diff --git a/splash_screen/backgrounds/droppedbeat_meteor_rain.gdshader.uid b/splash_screen/backgrounds/droppedbeat_meteor_rain.gdshader.uid new file mode 100644 index 000000000..e75f8c7d5 --- /dev/null +++ b/splash_screen/backgrounds/droppedbeat_meteor_rain.gdshader.uid @@ -0,0 +1 @@ +uid://dd5s1lcmtawv5 diff --git a/splash_screen/backgrounds/droppedbeat_star_trails.gdshader.uid b/splash_screen/backgrounds/droppedbeat_star_trails.gdshader.uid new file mode 100644 index 000000000..7d8df76b5 --- /dev/null +++ b/splash_screen/backgrounds/droppedbeat_star_trails.gdshader.uid @@ -0,0 +1 @@ +uid://dqoh88uqj22t8 diff --git a/splash_screen/backgrounds/unfa_alien_display.gdshader.uid b/splash_screen/backgrounds/unfa_alien_display.gdshader.uid new file mode 100644 index 000000000..ebf7ad3ea --- /dev/null +++ b/splash_screen/backgrounds/unfa_alien_display.gdshader.uid @@ -0,0 +1 @@ +uid://babyv5p4ruy5b diff --git a/splash_screen/splash_screen.gd.uid b/splash_screen/splash_screen.gd.uid new file mode 100644 index 000000000..7dbb00968 --- /dev/null +++ b/splash_screen/splash_screen.gd.uid @@ -0,0 +1 @@ +uid://cms1wqfr4yeb5 diff --git a/splash_screen/splash_screen.gdshader.uid b/splash_screen/splash_screen.gdshader.uid new file mode 100644 index 000000000..f61c95273 --- /dev/null +++ b/splash_screen/splash_screen.gdshader.uid @@ -0,0 +1 @@ +uid://dqxevn5r42pc8 diff --git a/splash_screen/splash_screen_bottom.gdshader.uid b/splash_screen/splash_screen_bottom.gdshader.uid new file mode 100644 index 000000000..d690e37d4 --- /dev/null +++ b/splash_screen/splash_screen_bottom.gdshader.uid @@ -0,0 +1 @@ +uid://b3x7551t5ha0u diff --git a/start.gd.uid b/start.gd.uid new file mode 100644 index 000000000..884f65a95 --- /dev/null +++ b/start.gd.uid @@ -0,0 +1 @@ +uid://c7y5soimt5mdf From 548735aca1ddaba97ff141a2a708fb6c1383b7b6 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Wed, 4 Dec 2024 23:18:06 +0100 Subject: [PATCH 02/18] Moved all compute shader execution to a separate thread --- .../material_maker/engine/multi_renderer.gd | 77 +++++++++++++++++-- .../engine/nodes/gen_material.gd | 5 +- .../engine/pipeline/compute_shader.gd | 24 ++---- .../engine/pipeline/rendering_pipeline.gd | 11 +-- .../material_maker/engine/pipeline/texture.gd | 48 ++++++------ material_maker/main_window.gd | 4 +- material_maker/nodes/base.gd | 4 +- .../panels/preview_2d/preview_2d.gd | 2 +- .../preview_3d/meshes/mesh_generator.gd | 23 +++--- .../preview_3d/meshes/mesh_generator.tscn | 20 ++--- .../panels/preview_3d/preview_3d_scene.tscn | 4 +- .../preview_3d/preview_mesh_generated.gd | 21 ++--- .../panels/preview_3d/preview_objects.tscn | 6 +- 13 files changed, 156 insertions(+), 93 deletions(-) diff --git a/addons/material_maker/engine/multi_renderer.gd b/addons/material_maker/engine/multi_renderer.gd index c6f688274..1ccbadd76 100644 --- a/addons/material_maker/engine/multi_renderer.gd +++ b/addons/material_maker/engine/multi_renderer.gd @@ -15,9 +15,6 @@ var max_viewport_size : int = 2048 var max_buffer_size = 0 -var rendering_device : RenderingDevice -var rendering_device_user = null - var shader_error_handler @@ -33,8 +30,8 @@ func _ready() -> void: var renderer = preload("res://addons/material_maker/engine/renderer.tscn").instantiate() add_child(renderer) free_renderers.append(renderer) - rendering_device = RenderingServer.create_local_rendering_device() - + initialize_rendering_thread() + # Global parameters func get_global_parameters(): @@ -108,6 +105,76 @@ func release(renderer : Object) -> void: free_renderers.append(renderer) free_renderer.emit() + +# rendering thread + +var rendering_thread : Thread +var rendering_mutex : Mutex +var rendering_semaphore : Semaphore +var rendering_callable : Callable +var rendering_parameters : Array +var rendering_return_value +var rendering_thread_running : bool +var rendering_thread_working : bool = false +var rendering_device : RenderingDevice +var rendering_device_user = null +#var next_task : int = 0 +#var running_tasks : Array[int] = [] + +func thread_loop(): + while true: + rendering_semaphore.wait() + rendering_mutex.lock() + var running : bool = rendering_thread_running + if not running: + rendering_mutex.unlock() + break + var rv = rendering_callable.callv(rendering_parameters) + rendering_return_value = rv + rendering_thread_running = false + rendering_mutex.unlock() + +func thread_run(c : Callable, p : Array = []): + #var task_index = next_task + #next_task += 1 + #running_tasks.append(task_index) + #print("Running ", c, "(task ", task_index, ") in thread") + while rendering_thread_working: + await get_tree().process_frame + rendering_thread_working = true + while not rendering_mutex.try_lock(): + await get_tree().process_frame + rendering_callable = c + rendering_parameters = p + rendering_thread_running = true + rendering_mutex.unlock() + rendering_semaphore.post() + var running : bool = true + var rv + while running: + while not rendering_mutex.try_lock(): + if is_inside_tree(): + await get_tree().process_frame + running = rendering_thread_running + rv = rendering_return_value + rendering_mutex.unlock() + rendering_thread_working = false + #print("Done with ", c, "(task ", task_index, ")") + #running_tasks.erase(task_index) + #if not running_tasks.is_empty(): + # print("Remaining tasks: ", running_tasks) + return rv + +func create_rendering_device(): + rendering_device = RenderingServer.create_local_rendering_device() + +func initialize_rendering_thread(): + rendering_thread = Thread.new() + rendering_mutex = Mutex.new() + rendering_semaphore = Semaphore.new() + rendering_thread.start(self.thread_loop) + thread_run(self.create_rendering_device) + func request_rendering_device(user) -> RenderingDevice: while ! renderers_enabled or rendering_device_user != null: await self.free_rendering_device diff --git a/addons/material_maker/engine/nodes/gen_material.gd b/addons/material_maker/engine/nodes/gen_material.gd index 6c5df5aec..0463ab9b7 100644 --- a/addons/material_maker/engine/nodes/gen_material.gd +++ b/addons/material_maker/engine/nodes/gen_material.gd @@ -17,7 +17,7 @@ var preview_parameters : Dictionary = {} var preview_textures = {} var preview_texture_dependencies = {} -var external_previews : Array = [] +var external_previews : Array[ShaderMaterial] = [] var export_output_def : Dictionary @@ -178,6 +178,7 @@ func update_material(m, sequential : bool = false) -> void: func update_external_previews() -> void: for p in external_previews: + print("Updating material ", p) p.shader.code = preview_material.shader.code for t in preview_textures.keys(): p.set_shader_parameter(t, await preview_textures[t].texture.get_texture()) @@ -315,7 +316,7 @@ func process_shader(shader_text : String, custom_script : String = ""): shader_code += "\n" return { shader_code = shader_code, uniforms = rv.uniforms } -func set_3d_previews(previews : Array): +func set_3d_previews(previews : Array[ShaderMaterial]): external_previews = previews update_external_previews() diff --git a/addons/material_maker/engine/pipeline/compute_shader.gd b/addons/material_maker/engine/pipeline/compute_shader.gd index bef876ff7..057a6d0a0 100644 --- a/addons/material_maker/engine/pipeline/compute_shader.gd +++ b/addons/material_maker/engine/pipeline/compute_shader.gd @@ -172,17 +172,19 @@ func render_loop(rd : RenderingDevice, size : Vector2i, chunk_height : int, unif func render(texture : MMTexture, size : Vector2i, output_parameters_values = null) -> bool: return await render_ext([texture], size, output_parameters_values) -func render_ext(textures : Array[MMTexture], size : Vector2i, output_parameters_values = null) -> bool: - var rd : RenderingDevice = await mm_renderer.request_rendering_device(self) +func in_thread_render_ext(textures : Array[MMTexture], size : Vector2i, output_parameters_values = null) -> bool: + var rd : RenderingDevice = mm_renderer.rendering_device var rids : RIDs = RIDs.new() var start_time = Time.get_ticks_msec() set_parameter("elapsed_time", 0.001*float(start_time), true) - var status = await render_2(rd, textures, output_parameters_values, size, rids) + var status = render_2(rd, textures, output_parameters_values, size, rids) rids.free_rids(rd) render_time = Time.get_ticks_msec() - start_time - mm_renderer.release_rendering_device(self) return status +func render_ext(textures : Array[MMTexture], size : Vector2i, output_parameters_values = null) -> bool: + return await mm_renderer.thread_run(self.in_thread_render_ext, [textures, size, output_parameters_values]) + func render_2(rd : RenderingDevice, textures : Array[MMTexture], output_parameters_values, size : Vector2i, rids : RIDs) -> bool: if not shader.is_valid(): push_warning("Rendering with invalid shader") @@ -201,7 +203,7 @@ func render_2(rd : RenderingDevice, textures : Array[MMTexture], output_paramete #print("Creating texture for "+output_texture.name) output_textures_rids.append(create_output_texture(rd, size, output_texture.type)) - var status : bool = await do_render(rd, output_textures_rids, size, rids, output_parameters_values) + var status : bool = do_render(rd, output_textures_rids, size, rids, output_parameters_values) if ! status: push_warning("Rendering failed") return false @@ -278,17 +280,7 @@ func do_render(rd : RenderingDevice, output_textures_rids : Array[RID], size : V var chunk_count : int = max(1, size.x*size.y/(max_viewport_size*max_viewport_size)) var chunk_height : int = max(1, size.y/chunk_count) - #await render_loop(rd, size, chunk_height, uniform_set_0, uniform_set_1, uniform_set_2, uniform_set_4) - if true: - # Use threads - var thread : Thread = Thread.new() - thread.start(render_loop.bind(rd, size, chunk_height, uniform_set_0, uniform_set_1, uniform_set_2, uniform_set_4)) - while thread.is_alive(): - await mm_renderer.get_tree().process_frame - - thread.wait_to_finish() - else: - render_loop(rd, size, chunk_height, uniform_set_0, uniform_set_1, uniform_set_2, uniform_set_4) + render_loop(rd, size, chunk_height, uniform_set_0, uniform_set_1, uniform_set_2, uniform_set_4) if has_output_parameters: for pn in output_parameters.keys(): diff --git a/addons/material_maker/engine/pipeline/rendering_pipeline.gd b/addons/material_maker/engine/pipeline/rendering_pipeline.gd index 1dd03e4cd..881406075 100644 --- a/addons/material_maker/engine/pipeline/rendering_pipeline.gd +++ b/addons/material_maker/engine/pipeline/rendering_pipeline.gd @@ -31,8 +31,8 @@ func set_shader(vertex_source : String, fragment_source : String, replaces : Dic mm_renderer.release_rendering_device(self) return shader.is_valid() -func render(size : Vector2i, texture_type : int, target_texture : MMTexture, with_depth : bool = false): - var rd : RenderingDevice = await mm_renderer.request_rendering_device(self) +func in_thread_render(size : Vector2i, texture_type : int, target_texture : MMTexture, with_depth : bool = false): + var rd : RenderingDevice = mm_renderer.rendering_device var rids : RIDs = RIDs.new() var target_texture_id : RID = create_output_texture(rd, size, texture_type, true) @@ -95,8 +95,9 @@ func render(size : Vector2i, texture_type : int, target_texture : MMTexture, wit rd.sync() var texture_type_struct : Dictionary = TEXTURE_TYPE[texture_type] - await target_texture.set_texture_rid(target_texture_id, size, texture_type_struct.data_format, rd) + target_texture.set_texture_rid(target_texture_id, size, texture_type_struct.data_format, rd) rids.free_rids(rd) - - mm_renderer.release_rendering_device(self) + +func render(size : Vector2i, texture_type : int, target_texture : MMTexture, with_depth : bool = false): + return await mm_renderer.thread_run(self.in_thread_render, [size, texture_type, target_texture, with_depth]) diff --git a/addons/material_maker/engine/pipeline/texture.gd b/addons/material_maker/engine/pipeline/texture.gd index 3baca5188..b468e4355 100644 --- a/addons/material_maker/engine/pipeline/texture.gd +++ b/addons/material_maker/engine/pipeline/texture.gd @@ -17,8 +17,11 @@ func _init() -> void: func _notification(what : int) -> void: match what: NOTIFICATION_PREDELETE: - if rid.is_valid(): - rd.free_rid(rid) + await mm_renderer.thread_run(in_thread_free_rid, [rid, rd]) + +static func in_thread_free_rid(texture_rid, rendering_device): + if texture_rid.is_valid(): + rendering_device.free_rid(texture_rid) func get_texture_rid(target_rd : RenderingDevice) -> RID: if ! rid.is_valid(): @@ -51,28 +54,27 @@ func set_texture_rid(new_rid : RID, size : Vector2i, format : RenderingDevice.Da texture_format = format texture_needs_update = true +func in_thread_get_texture() -> void: + var byte_data : PackedByteArray = rd.texture_get_data(rid, 0) + var image_format : Image.Format + match texture_format: + RenderingDevice.DATA_FORMAT_R32_SFLOAT: + image_format = Image.FORMAT_RF + RenderingDevice.DATA_FORMAT_R32G32B32A32_SFLOAT: + image_format = Image.FORMAT_RGBAF + RenderingDevice.DATA_FORMAT_R16_SFLOAT: + image_format = Image.FORMAT_RH + RenderingDevice.DATA_FORMAT_R16G16B16A16_SFLOAT: + image_format = Image.FORMAT_RGBAH + RenderingDevice.DATA_FORMAT_R8G8B8A8_UNORM: + image_format = Image.FORMAT_RGBA8 + var image : Image = Image.create_from_data(texture_size.x, texture_size.y, false, image_format, byte_data) + texture.set_image(image) + func get_texture() -> Texture2D: if texture_needs_update: - if false: - # Use Texture2DRD - texture = Texture2DRD.new() - texture.texture_rd_rid = rid - elif rd and rid.is_valid(): - var byte_data : PackedByteArray = rd.texture_get_data(rid, 0) - var image_format : Image.Format - match texture_format: - RenderingDevice.DATA_FORMAT_R32_SFLOAT: - image_format = Image.FORMAT_RF - RenderingDevice.DATA_FORMAT_R32G32B32A32_SFLOAT: - image_format = Image.FORMAT_RGBAF - RenderingDevice.DATA_FORMAT_R16_SFLOAT: - image_format = Image.FORMAT_RH - RenderingDevice.DATA_FORMAT_R16G16B16A16_SFLOAT: - image_format = Image.FORMAT_RGBAH - RenderingDevice.DATA_FORMAT_R8G8B8A8_UNORM: - image_format = Image.FORMAT_RGBA8 - var image : Image = Image.create_from_data(texture_size.x, texture_size.y, false, image_format, byte_data) - texture.set_image(image) + if rd and rid.is_valid(): + await mm_renderer.thread_run(in_thread_get_texture) texture_needs_update = false return texture @@ -109,7 +111,7 @@ func get_height() -> int: return texture_size.y func save_to_file(file_name : String): - var texture : ImageTexture = get_texture() + var texture : ImageTexture = await get_texture() var image : Image = texture.get_image() if image != null: var export_image : Image = image diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index d5b68de58..bbd56c206 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -1026,10 +1026,10 @@ func update_preview_3d(previews : Array, _sequential = false) -> void: gen_material = graph_edit.top_generator.get_node("Material") if gen_material != current_gen_material: if current_gen_material != null and is_instance_valid(current_gen_material): - current_gen_material.set_3d_previews([]) + current_gen_material.set_3d_previews([] as Array[ShaderMaterial]) current_gen_material = gen_material if current_gen_material != null: - var materials : Array = [] + var materials : Array[ShaderMaterial] = [] for p in previews: materials.append_array(p.get_materials()) current_gen_material.set_3d_previews(materials) diff --git a/material_maker/nodes/base.gd b/material_maker/nodes/base.gd index f81734156..3eb6bb789 100644 --- a/material_maker/nodes/base.gd +++ b/material_maker/nodes/base.gd @@ -148,7 +148,7 @@ func on_theme_changed() -> void: portpreview_width = get_theme_constant("portpreview_width", "GraphNode") -func _draw_port(slot_index: int, position: Vector2i, left: bool, color: Color): +func _draw_port(slot_index: int, pos: Vector2i, left: bool, color: Color): if left: var inputs = generator.get_input_defs() if slot_index < inputs.size() and inputs[slot_index].has("group_size") and inputs[slot_index].group_size > 1: @@ -163,7 +163,7 @@ func _draw_port(slot_index: int, position: Vector2i, left: bool, color: Color): var conn_pos1 = get_output_port_position(slot_index) var conn_pos2 = get_output_port_position(min(slot_index+outputs[slot_index].group_size-1, outputs.size()-1)) draw_portgroup_stylebox(conn_pos1, conn_pos2) - draw_circle(position, 5, color, true, -1, true) + draw_circle(pos, 5, color, true, -1, true) func _draw() -> void: diff --git a/material_maker/panels/preview_2d/preview_2d.gd b/material_maker/panels/preview_2d/preview_2d.gd index 25fab8fb6..eb6bf80c3 100644 --- a/material_maker/panels/preview_2d/preview_2d.gd +++ b/material_maker/panels/preview_2d/preview_2d.gd @@ -52,7 +52,7 @@ func do_update_material(source, target_material : ShaderMaterial, template : Str for u in source.uniforms: if u.value: if u.value is MMTexture: - target_material.set_shader_parameter(u.name, u.value.get_texture()) + target_material.set_shader_parameter(u.name, await u.value.get_texture()) else: target_material.set_shader_parameter(u.name, u.value) # Make sure position/size parameters are setup diff --git a/material_maker/panels/preview_3d/meshes/mesh_generator.gd b/material_maker/panels/preview_3d/meshes/mesh_generator.gd index b23759981..6bb459ef0 100644 --- a/material_maker/panels/preview_3d/meshes/mesh_generator.gd +++ b/material_maker/panels/preview_3d/meshes/mesh_generator.gd @@ -52,17 +52,18 @@ func generate_mesh(): shader.set_parameter("size", size) shader.set_parameter("curvature", $UI/VBoxContainer/Curvature.value) await shader.render_ext([], Vector2i(size, size), opv) - var mesh : ArrayMesh = generated_mesh.mesh - mesh.clear_surfaces() - var flags : int = Mesh.ARRAY_FORMAT_VERTEX | Mesh.ARRAY_FORMAT_NORMAL | Mesh.ARRAY_FORMAT_TEX_UV | Mesh.ARRAY_FORMAT_INDEX - var vertices : PackedVector3Array = opv.vertices - var normals : PackedVector3Array = opv.normals - var tangents : PackedFloat32Array = opv.tangents - var tex_uvs : PackedVector2Array = opv.tex_uvs - var indexes : PackedInt32Array = opv.indexes - var arrays : Array = [vertices, normals, tangents, null, tex_uvs, null, null, null, null, null, null, null, indexes] - mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLE_STRIP, arrays, [], {}, flags) - print("Done") + if opv.has("vertices"): + var mesh : ArrayMesh = generated_mesh.mesh + mesh.clear_surfaces() + var flags : int = Mesh.ARRAY_FORMAT_VERTEX | Mesh.ARRAY_FORMAT_NORMAL | Mesh.ARRAY_FORMAT_TEX_UV | Mesh.ARRAY_FORMAT_INDEX + var vertices : PackedVector3Array = opv.vertices + var normals : PackedVector3Array = opv.normals + var tangents : PackedFloat32Array = opv.tangents + var tex_uvs : PackedVector2Array = opv.tex_uvs + var indexes : PackedInt32Array = opv.indexes + var arrays : Array = [vertices, normals, tangents, null, tex_uvs, null, null, null, null, null, null, null, indexes] + mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLE_STRIP, arrays, [], {}, flags) + print("Done") var need_update : bool = false var need_reset_shader : bool = false diff --git a/material_maker/panels/preview_3d/meshes/mesh_generator.tscn b/material_maker/panels/preview_3d/meshes/mesh_generator.tscn index b49432045..0acf2f149 100644 --- a/material_maker/panels/preview_3d/meshes/mesh_generator.tscn +++ b/material_maker/panels/preview_3d/meshes/mesh_generator.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=16 format=3 uid="uid://b5vc72lmdldus"] -[ext_resource type="Script" path="res://material_maker/panels/preview_3d/meshes/mesh_generator.gd" id="1_m0lfx"] +[ext_resource type="Script" uid="uid://caeqkfckha5pa" path="res://material_maker/panels/preview_3d/meshes/mesh_generator.gd" id="1_m0lfx"] [ext_resource type="Texture2D" uid="uid://du2r5sfapuxxx" path="res://material_maker/panels/preview_3d/meshes/bricks_albedo.png" id="2_o2y7f"] [ext_resource type="Texture2D" uid="uid://dfvy71k6qeu0g" path="res://material_maker/panels/preview_3d/meshes/bricks_orm.png" id="3_0fl5d"] [ext_resource type="Texture2D" uid="uid://bx4upg4i1n5db" path="res://material_maker/panels/preview_3d/meshes/bricks_heightmap.png" id="4_87aax"] @@ -72,25 +72,25 @@ void fragment() { render_priority = 0 shader = SubResource("Shader_3eg21") shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/texture_albedo = ExtResource("2_o2y7f") shader_parameter/point_size = 1.0 shader_parameter/roughness = 1.0 +shader_parameter/texture_metallic = ExtResource("3_0fl5d") shader_parameter/metallic_texture_channel = null +shader_parameter/texture_roughness = ExtResource("3_0fl5d") shader_parameter/specular = 0.5 shader_parameter/metallic = 1.0 +shader_parameter/texture_normal = ExtResource("5_2283w") shader_parameter/normal_scale = 1.0 +shader_parameter/texture_ambient_occlusion = ExtResource("3_0fl5d") shader_parameter/ao_texture_channel = null shader_parameter/ao_light_affect = 0.0 +shader_parameter/texture_heightmap = ExtResource("4_87aax") shader_parameter/heightmap_scale = 0.1 shader_parameter/uv1_scale = Vector3(1, 1, 1) shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv2_scale = Vector3(1, 1, 1) shader_parameter/uv2_offset = Vector3(0, 0, 0) -shader_parameter/texture_albedo = ExtResource("2_o2y7f") -shader_parameter/texture_metallic = ExtResource("3_0fl5d") -shader_parameter/texture_roughness = ExtResource("3_0fl5d") -shader_parameter/texture_normal = ExtResource("5_2283w") -shader_parameter/texture_ambient_occlusion = ExtResource("3_0fl5d") -shader_parameter/texture_heightmap = ExtResource("4_87aax") [sub_resource type="ArrayMesh" id="ArrayMesh_nb5y3"] @@ -129,8 +129,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_s43cy"] _data = { -"RESET": SubResource("Animation_lmjcq"), -"rotate": SubResource("Animation_umfat") +&"RESET": SubResource("Animation_lmjcq"), +&"rotate": SubResource("Animation_umfat") } [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_odkg4"] @@ -166,7 +166,7 @@ skeleton = NodePath("../..") [node name="AnimationPlayer" type="AnimationPlayer" parent="Pivot"] libraries = { -"": SubResource("AnimationLibrary_s43cy") +&"": SubResource("AnimationLibrary_s43cy") } autoplay = "rotate" speed_scale = 0.01 diff --git a/material_maker/panels/preview_3d/preview_3d_scene.tscn b/material_maker/panels/preview_3d/preview_3d_scene.tscn index 2837395d2..5d24d516a 100644 --- a/material_maker/panels/preview_3d/preview_3d_scene.tscn +++ b/material_maker/panels/preview_3d/preview_3d_scene.tscn @@ -18,7 +18,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_sxr5g"] _data = { -"rotate": SubResource("3") +&"rotate": SubResource("3") } [sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_40ogr"] @@ -46,7 +46,7 @@ fov = 50.0 [node name="ObjectRotate" type="AnimationPlayer" parent="."] libraries = { -"": SubResource("AnimationLibrary_sxr5g") +&"": SubResource("AnimationLibrary_sxr5g") } autoplay = "rotate" diff --git a/material_maker/panels/preview_3d/preview_mesh_generated.gd b/material_maker/panels/preview_3d/preview_mesh_generated.gd index f85742841..0f91cbccd 100644 --- a/material_maker/panels/preview_3d/preview_mesh_generated.gd +++ b/material_maker/panels/preview_3d/preview_mesh_generated.gd @@ -49,16 +49,17 @@ func do_update_mesh() -> void: for p in parameters: shader.set_parameter(p.name, parameter_values[p.name]) await shader.render_ext([], Vector2i(size, size), opv) - mesh.clear_surfaces() - var flags : int = Mesh.ARRAY_FORMAT_VERTEX | Mesh.ARRAY_FORMAT_NORMAL | Mesh.ARRAY_FORMAT_TEX_UV | Mesh.ARRAY_FORMAT_INDEX - var vertices : PackedVector3Array = opv.vertices - var normals : PackedVector3Array = opv.normals - var tangents : PackedFloat32Array = opv.tangents - var tex_uvs : PackedVector2Array = opv.tex_uvs - var indexes : PackedInt32Array = opv.indexes - var arrays : Array = [vertices, normals, tangents, null, tex_uvs, null, null, null, null, null, null, null, indexes] - mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLE_STRIP, arrays, [], {}, flags) - set_surface_override_material(0, material) + if opv.has("vertices"): + mesh.clear_surfaces() + var flags : int = Mesh.ARRAY_FORMAT_VERTEX | Mesh.ARRAY_FORMAT_NORMAL | Mesh.ARRAY_FORMAT_TEX_UV | Mesh.ARRAY_FORMAT_INDEX + var vertices : PackedVector3Array = opv.vertices + var normals : PackedVector3Array = opv.normals + var tangents : PackedFloat32Array = opv.tangents + var tex_uvs : PackedVector2Array = opv.tex_uvs + var indexes : PackedInt32Array = opv.indexes + var arrays : Array = [vertices, normals, tangents, null, tex_uvs, null, null, null, null, null, null, null, indexes] + mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLE_STRIP, arrays, [], {}, flags) + set_surface_override_material(0, material) var need_update : bool = false static var updating : bool = false diff --git a/material_maker/panels/preview_3d/preview_objects.tscn b/material_maker/panels/preview_3d/preview_objects.tscn index 371fff6bc..ff9bf0b5a 100644 --- a/material_maker/panels/preview_3d/preview_objects.tscn +++ b/material_maker/panels/preview_3d/preview_objects.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=9 format=3 uid="uid://cxcw0mi4sfl2x"] [ext_resource type="ArrayMesh" uid="uid://kvgtp30latgq" path="res://material_maker/meshes/suzanne.obj" id="1"] -[ext_resource type="Script" path="res://material_maker/panels/preview_3d/preview_mesh_generated.gd" id="1_2ljk2"] -[ext_resource type="Script" path="res://material_maker/panels/preview_3d/preview_mesh.gd" id="3"] +[ext_resource type="Script" uid="uid://dumc33fnias7j" path="res://material_maker/panels/preview_3d/preview_mesh_generated.gd" id="1_2ljk2"] +[ext_resource type="Script" uid="uid://m5lpqku28wub" path="res://material_maker/panels/preview_3d/preview_mesh.gd" id="3"] [sub_resource type="ArrayMesh" id="ArrayMesh_iqcsj"] @@ -237,5 +237,3 @@ visible = false mesh = ExtResource("1") script = ExtResource("3") can_tesselate = false - -[connection signal="visibility_changed" from="Cube" to="Cube" method="_on_visibility_changed"] From ae07718ecb9d43cafe3be45e5fdbc0d1c1d3eaeb Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Thu, 5 Dec 2024 20:54:25 +0100 Subject: [PATCH 03/18] More rendering fixes --- material_maker/panels/paint/paint_layers.gd | 2 +- .../panels/preview_3d/preview_mesh.gd | 13 ++-- material_maker/tools/painter/painter.gd | 60 +++++++++---------- 3 files changed, 36 insertions(+), 39 deletions(-) diff --git a/material_maker/panels/paint/paint_layers.gd b/material_maker/panels/paint/paint_layers.gd index 46e7852a1..8e945ca42 100644 --- a/material_maker/panels/paint/paint_layers.gd +++ b/material_maker/panels/paint/paint_layers.gd @@ -124,7 +124,7 @@ func select_layer(layer : MMLayer, force : bool = false, update_last : bool = tr await painter_node.init_rgba_texture_by_name(c, Color(1.0, 1.0, 1.0, 1.0), layer.get(c)) else: await painter_node.init_rgba_texture_by_name(c) - layer.set(c, painter_node.get_texture_by_name(c)) + layer.set(c, await painter_node.get_texture_by_name(c)) emit_signal("layer_selected", layer) selected_layer = layer await get_tree().process_frame diff --git a/material_maker/panels/preview_3d/preview_mesh.gd b/material_maker/panels/preview_3d/preview_mesh.gd index 3e88410fd..e7cbf062d 100644 --- a/material_maker/panels/preview_3d/preview_mesh.gd +++ b/material_maker/panels/preview_3d/preview_mesh.gd @@ -1,5 +1,6 @@ extends MeshInstance3D + @export var can_tesselate : bool = true @export var uv_scale : Vector2 = Vector2(1, 1): set = set_uv_scale @@ -8,7 +9,8 @@ extends MeshInstance3D @export var parameters : Array = [] var parameter_values : Dictionary = {} -var material : Material + +var material : ShaderMaterial func _ready(): @@ -28,13 +30,8 @@ func get_material() -> Material: func set_uv_scale(s : Vector2) -> void: if s != uv_scale: uv_scale = s - print(material) if material != null: - if material is StandardMaterial3D: - material.uv1_scale.x = uv_scale.x - material.uv1_scale.y = uv_scale.y - elif material is ShaderMaterial: - material.set_shader_parameter("uv1_scale", Vector3(uv_scale.x, uv_scale.y, 1)) + material.set_shader_parameter("uv1_scale", Vector3(uv_scale.x, uv_scale.y, 1)) func set_parameter(v : float, n : String) -> void: if parameter_values[n] != v: @@ -84,4 +81,4 @@ func update_mesh() -> void: pass _: push_error("Unknown non-tesselated mesh type: %s" % mesh.get_class()) - set_surface_override_material(0, material) + get_material() diff --git a/material_maker/tools/painter/painter.gd b/material_maker/tools/painter/painter.gd index a2d5740e4..cc0925a10 100644 --- a/material_maker/tools/painter/painter.gd +++ b/material_maker/tools/painter/painter.gd @@ -206,7 +206,7 @@ func has_id_map() -> bool: return id_map_set func get_id_map() -> Texture2D: - return id_map_tex.get_texture() + return await id_map_tex.get_texture() func set_id_map(file_name : String): var image : Image = Image.load_from_file(file_name) @@ -353,17 +353,17 @@ func update_brush(update_shaders : bool = false): var output_code : Dictionary = get_output_code(1) update_shader("painter_%d:brush" % get_instance_id(), brush_preview_material, brush_shader_file, { BRUSH_MODE="\""+get_brush_mode()+"\"", GENERATED_CODE = output_code.code }, output_code.uniforms) brush_preview_material.set_shader_parameter("rect_size", viewport_size) - brush_preview_material.set_shader_parameter("view2tex_tex", v2t_texture.get_texture()) - brush_preview_material.set_shader_parameter("mesh_inv_uv_tex", mesh_position_tex.get_texture()) + brush_preview_material.set_shader_parameter("view2tex_tex", await v2t_texture.get_texture()) + brush_preview_material.set_shader_parameter("mesh_inv_uv_tex", await mesh_position_tex.get_texture()) brush_preview_material.set_shader_parameter("mesh_aabb_position", mesh_aabb.position) brush_preview_material.set_shader_parameter("mesh_aabb_size", mesh_aabb.size) - brush_preview_material.set_shader_parameter("mesh_normal_tex", mesh_normal_tex.get_texture()) - brush_preview_material.set_shader_parameter("mesh_tangent_tex", mesh_tangent_tex.get_texture()) - brush_preview_material.set_shader_parameter("layer_albedo_tex", get_albedo_texture()) - brush_preview_material.set_shader_parameter("layer_mr_tex", get_mr_texture()) - brush_preview_material.set_shader_parameter("layer_emission_tex", get_emission_texture()) - brush_preview_material.set_shader_parameter("layer_normal_tex", get_normal_texture()) - brush_preview_material.set_shader_parameter("layer_do_tex", get_do_texture()) + brush_preview_material.set_shader_parameter("mesh_normal_tex", await mesh_normal_tex.get_texture()) + brush_preview_material.set_shader_parameter("mesh_tangent_tex", await mesh_tangent_tex.get_texture()) + brush_preview_material.set_shader_parameter("layer_albedo_tex", await get_albedo_texture()) + brush_preview_material.set_shader_parameter("layer_mr_tex", await get_mr_texture()) + brush_preview_material.set_shader_parameter("layer_emission_tex", await get_emission_texture()) + brush_preview_material.set_shader_parameter("layer_normal_tex", await get_normal_texture()) + brush_preview_material.set_shader_parameter("layer_do_tex", await get_do_texture()) for p in brush_params.keys(): brush_preview_material.set_shader_parameter(p, brush_params[p]) brush_preview_material.set_shader_parameter("pattern_alpha", 0.5 if pattern_shown else 0.0) @@ -626,22 +626,22 @@ func get_paint_channel(channel_index : int): return paint_channels[channel_index] func get_texture_by_name(channel_name : String) -> Texture2D: - return get_paint_channel(paint_textures_by_name[channel_name]).next_texture.get_texture() + return await get_paint_channel(paint_textures_by_name[channel_name]).next_texture.get_texture() func get_albedo_texture() -> Texture2D: - return get_paint_channel(CHANNEL_ALBEDO).next_texture.get_texture() + return await get_paint_channel(CHANNEL_ALBEDO).next_texture.get_texture() func get_mr_texture() -> Texture2D: - return get_paint_channel(CHANNEL_MR).next_texture.get_texture() + return await get_paint_channel(CHANNEL_MR).next_texture.get_texture() func get_emission_texture() -> Texture2D: - return get_paint_channel(CHANNEL_EMISSION).next_texture.get_texture() + return await get_paint_channel(CHANNEL_EMISSION).next_texture.get_texture() func get_normal_texture() -> Texture2D: - return get_paint_channel(CHANNEL_NORMAL).next_texture.get_texture() + return await get_paint_channel(CHANNEL_NORMAL).next_texture.get_texture() func get_do_texture() -> Texture2D: - return get_paint_channel(CHANNEL_DO).next_texture.get_texture() + return await get_paint_channel(CHANNEL_DO).next_texture.get_texture() func save_viewport(v : SubViewport, f : String): v.get_texture().get_data().save_png(f) @@ -690,33 +690,33 @@ func debug_get_texture_names(): func debug_get_texture(ID): match debug_get_texture_names()[ID]: "View to texture": - return v2t_texture.get_texture() + return await v2t_texture.get_texture() "Texture to view": - return t2v_texture.get_texture() + return await t2v_texture.get_texture() "Seams": - return mesh_seams_tex.get_texture() + return await mesh_seams_tex.get_texture() "Albedo (current layer)": - return get_paint_channel(CHANNEL_ALBEDO).next_texture.get_texture() + return await get_paint_channel(CHANNEL_ALBEDO).next_texture.get_texture() "Albedo previous (current layer)": - return get_paint_channel(CHANNEL_ALBEDO).texture.get_texture() + return await get_paint_channel(CHANNEL_ALBEDO).texture.get_texture() "Albedo stroke (current layer)": - return get_paint_channel(CHANNEL_ALBEDO).stroke.get_texture() + return await get_paint_channel(CHANNEL_ALBEDO).stroke.get_texture() "Metallic/Roughness (current layer)": - return get_paint_channel(CHANNEL_MR).next_texture.get_texture() + return await get_paint_channel(CHANNEL_MR).next_texture.get_texture() "Metallic/Roughness stroke (current layer)": - return get_paint_channel(CHANNEL_MR).stroke.get_texture() + return await get_paint_channel(CHANNEL_MR).stroke.get_texture() "Emission (current layer)": - return get_paint_channel(CHANNEL_EMISSION).next_texture.get_texture() + return await get_paint_channel(CHANNEL_EMISSION).next_texture.get_texture() "Emission stroke (current layer)": - return get_paint_channel(CHANNEL_EMISSION).stroke.get_texture() + return await get_paint_channel(CHANNEL_EMISSION).stroke.get_texture() "Normal (current layer)": - return get_paint_channel(CHANNEL_NORMAL).next_texture.get_texture() + return await get_paint_channel(CHANNEL_NORMAL).next_texture.get_texture() "Normal stroke (current layer)": - return get_paint_channel(CHANNEL_NORMAL).stroke.get_texture() + return await get_paint_channel(CHANNEL_NORMAL).stroke.get_texture() "Depth/Occlusion (current layer)": - return get_paint_channel(CHANNEL_DO).next_texture.get_texture() + return await get_paint_channel(CHANNEL_DO).next_texture.get_texture() "Depth/Occlusion stroke (current layer)": - return get_paint_channel(CHANNEL_DO).stroke.get_texture() + return await get_paint_channel(CHANNEL_DO).stroke.get_texture() "Mesh position map": return mesh_position_tex "Mesh normal map": From 3be8009b34af5998c9d755e02f137c6eaa61f89d Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Thu, 5 Dec 2024 22:58:22 +0100 Subject: [PATCH 04/18] Increased rendering thread priority --- addons/material_maker/engine/multi_renderer.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/material_maker/engine/multi_renderer.gd b/addons/material_maker/engine/multi_renderer.gd index 1ccbadd76..3bd19c085 100644 --- a/addons/material_maker/engine/multi_renderer.gd +++ b/addons/material_maker/engine/multi_renderer.gd @@ -172,7 +172,7 @@ func initialize_rendering_thread(): rendering_thread = Thread.new() rendering_mutex = Mutex.new() rendering_semaphore = Semaphore.new() - rendering_thread.start(self.thread_loop) + rendering_thread.start(self.thread_loop, 2) thread_run(self.create_rendering_device) func request_rendering_device(user) -> RenderingDevice: From 4c00d4d85ded93ab7e255e1bf82e6c87551e3828 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Thu, 5 Dec 2024 23:00:40 +0100 Subject: [PATCH 05/18] Fixed 3D preview update --- addons/material_maker/engine/nodes/gen_material.gd | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/addons/material_maker/engine/nodes/gen_material.gd b/addons/material_maker/engine/nodes/gen_material.gd index 0463ab9b7..629a21f94 100644 --- a/addons/material_maker/engine/nodes/gen_material.gd +++ b/addons/material_maker/engine/nodes/gen_material.gd @@ -169,17 +169,14 @@ func update_materials(material_list, sequential : bool = false) -> void: update_material(m, sequential) func update_material(m, sequential : bool = false) -> void: - if m is StandardMaterial3D: - pass - elif m is ShaderMaterial: + if m is ShaderMaterial: m.shader.code = preview_material.shader.code for p in preview_parameters.keys(): m.set_shader_parameter(p, preview_parameters[p]) func update_external_previews() -> void: for p in external_previews: - print("Updating material ", p) - p.shader.code = preview_material.shader.code + p.shader = preview_material.shader for t in preview_textures.keys(): p.set_shader_parameter(t, await preview_textures[t].texture.get_texture()) for t in preview_texture_dependencies.keys(): From a2dcd46afbd55fb30e18e1808f8cc487e034f7a4 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Thu, 5 Dec 2024 23:01:21 +0100 Subject: [PATCH 06/18] Updated for Godot 4.4dev6 --- .../engine/pipeline/rendering_pipeline.gd | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/material_maker/engine/pipeline/rendering_pipeline.gd b/addons/material_maker/engine/pipeline/rendering_pipeline.gd index 881406075..63b3109d0 100644 --- a/addons/material_maker/engine/pipeline/rendering_pipeline.gd +++ b/addons/material_maker/engine/pipeline/rendering_pipeline.gd @@ -64,10 +64,12 @@ func in_thread_render(size : Vector2i, texture_type : int, target_texture : MMTe blend ) - var draw_list : int = rd.draw_list_begin(framebuffer, - RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, - RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, - clearColors) + # pre dev6 + #var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, clearColors) + # dev6 + var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, clearColors, true, 1.0, Rect2(), RenderingDevice.OPAQUE_PASS) + + rd.draw_list_bind_render_pipeline(draw_list, pipeline) var uniform_set_1 : RID = RID() From 115062539f62b53c00f7598929f3fc5633f14077 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Thu, 5 Dec 2024 23:03:55 +0100 Subject: [PATCH 07/18] Updated CI to build using Godot 4.4dev6 --- .github/workflows/dev-desktop-builds.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dev-desktop-builds.yml b/.github/workflows/dev-desktop-builds.yml index 640692414..140b8da82 100644 --- a/.github/workflows/dev-desktop-builds.yml +++ b/.github/workflows/dev-desktop-builds.yml @@ -19,11 +19,11 @@ on: default: "true" env: - GODOT_VERSION: 4.3 - GODOT_SUB: stable - GODOT_DOWNLOAD_DIR: https://github.com/godotengine/godot-builds/releases/download/4.3-stable + GODOT_VERSION: 4.4 + GODOT_SUB: dev6 + GODOT_DOWNLOAD_DIR: https://github.com/godotengine/godot-builds/releases/download/4.4-dev6 EXPORT_NAME: material_maker - MM_RELEASE: 1_4a1 + MM_RELEASE: 1_4a2 jobs: export_windows_linux: From 4238c96ed980e9d7fa80747b1121c90062198292 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Sat, 7 Dec 2024 23:25:16 +0100 Subject: [PATCH 08/18] MM quit fix (clean the rendering thread) --- .../material_maker/engine/multi_renderer.gd | 81 ++++++++++--------- .../material_maker/engine/pipeline/texture.gd | 3 +- material_maker/main_window.gd | 7 +- 3 files changed, 50 insertions(+), 41 deletions(-) diff --git a/addons/material_maker/engine/multi_renderer.gd b/addons/material_maker/engine/multi_renderer.gd index 3bd19c085..ca4c33ac6 100644 --- a/addons/material_maker/engine/multi_renderer.gd +++ b/addons/material_maker/engine/multi_renderer.gd @@ -108,6 +108,7 @@ func release(renderer : Object) -> void: # rendering thread +const render_in_separate_thread : bool = true var rendering_thread : Thread var rendering_mutex : Mutex var rendering_semaphore : Semaphore @@ -118,8 +119,6 @@ var rendering_thread_running : bool var rendering_thread_working : bool = false var rendering_device : RenderingDevice var rendering_device_user = null -#var next_task : int = 0 -#var running_tasks : Array[int] = [] func thread_loop(): while true: @@ -134,46 +133,56 @@ func thread_loop(): rendering_thread_running = false rendering_mutex.unlock() -func thread_run(c : Callable, p : Array = []): - #var task_index = next_task - #next_task += 1 - #running_tasks.append(task_index) - #print("Running ", c, "(task ", task_index, ") in thread") - while rendering_thread_working: - await get_tree().process_frame - rendering_thread_working = true - while not rendering_mutex.try_lock(): - await get_tree().process_frame - rendering_callable = c - rendering_parameters = p - rendering_thread_running = true - rendering_mutex.unlock() - rendering_semaphore.post() - var running : bool = true - var rv - while running: - while not rendering_mutex.try_lock(): - if is_inside_tree(): - await get_tree().process_frame - running = rendering_thread_running - rv = rendering_return_value +func thread_run(c : Callable, p : Array = [], stop_thread = false): + if render_in_separate_thread: + if rendering_thread == null: + return + while rendering_thread_working and is_inside_tree(): + await get_tree().process_frame + rendering_thread_working = true + while not rendering_mutex.try_lock() and is_inside_tree(): + await get_tree().process_frame + rendering_callable = c + rendering_parameters = p + rendering_thread_running = not stop_thread rendering_mutex.unlock() - rendering_thread_working = false - #print("Done with ", c, "(task ", task_index, ")") - #running_tasks.erase(task_index) - #if not running_tasks.is_empty(): - # print("Remaining tasks: ", running_tasks) - return rv + rendering_semaphore.post() + var running : bool = true + var rv + while running: + while not rendering_mutex.try_lock(): + if is_inside_tree(): + await get_tree().process_frame + running = rendering_thread_running + rv = rendering_return_value + rendering_mutex.unlock() + rendering_thread_working = false + return rv + else: + return await c.callv(p) func create_rendering_device(): rendering_device = RenderingServer.create_local_rendering_device() +func destroy_rendering_device(): + pass + func initialize_rendering_thread(): - rendering_thread = Thread.new() - rendering_mutex = Mutex.new() - rendering_semaphore = Semaphore.new() - rendering_thread.start(self.thread_loop, 2) - thread_run(self.create_rendering_device) + if render_in_separate_thread: + rendering_thread = Thread.new() + rendering_mutex = Mutex.new() + rendering_semaphore = Semaphore.new() + rendering_thread.start(self.thread_loop, 2) + thread_run(self.create_rendering_device) + else: + create_rendering_device() + +func stop_rendering_thread(): + if render_in_separate_thread: + await thread_run(destroy_rendering_device, []) + await thread_run(destroy_rendering_device, [], true) + rendering_thread.wait_to_finish() + rendering_thread = null func request_rendering_device(user) -> RenderingDevice: while ! renderers_enabled or rendering_device_user != null: diff --git a/addons/material_maker/engine/pipeline/texture.gd b/addons/material_maker/engine/pipeline/texture.gd index b468e4355..02e462b84 100644 --- a/addons/material_maker/engine/pipeline/texture.gd +++ b/addons/material_maker/engine/pipeline/texture.gd @@ -17,7 +17,8 @@ func _init() -> void: func _notification(what : int) -> void: match what: NOTIFICATION_PREDELETE: - await mm_renderer.thread_run(in_thread_free_rid, [rid, rd]) + if mm_renderer: + await mm_renderer.thread_run(in_thread_free_rid, [rid, rd]) static func in_thread_free_rid(texture_rid, rendering_device): if texture_rid.is_valid(): diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index bbd56c206..fb2a06824 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -626,6 +626,8 @@ func do_load_material(filename : String, update_hierarchy : bool = true) -> bool graph_edit.load_file(filename) if update_hierarchy: hierarchy.update_from_graph_edit(get_current_graph_edit()) + if current_mesh and graph_edit.top_generator: + graph_edit.top_generator.set_current_mesh(current_mesh) return true func do_load_material_from_data(filename : String, data : String, update_hierarchy : bool = true) -> bool: @@ -688,6 +690,7 @@ func quit() -> void: if !result: quitting = false return + await mm_renderer.stop_rendering_thread() dim_window() get_tree().quit() quitting = false @@ -1044,10 +1047,6 @@ func _on_Projects_tab_changed(_tab) -> void: project.call("project_selected") var new_tab = projects_panel.get_projects().get_current_tab_control() if new_tab != current_tab: -# TODO: ??? -# for c in get_incoming_connections(): -# if c.method_name == "update_preview" or c.method_name == "update_preview_2d": -# c.source.disconnect(c.signal_name,Callable(self,c.method_name)) var new_graph_edit = null if new_tab is GraphEdit: new_graph_edit = new_tab From 9bf98fd12357b05d2e169d4f6e377bc0d5240f88 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Sat, 7 Dec 2024 23:26:00 +0100 Subject: [PATCH 09/18] Started fixing painting --- material_maker/panels/paint/paint.gd | 6 +-- material_maker/panels/paint/paint_layers.gd | 17 +++---- material_maker/tools/painter/brush_preview.gd | 2 +- material_maker/tools/painter/painter.gd | 45 ++++++++++--------- 4 files changed, 37 insertions(+), 33 deletions(-) diff --git a/material_maker/panels/paint/paint.gd b/material_maker/panels/paint/paint.gd index 1f01f5e65..6ae7885d2 100644 --- a/material_maker/panels/paint/paint.gd +++ b/material_maker/panels/paint/paint.gd @@ -757,7 +757,7 @@ func update_view(): # DEBUG: show tex2view texture on model #for i in range(10): # await get_tree().process_frame - #painted_mesh.get_surface_override_material(0).albedo_texture = painter.debug_get_texture(1) + #painted_mesh.get_surface_override_material(0).albedo_texture = await painter.debug_get_texture(1) # Force recalculate brush size parameter #_on_Brush_value_changed(brush_parameters.brush_size, "brush_size") @@ -912,8 +912,8 @@ func _on_ChannelSelect_item_selected(ID): func debug_get_texture_names(): return [ "Mask" ] -func debug_get_texture(_ID): - return mask +func debug_get_texture(_ID) -> Texture2D: + return await mask.get_texture() # Brush options UI diff --git a/material_maker/panels/paint/paint_layers.gd b/material_maker/panels/paint/paint_layers.gd index 8e945ca42..dd86a2bec 100644 --- a/material_maker/panels/paint/paint_layers.gd +++ b/material_maker/panels/paint/paint_layers.gd @@ -446,19 +446,20 @@ func debug_get_texture_names(): # tr("Depth") # tr("Occlusion") -func debug_get_texture(ID): +func debug_get_texture(ID) -> Texture2D: match ID: 0: - return get_albedo_texture() + return await get_albedo_texture() 1: - return get_metallic_texture() + return await get_metallic_texture() 2: - return get_roughness_texture() + return await get_roughness_texture() 3: - return get_emission_texture() + return await get_emission_texture() 4: - return get_normal_map() + return await get_normal_map() 5: - return get_depth_texture() + return await get_depth_texture() 6: - return get_occlusion_texture() + return await get_occlusion_texture() + return null diff --git a/material_maker/tools/painter/brush_preview.gd b/material_maker/tools/painter/brush_preview.gd index 956f78ae9..2e5fb22bf 100644 --- a/material_maker/tools/painter/brush_preview.gd +++ b/material_maker/tools/painter/brush_preview.gd @@ -83,7 +83,7 @@ func set_brush(brush) -> Texture2D: await get_tree().process_frame if DEBUG: for i in painter.debug_get_texture_names().size(): - var t = painter.debug_get_texture(i) + var t = await painter.debug_get_texture(i) t.get_data().save_png("d:/debug_brush_preview_%d.png" % i) initialized = true return $SubViewport.get_texture() diff --git a/material_maker/tools/painter/painter.gd b/material_maker/tools/painter/painter.gd index cc0925a10..56c435107 100644 --- a/material_maker/tools/painter/painter.gd +++ b/material_maker/tools/painter/painter.gd @@ -186,6 +186,7 @@ func update_view_textures(): func update_textures() -> void: await MMMapGenerator.generate(mesh, "seams", texture_size, mesh_seams_tex) + await mesh_seams_tex.get_texture() update_view_textures() @@ -556,8 +557,7 @@ func on_dep_update_value(buffer_name : String, parameter_name : String, value) - if suffix == "brush": print("brush") if value is MMTexture: - print("Is a texture") - brush_preview_material.set_shader_parameter(parameter_name, value.get_texture()) + brush_preview_material.set_shader_parameter(parameter_name, await value.get_texture()) else: brush_preview_material.set_shader_parameter(parameter_name, value) elif suffix == "paint": @@ -687,40 +687,43 @@ func debug_get_texture_names(): # tr("Depth/Occlusion (current layer)") # tr("Mask (current layer)") -func debug_get_texture(ID): +func debug_get_texture(ID) -> Texture2D: + var texture : MMTexture match debug_get_texture_names()[ID]: "View to texture": - return await v2t_texture.get_texture() + texture = v2t_texture "Texture to view": - return await t2v_texture.get_texture() + texture = t2v_texture "Seams": - return await mesh_seams_tex.get_texture() + texture = mesh_seams_tex "Albedo (current layer)": - return await get_paint_channel(CHANNEL_ALBEDO).next_texture.get_texture() + texture = get_paint_channel(CHANNEL_ALBEDO).next_texture "Albedo previous (current layer)": - return await get_paint_channel(CHANNEL_ALBEDO).texture.get_texture() + texture = get_paint_channel(CHANNEL_ALBEDO).texture "Albedo stroke (current layer)": - return await get_paint_channel(CHANNEL_ALBEDO).stroke.get_texture() + texture = get_paint_channel(CHANNEL_ALBEDO).stroke "Metallic/Roughness (current layer)": - return await get_paint_channel(CHANNEL_MR).next_texture.get_texture() + texture = get_paint_channel(CHANNEL_MR).next_texture "Metallic/Roughness stroke (current layer)": - return await get_paint_channel(CHANNEL_MR).stroke.get_texture() + texture = get_paint_channel(CHANNEL_MR).stroke "Emission (current layer)": - return await get_paint_channel(CHANNEL_EMISSION).next_texture.get_texture() + texture = get_paint_channel(CHANNEL_EMISSION).next_texture "Emission stroke (current layer)": - return await get_paint_channel(CHANNEL_EMISSION).stroke.get_texture() + texture = get_paint_channel(CHANNEL_EMISSION).stroke "Normal (current layer)": - return await get_paint_channel(CHANNEL_NORMAL).next_texture.get_texture() + texture = get_paint_channel(CHANNEL_NORMAL).next_texture "Normal stroke (current layer)": - return await get_paint_channel(CHANNEL_NORMAL).stroke.get_texture() + texture = get_paint_channel(CHANNEL_NORMAL).stroke "Depth/Occlusion (current layer)": - return await get_paint_channel(CHANNEL_DO).next_texture.get_texture() + texture = get_paint_channel(CHANNEL_DO).next_texture "Depth/Occlusion stroke (current layer)": - return await get_paint_channel(CHANNEL_DO).stroke.get_texture() + texture = get_paint_channel(CHANNEL_DO).stroke "Mesh position map": - return mesh_position_tex + texture = mesh_position_tex "Mesh normal map": - return mesh_normal_tex + texture = mesh_normal_tex "Mesh tangent map": - return mesh_tangent_tex - return null + texture = mesh_tangent_tex + _: + return null + return await texture.get_texture() From 219af939b1b3ff45aa4a99a39f95659ee677b849 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Sat, 7 Dec 2024 23:26:19 +0100 Subject: [PATCH 10/18] Tiny fix in histogram code --- material_maker/widgets/histogram/histogram.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/material_maker/widgets/histogram/histogram.gd b/material_maker/widgets/histogram/histogram.gd index ff721aa8c..d64b75f80 100644 --- a/material_maker/widgets/histogram/histogram.gd +++ b/material_maker/widgets/histogram/histogram.gd @@ -90,10 +90,10 @@ func on_dep_update_buffer(_buffer_name) -> bool: return false for v in [ $ViewportImage, $ViewportHistogram1, $ViewportHistogram2 ]: v.render_target_update_mode = SubViewport.UPDATE_ONCE - if get_tree() == null: + if not is_inside_tree(): return false await get_tree().process_frame - if get_tree() == null: + if not is_inside_tree(): return false await get_tree().process_frame mm_deps.dependency_update("histogram_"+str(get_instance_id()), null, true) From dd0b7e1cc267f945dd46355d5c0d0d805e98363c Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Sun, 8 Dec 2024 09:53:19 +0100 Subject: [PATCH 11/18] Fixed map generator / smart materials problem --- .../map_generator/map_generator.gd | 98 ++++++++++++++----- material_maker/main_window.gd | 6 +- 2 files changed, 80 insertions(+), 24 deletions(-) diff --git a/addons/material_maker/map_generator/map_generator.gd b/addons/material_maker/map_generator/map_generator.gd index ebd540e15..9f0a5a4ea 100644 --- a/addons/material_maker/map_generator/map_generator.gd +++ b/addons/material_maker/map_generator/map_generator.gd @@ -14,16 +14,67 @@ const MAP_DEFINITIONS : Dictionary = { type="simple", vertex = "position_vertex", fragment = "common_fragment", - postprocess=["dilate"] + postprocess=["dilate"], + dependencies=["seams"] }, - normal = { type="simple", vertex = "normal_vertex", fragment = "normal_fragment", postprocess=["dilate"] }, - tangent = { type="simple", vertex = "tangent_vertex", fragment = "normal_fragment", postprocess=["dilate"] }, - ambient_occlusion = { type="bvh", vertex = "ao_vertex", fragment = "ao_fragment", mode=0, postprocess=["dilate"] }, - bent_normals = { type="bvh", vertex = "ao_vertex", fragment = "ao_fragment", mode=1, postprocess=["dilate"] }, - thickness = { type="bvh", vertex = "ao_vertex", fragment = "ao_fragment", mode=2, postprocess=["dilate"] }, - curvature = { type="curvature", vertex = "curvature_vertex", fragment = "common_fragment", postprocess=["dilate"] }, - seams = { type="simple", vertex = "position_vertex", fragment = "common_fragment", postprocess=["seams_1", "seams_2"] }, - adjacency = { type="adjacency", vertex = "normal_vertex", fragment = "common_fragment", postprocess=["adjacency_dilate"] }, + normal = { + type="simple", + vertex = "normal_vertex", + fragment = "normal_fragment", + postprocess=["dilate"], + dependencies=["seams"] + }, + tangent = { + type="simple", + vertex = "tangent_vertex", + fragment = "normal_fragment", + postprocess=["dilate"], + dependencies=["seams"] + }, + ambient_occlusion = { + type="bvh", + vertex = "ao_vertex", + fragment = "ao_fragment", + mode=0, + postprocess=["dilate"], + dependencies=["seams"] + }, + bent_normals = { + type="bvh", + vertex = "ao_vertex", + fragment = "ao_fragment", + mode=1, + postprocess=["dilate"], + dependencies=["seams"] + }, + thickness = { + type="bvh", + vertex = "ao_vertex", + fragment = "ao_fragment", + mode=2, + postprocess=["dilate"], + dependencies=["seams"] + }, + curvature = { + type="curvature", + vertex = "curvature_vertex", + fragment = "common_fragment", + postprocess=["dilate"], + dependencies=["seams"] + }, + seams = { + type="simple", + vertex = "position_vertex", + fragment = "common_fragment", + postprocess=["seams_1", "seams_2"] + }, + adjacency = { + type="adjacency", + vertex = "normal_vertex", + fragment = "common_fragment", + postprocess=["adjacency_dilate"], + dependencies=["seams"] + } } @@ -145,7 +196,7 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) postprocess_pipeline.add_parameter_or_texture("pixels", "int", pixels) match p: "adjacency_dilate", "dilate": - var seams_map : MMTexture = await get_map(mesh, "seams", false, true) + var seams_map : MMTexture = mesh_maps[mesh].seams postprocess_pipeline.add_parameter_or_texture("seams_map", "sampler2D", seams_map) await postprocess_pipeline.set_shader(load("res://addons/material_maker/map_generator/"+p+"_compute.tres").text, 3) await postprocess_pipeline.render(texture, Vector2i(size, size)) @@ -155,7 +206,7 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) static var busy : bool = false -static func get_map(mesh : Mesh, map : String, force_generate : bool = false, parallel : bool = false) -> MMTexture: +static func get_map(mesh : Mesh, map : String, force_generate : bool = false) -> MMTexture: if mesh == null: if error_texture == null: error_texture = MMTexture.new() @@ -167,15 +218,18 @@ static func get_map(mesh : Mesh, map : String, force_generate : bool = false, pa mesh_maps[mesh] = {} if force_generate: mesh_maps[mesh].erase(map) - while true: - if mesh_maps[mesh].has(map): - break - if parallel or not busy: - busy = true - var texture : MMTexture = MMTexture.new() - mesh_maps[mesh][map] = texture - await generate(mesh, map, 2048, texture) - busy = false - break - await mm_globals.get_tree().process_frame + if not mesh_maps[mesh].has(map): + if MAP_DEFINITIONS[map].has("dependencies"): + for d in MAP_DEFINITIONS[map].dependencies: + await get_map(mesh, d) + print("Creating map ", map, " for mesh ", mesh) + while not mesh_maps[mesh].has(map): + if busy: + await mm_globals.get_tree().process_frame + else: + busy = true + var texture : MMTexture = MMTexture.new() + await generate(mesh, map, 2048, texture) + mesh_maps[mesh][map] = texture + busy = false return mesh_maps[mesh][map] as MMTexture diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index fb2a06824..597f09e64 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -595,7 +595,7 @@ func do_load_project(file_name : String) -> bool: var status : bool = false match file_name.get_extension(): "ptex": - status = do_load_material(file_name, false) + status = await do_load_material(file_name, false) hierarchy.update_from_graph_edit(get_current_graph_edit()) "mmpp": status = do_load_painting(file_name) @@ -623,9 +623,11 @@ func create_new_graph_edit_if_needed() -> MMGraphEdit: func do_load_material(filename : String, update_hierarchy : bool = true) -> bool: var graph_edit : MMGraphEdit = create_new_graph_edit_if_needed() - graph_edit.load_file(filename) + await graph_edit.load_file(filename) if update_hierarchy: hierarchy.update_from_graph_edit(get_current_graph_edit()) + print("Current mesh: ", current_mesh) + print("Top generator: ", graph_edit.top_generator) if current_mesh and graph_edit.top_generator: graph_edit.top_generator.set_current_mesh(current_mesh) return true From 8cc4236dd4d95f5c03988d8070cdadb423dd2695 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Tue, 10 Dec 2024 20:17:35 +0100 Subject: [PATCH 12/18] Misc. fixes --- addons/material_maker/engine/nodes/gen_graph.gd | 5 +++++ addons/material_maker/engine/nodes/gen_meshmap.gd | 2 ++ addons/material_maker/engine/pipeline/pipeline.gd | 7 +++---- .../engine/pipeline/rendering_pipeline.gd | 11 ++++++++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/addons/material_maker/engine/nodes/gen_graph.gd b/addons/material_maker/engine/nodes/gen_graph.gd index fed9309f9..369416294 100644 --- a/addons/material_maker/engine/nodes/gen_graph.gd +++ b/addons/material_maker/engine/nodes/gen_graph.gd @@ -13,10 +13,15 @@ var transmits_seed : bool = true var current_mesh : Mesh = null + signal graph_changed() signal connections_changed(removed_connections, added_connections) signal hierarchy_changed() + +func _ready() -> void: + super._ready() + func emit_hierarchy_changed(): var top = self while top.get_parent() != null and top.get_parent().get_script() == get_script(): diff --git a/addons/material_maker/engine/nodes/gen_meshmap.gd b/addons/material_maker/engine/nodes/gen_meshmap.gd index 5f9c34fec..c89e9c373 100644 --- a/addons/material_maker/engine/nodes/gen_meshmap.gd +++ b/addons/material_maker/engine/nodes/gen_meshmap.gd @@ -85,6 +85,7 @@ const MESH_MAPS : Array[Dictionary] = [ func _ready() -> void: + super._ready() if get_parent() is MMGenGraph: set_current_mesh(get_parent().get_current_mesh()) @@ -114,6 +115,7 @@ func get_output_defs(_show_hidden : bool = false) -> Array: func set_current_mesh(m : Mesh) -> void: if current_mesh != m: + print("Setting mesh ", m) current_mesh = m update_map() diff --git a/addons/material_maker/engine/pipeline/pipeline.gd b/addons/material_maker/engine/pipeline/pipeline.gd index 1832b90e8..86b62c2e9 100644 --- a/addons/material_maker/engine/pipeline/pipeline.gd +++ b/addons/material_maker/engine/pipeline/pipeline.gd @@ -384,6 +384,8 @@ func get_output_parameters_declarations() -> String: return output_parameters_declarations func create_texture(rd : RenderingDevice, texture_size : Vector2i, texture_type : int, usage_bits : int): + if texture_size.x == 0 or texture_size.y == 0: + return RID() var fmt : RDTextureFormat = RDTextureFormat.new() var texture_type_struct : Dictionary = TEXTURE_TYPE[texture_type] fmt.width = texture_size.x @@ -393,11 +395,8 @@ func create_texture(rd : RenderingDevice, texture_size : Vector2i, texture_type fmt.texture_type = RenderingDevice.TEXTURE_TYPE_2D var view : RDTextureView = RDTextureView.new() - - var data = PackedByteArray() - data.resize(fmt.height*fmt.width*texture_type_struct.channels*texture_type_struct.bytes_per_channel) - return rd.texture_create(fmt, view, [data]) + return rd.texture_create(fmt, view, []) func create_output_texture(rd : RenderingDevice, texture_size : Vector2i, texture_type : int, is_framebuffer : bool = false) -> RID: var usage_bits : int diff --git a/addons/material_maker/engine/pipeline/rendering_pipeline.gd b/addons/material_maker/engine/pipeline/rendering_pipeline.gd index 63b3109d0..5b26d647e 100644 --- a/addons/material_maker/engine/pipeline/rendering_pipeline.gd +++ b/addons/material_maker/engine/pipeline/rendering_pipeline.gd @@ -14,6 +14,8 @@ func create_framebuffer(rd : RenderingDevice, texture_rid : RID, depth_rid : RID framebuffer_textures.append(depth_rid) var framebuffer : RID framebuffer = rd.framebuffer_create(framebuffer_textures) + if not rd.framebuffer_is_valid(framebuffer): + print("Framebuffer is invalid") return framebuffer func bind_buffer_uniforms(rd : RenderingDevice, draw_list : int, shader : RID, buffers : Array[PackedByteArray], set : int, rids : RIDs): @@ -63,13 +65,16 @@ func in_thread_render(size : Vector2i, texture_type : int, target_texture : MMTe depth_stencil_state, blend ) + rids.add(pipeline, "pipeline") + if not rd.render_pipeline_is_valid(pipeline): + print("Invalid render pipeline") # pre dev6 #var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, clearColors) # dev6 - var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, clearColors, true, 1.0, Rect2(), RenderingDevice.OPAQUE_PASS) - - + #var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, clearColors, true, 0.0, Rect2(), RenderingDevice.OPAQUE_PASS) + var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, clearColors, 1.0, 0) + rd.draw_list_bind_render_pipeline(draw_list, pipeline) var uniform_set_1 : RID = RID() From 7606db92e7059c67157baa026e4d4ddee3ea9028 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Tue, 10 Dec 2024 20:17:59 +0100 Subject: [PATCH 13/18] Updated mesh map generator to support multiple resolutions --- .../map_generator/map_generator.gd | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/addons/material_maker/map_generator/map_generator.gd b/addons/material_maker/map_generator/map_generator.gd index 9f0a5a4ea..cac06950b 100644 --- a/addons/material_maker/map_generator/map_generator.gd +++ b/addons/material_maker/map_generator/map_generator.gd @@ -196,7 +196,7 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) postprocess_pipeline.add_parameter_or_texture("pixels", "int", pixels) match p: "adjacency_dilate", "dilate": - var seams_map : MMTexture = mesh_maps[mesh].seams + var seams_map : MMTexture = mesh_maps[mesh]["seams:"+str(size)] postprocess_pipeline.add_parameter_or_texture("seams_map", "sampler2D", seams_map) await postprocess_pipeline.set_shader(load("res://addons/material_maker/map_generator/"+p+"_compute.tres").text, 3) await postprocess_pipeline.render(texture, Vector2i(size, size)) @@ -206,8 +206,8 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) static var busy : bool = false -static func get_map(mesh : Mesh, map : String, force_generate : bool = false) -> MMTexture: - if mesh == null: +static func get_map(mesh : Mesh, map : String, size : int = 2048, force_generate : bool = false) -> MMTexture: + if mesh == null or size <= 0: if error_texture == null: error_texture = MMTexture.new() var image : Image = Image.create(1, 1, 0, Image.FORMAT_RGBAH) @@ -216,20 +216,21 @@ static func get_map(mesh : Mesh, map : String, force_generate : bool = false) -> return error_texture if ! mesh_maps.has(mesh): mesh_maps[mesh] = {} + var field_name : String = map+":"+str(size) if force_generate: - mesh_maps[mesh].erase(map) - if not mesh_maps[mesh].has(map): + mesh_maps[mesh].erase(field_name) + if not mesh_maps[mesh].has(field_name): if MAP_DEFINITIONS[map].has("dependencies"): for d in MAP_DEFINITIONS[map].dependencies: - await get_map(mesh, d) - print("Creating map ", map, " for mesh ", mesh) - while not mesh_maps[mesh].has(map): + await get_map(mesh, d, size) + print("Creating map ", field_name, " for mesh ", mesh) + while not mesh_maps[mesh].has(field_name): if busy: await mm_globals.get_tree().process_frame else: busy = true var texture : MMTexture = MMTexture.new() - await generate(mesh, map, 2048, texture) - mesh_maps[mesh][map] = texture + await generate(mesh, map, size, texture) + mesh_maps[mesh][field_name] = texture busy = false - return mesh_maps[mesh][map] as MMTexture + return mesh_maps[mesh][field_name] as MMTexture From ea852b15d3fe9bf075a8e6734d73b186d9817222 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Tue, 10 Dec 2024 20:47:12 +0100 Subject: [PATCH 14/18] Small About dialog update --- material_maker/windows/about/about.gd | 30 +++++++++++++++++++--- material_maker/windows/about/about.tscn | 33 +++++++------------------ 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/material_maker/windows/about/about.gd b/material_maker/windows/about/about.gd index 17d70672b..d03b14f73 100644 --- a/material_maker/windows/about/about.gd +++ b/material_maker/windows/about/about.gd @@ -5,6 +5,7 @@ extends Window @onready var patrons_list = $HBoxContainer/VBoxContainer/VBoxContainer/Donors/VBoxContainer/Patrons const CONTRIBUTORS = [ + { icon="res://material_maker/icons/godot_logo.svg", contribution="99% of Material Maker's code is the awesome Godot Engine GODOT_VERSION" }, { name="Rodolphe Suescun", contribution="Lead developer" }, { name="Kasper Arnklit Frandsen", contribution="Several nodes (including Auto Tones, Mask to SDF, Normal Blend and many Bricks nodes) and node updates, and very nice video tutorials" }, { name="Hugo Locurcio", contribution="Lots of contributions, mostly related to rendering and user interface" }, @@ -47,13 +48,34 @@ func _ready() -> void: application_name_label.text = "Material Maker" else: application_name_label.text = ProjectSettings.get_setting("application/config/name")+" v"+ProjectSettings.get_setting("application/config/actual_release") + + # Contributors list for c in CONTRIBUTORS: + var name_control : Control + if c.has("name"): + var label : Label = Label.new() + label.text = c.name + name_control = label + elif c.has("icon"): + var icon : TextureRect = TextureRect.new() + icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT + icon.texture = load(c.icon) + name_control = icon + name_control.size_flags_vertical = Control.SIZE_SHRINK_BEGIN + authors_grid.add_child(name_control) + var label : Label = Label.new() - label.text = c.name - authors_grid.add_child(label) - label = Label.new() label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART - label.text = c.contribution + var contribution : String = c.contribution + var godot_version : Dictionary = Engine.get_version_info() + var godot_version_str : String = "v%d.%d" % [ godot_version.major, godot_version.minor ] + if godot_version.has("patch") and godot_version.patch > 0: + godot_version_str += ".%d" % godot_version.patch + if godot_version.has("status"): + godot_version_str += godot_version.status + contribution = contribution.replace("GODOT_VERSION", godot_version_str) + label.text = contribution + label.size_flags_horizontal = Control.SIZE_EXPAND_FILL authors_grid.add_child(label) for p in PATRONS: patrons_list.add_item(p) diff --git a/material_maker/windows/about/about.tscn b/material_maker/windows/about/about.tscn index 2e0c22d75..aa230cf8a 100644 --- a/material_maker/windows/about/about.tscn +++ b/material_maker/windows/about/about.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=13 format=3 uid="uid://btww87u0o4x7t"] +[gd_scene load_steps=12 format=3 uid="uid://btww87u0o4x7t"] -[ext_resource type="Script" path="res://material_maker/windows/about/about.gd" id="1"] +[ext_resource type="Script" uid="uid://c80e0om4076tc" path="res://material_maker/windows/about/about.gd" id="1"] [ext_resource type="Texture2D" uid="uid://uwqukrk00ios" path="res://material_maker/windows/about/github.png" id="2"] [ext_resource type="Texture2D" uid="uid://n121jfbm7ydw" path="res://material_maker/windows/about/twitter.png" id="3"] -[ext_resource type="Texture2D" uid="uid://bt7vgpv1dduvh" path="res://material_maker/windows/about/icon.png" id="4"] [ext_resource type="Texture2D" uid="uid://d0417sp8jvp7a" path="res://material_maker/windows/about/itchio.png" id="5"] [ext_resource type="Texture2D" uid="uid://dntvnke4pcqqf" path="res://icon.png" id="6"] [ext_resource type="Texture2D" uid="uid://bxfuae46y2fdc" path="res://material_maker/windows/about/youtube.png" id="7"] @@ -15,6 +14,7 @@ [node name="About" type="Window"] title = "About Material Maker" +position = Vector2i(0, 36) size = Vector2i(600, 500) script = ExtResource("1") @@ -63,45 +63,30 @@ layout_mode = 2 layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 6 -text = "© 2018-2023 Rodolphe Suescun and contributors" +text = "© 2018-2024 Rodolphe Suescun and contributors" [node name="VBoxContainer" type="TabContainer" parent="HBoxContainer/VBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 tab_alignment = 1 +current_tab = 0 [node name="Authors" type="ScrollContainer" parent="HBoxContainer/VBoxContainer/VBoxContainer"] layout_mode = 2 +metadata/_tab_index = 0 [node name="List" type="GridContainer" parent="HBoxContainer/VBoxContainer/VBoxContainer/Authors"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 +theme_override_constants/h_separation = 16 columns = 2 -[node name="Godot" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/VBoxContainer/Authors/List"] -layout_mode = 2 - -[node name="Godot" type="TextureButton" parent="HBoxContainer/VBoxContainer/VBoxContainer/Authors/List/Godot"] -custom_minimum_size = Vector2(32, 32) -layout_mode = 2 -mouse_default_cursor_shape = 2 -texture_normal = ExtResource("4") -stretch_mode = 4 - -[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/VBoxContainer/Authors/List/Godot"] -layout_mode = 2 -text = " Godot Engine" - -[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/VBoxContainer/Authors/List"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "99% of Material Maker's code is the awesome Godot Engine" - [node name="Donors" type="ScrollContainer" parent="HBoxContainer/VBoxContainer/VBoxContainer"] visible = false layout_mode = 2 +metadata/_tab_index = 1 [node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/VBoxContainer/Donors"] layout_mode = 2 @@ -152,6 +137,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." wrap_mode = 1 +metadata/_tab_index = 2 [node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer"] layout_mode = 2 @@ -248,7 +234,6 @@ texture_normal = ExtResource("9") stretch_mode = 4 [connection signal="close_requested" from="." to="." method="queue_free"] -[connection signal="pressed" from="HBoxContainer/VBoxContainer/VBoxContainer/Authors/List/Godot/Godot" to="." method="open_url" binds= ["https://godotengine.org/"]] [connection signal="pressed" from="HBoxContainer/SocialNetworks/Patreon" to="." method="open_url" binds= ["https://www.patreon.com/rodzlabs"]] [connection signal="pressed" from="HBoxContainer/SocialNetworks/ItchIo" to="." method="open_url" binds= ["https://rodzilla.itch.io/material-maker"]] [connection signal="pressed" from="HBoxContainer/SocialNetworks/Github" to="." method="open_url" binds= ["https://github.com/RodZill4/godot-procedural-textures"]] From 3d752d95ff5f1ab963f2416ac50e9fc1c6dd6032 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Wed, 11 Dec 2024 21:02:14 +0100 Subject: [PATCH 15/18] Fixes for painting --- .../engine/pipeline/rendering_pipeline.gd | 6 +++--- .../material_maker/engine/shader_material.gd | 6 ++++-- material_maker/panels/paint/paint.gd | 4 ++-- material_maker/tools/painter/painter.gd | 21 ++++++++++--------- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/addons/material_maker/engine/pipeline/rendering_pipeline.gd b/addons/material_maker/engine/pipeline/rendering_pipeline.gd index 5b26d647e..31e4369a1 100644 --- a/addons/material_maker/engine/pipeline/rendering_pipeline.gd +++ b/addons/material_maker/engine/pipeline/rendering_pipeline.gd @@ -5,7 +5,6 @@ class_name MMRenderingPipeline var shader : RID = RID() var index_count : int = 0 -var clearColors : PackedColorArray = PackedColorArray([Color.TRANSPARENT]) func create_framebuffer(rd : RenderingDevice, texture_rid : RID, depth_rid : RID = RID()) -> RID: @@ -72,8 +71,9 @@ func in_thread_render(size : Vector2i, texture_type : int, target_texture : MMTe # pre dev6 #var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, clearColors) # dev6 - #var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, clearColors, true, 0.0, Rect2(), RenderingDevice.OPAQUE_PASS) - var draw_list : int = rd.draw_list_begin(framebuffer, RenderingDevice.INITIAL_ACTION_CLEAR, clearColors, 1.0, 0) + var clear_colors : PackedColorArray = PackedColorArray([Color(0, 0, 0, 0), Color(0, 0, 0, 0), Color(0, 0, 0, 0)]) + var draw_flags : int = RenderingDevice.DRAW_CLEAR_COLOR_ALL | RenderingDevice.DRAW_IGNORE_COLOR_ALL | RenderingDevice.DRAW_CLEAR_DEPTH | RenderingDevice.DRAW_IGNORE_DEPTH + var draw_list : int = rd.draw_list_begin(framebuffer, draw_flags, clear_colors, 1.0, 0) rd.draw_list_bind_render_pipeline(draw_list, pipeline) diff --git a/addons/material_maker/engine/shader_material.gd b/addons/material_maker/engine/shader_material.gd index 7a8e5a999..d92623105 100644 --- a/addons/material_maker/engine/shader_material.gd +++ b/addons/material_maker/engine/shader_material.gd @@ -12,8 +12,10 @@ func _init(m : ShaderMaterial = null): if material.shader == null: material.shader = Shader.new() -func set_shader(shader : String) -> bool: - material.shader.code = shader +func set_shader(shader_code : String) -> bool: + var shader : Shader = Shader.new() + shader.code = shader_code + material.shader = shader return true func get_parameters() -> Dictionary: diff --git a/material_maker/panels/paint/paint.gd b/material_maker/panels/paint/paint.gd index 6ae7885d2..d9fb32546 100644 --- a/material_maker/panels/paint/paint.gd +++ b/material_maker/panels/paint/paint.gd @@ -458,7 +458,7 @@ func handle_stroke_input(ev : InputEvent, painting_mode : int = PAINTING_MODE_VI painter_update_brush_params( { pattern_scale=brush_parameters.pattern_scale, pattern_angle=brush_parameters.pattern_angle } ) %BrushAngle.set_value(brush_parameters.pattern_angle*57.2957795131) elif current_tool == MODE_FREEHAND_DOTS or current_tool == MODE_FREEHAND_LINE: - paint(mouse_position, pressure, ev.tilt, painting_mode) + await paint(mouse_position, pressure, ev.tilt, painting_mode) last_tilt = ev.tilt painter_update_brush_params( { brush_size=brush_parameters.brush_size, brush_hardness=brush_parameters.brush_hardness } ) else: @@ -684,7 +684,7 @@ func paint(pos : Vector2, pressure : float = 1.0, tilt : Vector2 = Vector2(0, 0) return if current_tool == MODE_FREEHAND_DOTS: previous_position = null - do_paint(pos, pressure, tilt, painting_mode, end_of_stroke, layers.selected_layer.get_layer_type() == MMLayer.LAYER_MASK) + await do_paint(pos, pressure, tilt, painting_mode, end_of_stroke, layers.selected_layer.get_layer_type() == MMLayer.LAYER_MASK) last_painted_position = pos var next_paint_to = null diff --git a/material_maker/tools/painter/painter.gd b/material_maker/tools/painter/painter.gd index 56c435107..d19f813f1 100644 --- a/material_maker/tools/painter/painter.gd +++ b/material_maker/tools/painter/painter.gd @@ -163,8 +163,7 @@ func _ready(): initialized = true - update_view_textures() - + await update_view_textures() func update_view_textures(): if not initialized or mesh == null or viewport_size.x <= 0 or viewport_size.y <= 0: @@ -185,18 +184,18 @@ func update_view_textures(): t2v_texture.get_texture() func update_textures() -> void: - await MMMapGenerator.generate(mesh, "seams", texture_size, mesh_seams_tex) + mesh_seams_tex = await MMMapGenerator.get_map(mesh, "seams", texture_size) await mesh_seams_tex.get_texture() - update_view_textures() + await update_view_textures() # position texture - await MMMapGenerator.generate(mesh, "position", texture_size, mesh_position_tex) + mesh_position_tex = await MMMapGenerator.get_map(mesh, "position", texture_size) # normal texture - await MMMapGenerator.generate(mesh, "normal", texture_size, mesh_normal_tex) + mesh_normal_tex = await MMMapGenerator.get_map(mesh, "normal", texture_size) # tangent texture - await MMMapGenerator.generate(mesh, "tangent", texture_size, mesh_tangent_tex) + mesh_tangent_tex = await MMMapGenerator.get_map(mesh, "tangent", texture_size) mesh_aabb = mesh.get_aabb() func set_mesh(m : Mesh): @@ -329,6 +328,7 @@ func update_brush_params(shader_params : Dictionary) -> void: if brush_preview_material != null: if brush_params[p] is MMTexture: print("Setting texture") + brush_preview_material.set_shader_parameter(p, await brush_params[p].get_texture()) else: brush_preview_material.set_shader_parameter(p, brush_params[p]) paint_shader.set_parameter(p, shader_params[p]) @@ -353,6 +353,7 @@ func update_brush(update_shaders : bool = false): var brush_shader_file : String = "res://material_maker/tools/painter/shaders/brush.gdshader" var output_code : Dictionary = get_output_code(1) update_shader("painter_%d:brush" % get_instance_id(), brush_preview_material, brush_shader_file, { BRUSH_MODE="\""+get_brush_mode()+"\"", GENERATED_CODE = output_code.code }, output_code.uniforms) + print(brush_preview_material.shader.code) brush_preview_material.set_shader_parameter("rect_size", viewport_size) brush_preview_material.set_shader_parameter("view2tex_tex", await v2t_texture.get_texture()) brush_preview_material.set_shader_parameter("mesh_inv_uv_tex", await mesh_position_tex.get_texture()) @@ -584,9 +585,9 @@ func paint(shader_params : Dictionary, end_of_stroke : bool = false, emit_end_of paint_shader.set_parameter(n, shader_params[p], true) await paint_shader.render_ext(paint_textures, Vector2i(texture_size, texture_size)) for i in range(paint_textures.size()/3): - if OS.is_debug_build(): + if false and OS.is_debug_build(): paint_textures[i*3+1].get_texture() # Update stroke texture - paint_textures[i*3+2].get_texture() # Update painted texture + await paint_textures[i*3+2].get_texture() # Update painted texture emit_signal("painted") if end_of_stroke and emit_end_of_stroke: for i in range(paint_textures.size()/3): @@ -607,7 +608,7 @@ func paint(shader_params : Dictionary, end_of_stroke : bool = false, emit_end_of emit_signal("end_of_stroke", stroke_state) func fill(erase : bool, reset : bool = false, emit_end_of_stroke : bool = true) -> void: - paint({ brush_pos=Vector2(0, 0), brush_ppos=Vector2(0, 0), erase=erase, pressure=1.0, fill=true, reset=reset }, true, emit_end_of_stroke) + await paint({ brush_pos=Vector2(0, 0), brush_ppos=Vector2(0, 0), erase=erase, pressure=1.0, fill=true, reset=reset }, true, emit_end_of_stroke) func view_to_texture(position : Vector2) -> Vector2: if view_to_texture_image == null: From ad13e468717c6492ca8b4ee0d702795e4d0ea1da Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Thu, 12 Dec 2024 21:51:54 +0100 Subject: [PATCH 16/18] More Godot 4.4 related fixes --- .../engine/nodes/gen_material.gd | 2 +- addons/material_maker/engine/renderer.gd | 7 +++--- material_maker/nodes/debug/debug_popup.gd | 4 +++- .../panels/preview_2d/preview_2d.gd | 5 +++-- .../panels/reference/gradient_slot.gd | 14 +++++++----- .../widgets/gradient_editor/gradient_edit.gd | 22 ++++++++++--------- .../export_animation/export_animation.gd | 10 ++++++--- .../load_from_website/load_from_website.gd | 8 +++++-- 8 files changed, 44 insertions(+), 28 deletions(-) diff --git a/addons/material_maker/engine/nodes/gen_material.gd b/addons/material_maker/engine/nodes/gen_material.gd index 629a21f94..f4fca6b12 100644 --- a/addons/material_maker/engine/nodes/gen_material.gd +++ b/addons/material_maker/engine/nodes/gen_material.gd @@ -170,7 +170,7 @@ func update_materials(material_list, sequential : bool = false) -> void: func update_material(m, sequential : bool = false) -> void: if m is ShaderMaterial: - m.shader.code = preview_material.shader.code + m.shader = preview_material.shader for p in preview_parameters.keys(): m.set_shader_parameter(p, preview_parameters[p]) diff --git a/addons/material_maker/engine/renderer.gd b/addons/material_maker/engine/renderer.gd index 99e2fb172..8363df90b 100644 --- a/addons/material_maker/engine/renderer.gd +++ b/addons/material_maker/engine/renderer.gd @@ -86,10 +86,11 @@ func render_material(object : Object, material : Material, render_size : int, wi $ColorRect.material = null return self -func render_shader(object : Object, shader : String, render_size : int, with_hdr : bool = true) -> Object: +func render_shader(object : Object, shader_code : String, render_size : int, with_hdr : bool = true) -> Object: var shader_material = ShaderMaterial.new() - shader_material.shader = Shader.new() - shader_material.shader.code = shader + var shader : Shader = Shader.new() + shader.code = shader_code + shader_material.shader = shader mm_deps.material_update_params(MMShaderMaterial.new(shader_material)) var status = await render_material(object, shader_material, render_size, with_hdr) return self diff --git a/material_maker/nodes/debug/debug_popup.gd b/material_maker/nodes/debug/debug_popup.gd index 097b16c3d..f6db04b19 100644 --- a/material_maker/nodes/debug/debug_popup.gd +++ b/material_maker/nodes/debug/debug_popup.gd @@ -19,7 +19,9 @@ func _on_ShaderType_item_selected(index): else: $VBoxContainer/Code.visible = false $VBoxContainer/ColorRect.visible = true - $VBoxContainer/ColorRect.material.shader.code = generate_godot_canvasitem() + var shader : Shader = Shader.new() + shader.code = generate_godot_canvasitem() + $VBoxContainer/ColorRect.material.shader = shader func _on_CopyToClipboard_pressed(): DisplayServer.clipboard_set($VBoxContainer/Code.text) diff --git a/material_maker/panels/preview_2d/preview_2d.gd b/material_maker/panels/preview_2d/preview_2d.gd index eb6bf80c3..cb30c354a 100644 --- a/material_maker/panels/preview_2d/preview_2d.gd +++ b/material_maker/panels/preview_2d/preview_2d.gd @@ -192,8 +192,9 @@ func create_image(renderer_function : String, params : Array, image_size : int) source = MMGenBase.get_default_generated_shader() # Update shader var tmp_material = ShaderMaterial.new() - tmp_material.shader = Shader.new() - tmp_material.shader.code = MMGenBase.generate_preview_shader(source, source.output_type, "uniform vec2 mm_texture_size;\nuniform float mm_chunk_size = 1.0;\nuniform vec2 mm_chunk_offset = vec2(0.0);\nvoid fragment() {COLOR = preview_2d(mm_chunk_offset+mm_chunk_size*UV);}") + var shader : Shader = Shader.new() + shader.code = MMGenBase.generate_preview_shader(source, source.output_type, "uniform vec2 mm_texture_size;\nuniform float mm_chunk_size = 1.0;\nuniform vec2 mm_chunk_offset = vec2(0.0);\nvoid fragment() {COLOR = preview_2d(mm_chunk_offset+mm_chunk_size*UV);}") + tmp_material.shader = shader for u in source.uniforms: tmp_material.set_shader_parameter(u.name, u.value) mm_deps.material_update_params(MMShaderMaterial.new(tmp_material)) diff --git a/material_maker/panels/reference/gradient_slot.gd b/material_maker/panels/reference/gradient_slot.gd index 2b0b0edc9..9ea8a49e8 100644 --- a/material_maker/panels/reference/gradient_slot.gd +++ b/material_maker/panels/reference/gradient_slot.gd @@ -7,12 +7,14 @@ signal clicked func set_gradient(g) -> void: gradient = g - var shader := "" - shader = "shader_type canvas_item;\n" - shader += gradient.get_shader_params("") - shader += gradient.get_shader("") - shader += "void fragment() { COLOR = _gradient_fct(UV.x); }" - $ColorRect.material.shader.code = shader + var shader_code : String = "" + shader_code = "shader_type canvas_item;\n" + shader_code += gradient.get_shader_params("") + shader_code += gradient.get_shader("") + shader_code += "void fragment() { COLOR = _gradient_fct(UV.x); }" + var shader : Shader = Shader.new() + shader.code = shader_code + $ColorRect.material.shader = shader update_shader_parameters() diff --git a/material_maker/widgets/gradient_editor/gradient_edit.gd b/material_maker/widgets/gradient_editor/gradient_edit.gd index eff34af4d..8676fc43f 100644 --- a/material_maker/widgets/gradient_editor/gradient_edit.gd +++ b/material_maker/widgets/gradient_editor/gradient_edit.gd @@ -32,9 +32,9 @@ var active_cursor := 0: # Reference of the preview cursor (when dropping in a color) var preview_cursor: GradientEditCursor = null # Reference to the popup -var popup: Control = null +var popup : Control = null -var hovered := false +var hovered : bool = false func _ready() -> void: @@ -178,27 +178,29 @@ func add_cursor(offset, color) -> GradientEditCursor: func update_shader() -> void: if value == null: return - var shader := "" - shader = "shader_type canvas_item;\n" - shader += value.get_shader_params("") - shader += """ + var shader_code := "" + shader_code = "shader_type canvas_item;\n" + shader_code += value.get_shader_params("") + shader_code += """ uniform vec2 size = vec2(25.0, 25.0); uniform vec3 background_color_1 = vec3(0.4); uniform vec3 background_color_2 = vec3(0.6); """ - shader += value.get_shader("") - shader += """void fragment() { + shader_code += value.get_shader("") + shader_code += """void fragment() { vec2 uv = UV*size; float checkerboard = mod(floor(uv.x*0.2)+floor(uv.y*0.2), 2.0); vec4 gradient = _gradient_fct(UV.x); vec3 gradient_with_checkerboard = mix(mix(background_color_1, background_color_2, checkerboard).rgb, gradient.rgb, gradient.a); if (UV.y < 0.75){ COLOR.rgb = gradient_with_checkerboard; - }else{ + } else { COLOR.rgb = gradient.rgb; } }""" - %Gradient.material.shader.set_code(shader) + var shader : Shader = Shader.new() + shader.code = shader_code + %Gradient.material.shader = shader update_shader_parameters() diff --git a/material_maker/windows/export_animation/export_animation.gd b/material_maker/windows/export_animation/export_animation.gd index 9cae6cdb2..d5c620d2e 100644 --- a/material_maker/windows/export_animation/export_animation.gd +++ b/material_maker/windows/export_animation/export_animation.gd @@ -42,12 +42,16 @@ func set_source(g, o): var ends_code = code; ends_code = ends_code.replace("varying float elapsed_time;", "uniform float elapsed_time;"); ends_code = ends_code.replace("elapsed_time = TIME;", ""); - image_begin.material.shader.code = ends_code - image_end.material.shader.code = ends_code + var ends_shader : Shader = Shader.new() + ends_shader.code = ends_code + image_begin.material.shader = ends_shader + image_end.material.shader = ends_shader var anim_code = code; anim_code = anim_code.replace("varying float elapsed_time;", "uniform float begin;\nuniform float end;\nvarying float elapsed_time;"); anim_code = anim_code.replace("elapsed_time = TIME;", "elapsed_time = (begin == end) ? begin : begin+sign(end-begin)*mod(TIME, abs(end-begin));"); - image_anim.material.shader.code = anim_code + var anim_shader : Shader = Shader.new() + anim_shader.code = anim_code + image_anim.material.shader = anim_shader for u in source.uniforms: image_begin.material.set_shader_parameter(u.name, u.value) image_anim.material.set_shader_parameter(u.name, u.value) diff --git a/material_maker/windows/load_from_website/load_from_website.gd b/material_maker/windows/load_from_website/load_from_website.gd index 9287487b1..365da7cb6 100644 --- a/material_maker/windows/load_from_website/load_from_website.gd +++ b/material_maker/windows/load_from_website/load_from_website.gd @@ -83,7 +83,9 @@ func select_asset(type : int = 0, return_index : bool = false) -> Dictionary: var image : Image = Image.create(256, 256, false, Image.FORMAT_RGBA8) for i in range(tmp_assets.size()): var m = tmp_assets[i] - if int(m.type) & 15 == type: + m.id = int(m.id) + m.type = int(m.type) + if m.type & 15 == type: m.texture = ImageTexture.new() m.texture.set_image(image) assets.push_back(m) @@ -109,9 +111,11 @@ func update_thumbnails() -> void: var cache_filename : String = "user://website_cache/thumbnail_%d.png" % m.id var image : Image = Image.new() if ! FileAccess.file_exists(cache_filename) or image.load(cache_filename) != OK: - var error = $ImageHTTPRequest.request(MMPaths.WEBSITE_ADDRESS+"/data/materials/material_"+str(m.id)+".webp") + var address : String = MMPaths.WEBSITE_ADDRESS+"/data/materials/material_"+str(m.id)+".webp" + var error = $ImageHTTPRequest.request(address) if error == OK: var data : PackedByteArray = (await $ImageHTTPRequest.request_completed)[3] + print(data.get_string_from_ascii()) image.load_webp_from_buffer(data) image.save_png(cache_filename) else: From 82317215285764ad1b1470e9fa83cb132b9aa7af Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Fri, 13 Dec 2024 20:45:49 +0100 Subject: [PATCH 17/18] Moved mesh map generation to rendering thread --- .../engine/pipeline/compute_shader.gd | 5 +- .../engine/pipeline/rendering_pipeline.gd | 3 +- .../map_generator/map_generator.gd | 54 ++++++++----------- addons/material_maker/map_generator/test.gd | 2 +- addons/material_maker/map_generator/test.tscn | 2 +- 5 files changed, 28 insertions(+), 38 deletions(-) diff --git a/addons/material_maker/engine/pipeline/compute_shader.gd b/addons/material_maker/engine/pipeline/compute_shader.gd index 057a6d0a0..8c649af0d 100644 --- a/addons/material_maker/engine/pipeline/compute_shader.gd +++ b/addons/material_maker/engine/pipeline/compute_shader.gd @@ -44,7 +44,7 @@ func get_output_texture_declarations() -> String: return texture_declarations func set_shader(string : String, output_texture_type : int, replaces : Dictionary = {}) -> bool: - return await set_shader_ext(string, [{name="OUTPUT_TEXTURE", type=output_texture_type}], replaces) + return set_shader_ext(string, [{name="OUTPUT_TEXTURE", type=output_texture_type}], replaces) func set_shader_ext(string : String, output_textures_desc : Array[Dictionary] = [], replaces : Dictionary = {}) -> bool: output_textures = [] @@ -63,9 +63,8 @@ func set_shader_ext(string : String, output_textures_desc : Array[Dictionary] = replaces["@DECLARATIONS"] += get_input_texture_declarations()+"\n" replaces["@DECLARATIONS"] += get_output_parameters_declarations()+"\n" - var rd : RenderingDevice = await mm_renderer.request_rendering_device(self) + var rd : RenderingDevice = mm_renderer.rendering_device shader = do_compile_shader(rd, { compute=string }, replaces) - mm_renderer.release_rendering_device(self) return shader.is_valid() func set_parameters_from_shadercode(shader_code : MMGenBase.ShaderCode, parameters_as_constants : bool = false): diff --git a/addons/material_maker/engine/pipeline/rendering_pipeline.gd b/addons/material_maker/engine/pipeline/rendering_pipeline.gd index 31e4369a1..db36e7b67 100644 --- a/addons/material_maker/engine/pipeline/rendering_pipeline.gd +++ b/addons/material_maker/engine/pipeline/rendering_pipeline.gd @@ -27,9 +27,8 @@ func draw_list_extra_setup(rd : RenderingDevice, draw_list : int, shader : RID, func set_shader(vertex_source : String, fragment_source : String, replaces : Dictionary = {}) -> bool: replaces["@DECLARATIONS"] = get_uniform_declarations()+"\n"+get_input_texture_declarations() - var rd : RenderingDevice = await mm_renderer.request_rendering_device(self) + var rd : RenderingDevice = mm_renderer.rendering_device shader = do_compile_shader(rd, { vertex=vertex_source, fragment=fragment_source }, replaces) - mm_renderer.release_rendering_device(self) return shader.is_valid() func in_thread_render(size : Vector2i, texture_type : int, target_texture : MMTexture, with_depth : bool = false): diff --git a/addons/material_maker/map_generator/map_generator.gd b/addons/material_maker/map_generator/map_generator.gd index cac06950b..5fe63e08f 100644 --- a/addons/material_maker/map_generator/map_generator.gd +++ b/addons/material_maker/map_generator/map_generator.gd @@ -106,14 +106,14 @@ class UIProgress: static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture): assert(mesh != null) - print("Generating %s map for mesh %s" % [ map, str(mesh) ]) + print.call_deferred("Generating %s map for mesh %s" % [ map, str(mesh) ]) var progress if mm_globals.main_window: progress = UIProgress.new() else: progress = DefaultProgress.new() - progress.set_text("Generating "+map+" map") - progress.set_progress(0) + progress.set_text.call_deferred("Generating "+map+" map") + progress.set_progress.call_deferred(0) var pixels : int = size/4 var map_definition : Dictionary = MAP_DEFINITIONS[map] var mesh_pipeline : MMMeshRenderingPipeline = MMMeshRenderingPipeline.new() @@ -122,28 +122,18 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) match map_definition.type: "simple": mesh_pipeline.mesh = mesh - await mesh_pipeline.set_shader(vertex_shader, fragment_shader) - await mesh_pipeline.render(Vector2i(size, size), 3, texture) + mesh_pipeline.set_shader(vertex_shader, fragment_shader) + mesh_pipeline.in_thread_render(Vector2i(size, size), 3, texture) "curvature": var curvature_generator : MMCurvatureGenerator = MMCurvatureGenerator.new() - var thread : Thread = Thread.new() - thread.start(curvature_generator.generate.bind(mesh)) - while thread.is_alive(): - await mm_globals.get_tree().process_frame - progress.set_progress(curvature_generator.get_progress()) - mesh_pipeline.mesh = thread.wait_to_finish() - await mesh_pipeline.set_shader(vertex_shader, fragment_shader) - await mesh_pipeline.render(Vector2i(size, size), 3, texture) + mesh_pipeline.mesh = curvature_generator.generate(mesh) + mesh_pipeline.set_shader(vertex_shader, fragment_shader) + mesh_pipeline.in_thread_render(Vector2i(size, size), 3, texture) "adjacency": var adjacency_generator : MMAdjacencyGenerator = MMAdjacencyGenerator.new() - var thread : Thread = Thread.new() - thread.start(adjacency_generator.generate.bind(mesh)) - while thread.is_alive(): - await mm_globals.get_tree().process_frame - progress.set_progress(adjacency_generator.get_progress()) - mesh_pipeline.mesh = thread.wait_to_finish() - await mesh_pipeline.set_shader(vertex_shader, fragment_shader) - await mesh_pipeline.render(Vector2i(size, size), 3, texture) + mesh_pipeline.mesh = adjacency_generator.generate(mesh) + mesh_pipeline.set_shader(vertex_shader, fragment_shader) + mesh_pipeline.in_thread_render(Vector2i(size, size), 3, texture) "bvh": mesh_pipeline.mesh = mesh var bvh : MMTexture = MMTexture.new() @@ -161,18 +151,18 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) await mesh_pipeline.set_shader(vertex_shader, fragment_shader) print("Casting %d rays..." % ray_count) for i in range(ray_count): - progress.set_progress(float(i)/ray_count) + progress.set_progress.call_deferred(float(i)/ray_count) mesh_pipeline.set_parameter("iteration", i+1) mesh_pipeline.set_parameter("prev_iteration_tex", texture) - await mesh_pipeline.render(Vector2i(size, size), 3, texture) + mesh_pipeline.in_thread_render(Vector2i(size, size), 3, texture) if map == "bent_normals": print("Normalizing...") var normalize_pipeline : MMComputeShader = MMComputeShader.new() normalize_pipeline.clear() normalize_pipeline.add_parameter_or_texture("tex", "sampler2D", texture) - await normalize_pipeline.set_shader(load("res://addons/material_maker/map_generator/normalize_compute.tres").text, 3) - await normalize_pipeline.render(texture, Vector2i(size, size)) + normalize_pipeline.set_shader(load("res://addons/material_maker/map_generator/normalize_compute.tres").text, 3) + normalize_pipeline.in_thread_render_ext([texture], Vector2i(size, size)) # Denoise if true: @@ -181,8 +171,8 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) denoise_pipeline.clear() denoise_pipeline.add_parameter_or_texture("tex", "sampler2D", texture) denoise_pipeline.add_parameter_or_texture("radius", "int", 3) - await denoise_pipeline.set_shader(load("res://addons/material_maker/map_generator/denoise_compute.tres").text, 3) - await denoise_pipeline.render(texture, Vector2i(size, size)) + denoise_pipeline.set_shader(load("res://addons/material_maker/map_generator/denoise_compute.tres").text, 3) + denoise_pipeline.in_thread_render_ext([texture], Vector2i(size, size)) # Extend the map past seams if pixels > 0 and map_definition.has("postprocess"): @@ -198,11 +188,12 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) "adjacency_dilate", "dilate": var seams_map : MMTexture = mesh_maps[mesh]["seams:"+str(size)] postprocess_pipeline.add_parameter_or_texture("seams_map", "sampler2D", seams_map) - await postprocess_pipeline.set_shader(load("res://addons/material_maker/map_generator/"+p+"_compute.tres").text, 3) - await postprocess_pipeline.render(texture, Vector2i(size, size)) + var shader_string : String = load("res://addons/material_maker/map_generator/"+p+"_compute.tres").text + postprocess_pipeline.set_shader(shader_string, 3) + postprocess_pipeline.in_thread_render_ext([texture], Vector2i(size, size)) #texture.save_to_file("d:/debug_%d.png" % debug_index) debug_index += 1 - progress.set_progress(1.0) + progress.set_progress.call_deferred(1.0) static var busy : bool = false @@ -230,7 +221,8 @@ static func get_map(mesh : Mesh, map : String, size : int = 2048, force_generate else: busy = true var texture : MMTexture = MMTexture.new() - await generate(mesh, map, size, texture) + await mm_renderer.thread_run(generate, [mesh, map, size, texture]) + print("generated texture ", texture) mesh_maps[mesh][field_name] = texture busy = false return mesh_maps[mesh][field_name] as MMTexture diff --git a/addons/material_maker/map_generator/test.gd b/addons/material_maker/map_generator/test.gd index 9aed18895..fc0506e40 100644 --- a/addons/material_maker/map_generator/test.gd +++ b/addons/material_maker/map_generator/test.gd @@ -14,7 +14,7 @@ func _ready(): func show_map(map_name : String): var mesh = load("res://material_maker/meshes/suzanne.obj") - var t : MMTexture = await MMMapGenerator.get_map(mesh, map_name, true) + var t : MMTexture = await MMMapGenerator.get_map(mesh, map_name, 512, true) texture = await t.get_texture() func _on_maps_item_selected(index): diff --git a/addons/material_maker/map_generator/test.tscn b/addons/material_maker/map_generator/test.tscn index 07a5984b2..6dc871294 100644 --- a/addons/material_maker/map_generator/test.tscn +++ b/addons/material_maker/map_generator/test.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://boy8werx31h7b"] -[ext_resource type="Script" path="res://addons/material_maker/map_generator/test.gd" id="1_h34mq"] +[ext_resource type="Script" uid="uid://7f38moq6kxet" path="res://addons/material_maker/map_generator/test.gd" id="1_h34mq"] [node name="test" type="TextureRect"] anchors_preset = 15 From ff608cc3ec60f66ec615ef02f998257ffb3db0a5 Mon Sep 17 00:00:00 2001 From: Rodz Labs Date: Sun, 15 Dec 2024 21:26:06 +0100 Subject: [PATCH 18/18] More Godot 4.4 related fixes --- addons/material_maker/engine/dependencies.gd | 6 ++++-- .../material_maker/engine/nodes/gen_iterate_buffer.gd | 2 +- addons/material_maker/map_generator/map_generator.gd | 11 +++++------ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/addons/material_maker/engine/dependencies.gd b/addons/material_maker/engine/dependencies.gd index aed4e28a0..2fe9961c2 100644 --- a/addons/material_maker/engine/dependencies.gd +++ b/addons/material_maker/engine/dependencies.gd @@ -129,8 +129,10 @@ func dependency_update(dependency_name : String, value = null, internal : bool = var b : Buffer = buffers[dependency_name] match b.status: Buffer.Invalidated: - print_debug("Buffer %s (updating) should not be invalidated status" % dependency_name) - is_buffer_just_updated = true + #print_debug("Buffer %s (updating) should not be invalidated" % dependency_name) + #is_buffer_just_updated = true + update() + return Buffer.UpdatingInvalidated: #print_debug("Buffer %s (updating) reset to invalidated status" % dependency_name) b.status = Buffer.Invalidated diff --git a/addons/material_maker/engine/nodes/gen_iterate_buffer.gd b/addons/material_maker/engine/nodes/gen_iterate_buffer.gd index 82dde0195..fd4d57673 100644 --- a/addons/material_maker/engine/nodes/gen_iterate_buffer.gd +++ b/addons/material_maker/engine/nodes/gen_iterate_buffer.gd @@ -20,7 +20,7 @@ var iteration_param_name : String var used_named_parameters : Array = [] -func _ready(): +func _init(): #texture.flags = Texture2D.FLAG_REPEAT shader_computes.append(MMShaderCompute.new()) shader_computes.append(MMShaderCompute.new()) diff --git a/addons/material_maker/map_generator/map_generator.gd b/addons/material_maker/map_generator/map_generator.gd index 5fe63e08f..69993c798 100644 --- a/addons/material_maker/map_generator/map_generator.gd +++ b/addons/material_maker/map_generator/map_generator.gd @@ -149,7 +149,7 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) mesh_pipeline.add_parameter_or_texture("iteration", "int", 1) mesh_pipeline.add_parameter_or_texture("mode", "int", map_definition.mode) await mesh_pipeline.set_shader(vertex_shader, fragment_shader) - print("Casting %d rays..." % ray_count) + print.call_deferred("Casting %d rays..." % ray_count) for i in range(ray_count): progress.set_progress.call_deferred(float(i)/ray_count) mesh_pipeline.set_parameter("iteration", i+1) @@ -157,7 +157,7 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) mesh_pipeline.in_thread_render(Vector2i(size, size), 3, texture) if map == "bent_normals": - print("Normalizing...") + print.call_deferred("Normalizing...") var normalize_pipeline : MMComputeShader = MMComputeShader.new() normalize_pipeline.clear() normalize_pipeline.add_parameter_or_texture("tex", "sampler2D", texture) @@ -166,7 +166,7 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) # Denoise if true: - print("Denoising...") + print.call_deferred("Denoising...") var denoise_pipeline : MMComputeShader = MMComputeShader.new() denoise_pipeline.clear() denoise_pipeline.add_parameter_or_texture("tex", "sampler2D", texture) @@ -176,7 +176,7 @@ static func generate(mesh : Mesh, map : String, size : int, texture : MMTexture) # Extend the map past seams if pixels > 0 and map_definition.has("postprocess"): - print("Postprocessing...") + print.call_deferred("Postprocessing...") #texture.save_to_file("d:/debug_x_%d.png" % debug_index) debug_index += 1 for p in map_definition.postprocess: @@ -214,7 +214,7 @@ static func get_map(mesh : Mesh, map : String, size : int = 2048, force_generate if MAP_DEFINITIONS[map].has("dependencies"): for d in MAP_DEFINITIONS[map].dependencies: await get_map(mesh, d, size) - print("Creating map ", field_name, " for mesh ", mesh) + #print("Creating map ", field_name, " for mesh ", mesh) while not mesh_maps[mesh].has(field_name): if busy: await mm_globals.get_tree().process_frame @@ -222,7 +222,6 @@ static func get_map(mesh : Mesh, map : String, size : int = 2048, force_generate busy = true var texture : MMTexture = MMTexture.new() await mm_renderer.thread_run(generate, [mesh, map, size, texture]) - print("generated texture ", texture) mesh_maps[mesh][field_name] = texture busy = false return mesh_maps[mesh][field_name] as MMTexture