New Polar Mirror node.

This commit is contained in:
Tanasart 2024-12-30 15:37:33 +07:00
parent dc2badae83
commit 690f187cf7
31 changed files with 786 additions and 126 deletions

View file

@ -217,6 +217,7 @@
{"name":"blinker","order":2,"path":"folders/shader/generator/blinker.yy",},
{"name":"cell","order":3,"path":"folders/shader/generator/cell.yy",},
{"name":"grid","order":1,"path":"folders/shader/generator/grid.yy",},
{"name":"noise","order":4,"path":"folders/shader/generator/noise.yy",},
{"name":"random_shape","order":5,"path":"folders/shader/generator/random_shape.yy",},
{"name":"reaction_diffusion","order":6,"path":"folders/shader/generator/reaction_diffusion.yy",},
{"name":"region","order":7,"path":"folders/shader/generator/region.yy",},
@ -229,7 +230,6 @@
{"name":"Fracture","order":2,"path":"folders/shader/MK effects/Fracture.yy",},
{"name":"Subpixel","order":3,"path":"folders/shader/MK effects/Subpixel.yy",},
{"name":"Tile","order":1,"path":"folders/shader/MK effects/Tile.yy",},
{"name":"noise","order":4,"path":"folders/shader/generator/noise.yy",},
{"name":"pixel_builder","order":13,"path":"folders/shader/pixel_builder.yy",},
{"name":"ray march","order":17,"path":"folders/shader/ray march.yy",},
{"name":"sprites","order":14,"path":"folders/shader/sprites.yy",},
@ -699,7 +699,7 @@
{"name":"node_3d_transform","order":6,"path":"scripts/node_3d_transform/node_3d_transform.yy",},
{"name":"node_3d_uv_remap","order":5,"path":"scripts/node_3d_uv_remap/node_3d_uv_remap.yy",},
{"name":"node_3dsurf","order":4,"path":"scripts/node_3dsurf/node_3dsurf.yy",},
{"name":"node_9slice","order":5,"path":"scripts/node_9slice/node_9slice.yy",},
{"name":"node_9slice","order":6,"path":"scripts/node_9slice/node_9slice.yy",},
{"name":"node_action_object","order":1,"path":"scripts/node_action_object/node_action_object.yy",},
{"name":"node_active_canvas","order":2,"path":"scripts/node_active_canvas/node_active_canvas.yy",},
{"name":"node_alpha_cutoff","order":10,"path":"scripts/node_alpha_cutoff/node_alpha_cutoff.yy",},
@ -750,20 +750,21 @@
{"name":"node_attributes","order":11,"path":"scripts/node_attributes/node_attributes.yy",},
{"name":"node_audio_loudness","order":1,"path":"scripts/node_audio_loudness/node_audio_loudness.yy",},
{"name":"node_base_convert","order":8,"path":"scripts/node_base_convert/node_base_convert.yy",},
{"name":"node_bend","order":18,"path":"scripts/node_bend/node_bend.yy",},
{"name":"node_bend","order":19,"path":"scripts/node_bend/node_bend.yy",},
{"name":"node_blend_edge","order":19,"path":"scripts/node_blend_edge/node_blend_edge.yy",},
{"name":"node_blend","order":1,"path":"scripts/node_blend/node_blend.yy",},
{"name":"node_blobify","order":1,"path":"scripts/node_blobify/node_blobify.yy",},
{"name":"node_bloom","order":2,"path":"scripts/node_bloom/node_bloom.yy",},
{"name":"node_blur_bokeh","order":3,"path":"scripts/node_blur_bokeh/node_blur_bokeh.yy",},
{"name":"node_blur_box","order":5,"path":"scripts/node_blur_box/node_blur_box.yy",},
{"name":"node_blur_contrast","order":4,"path":"scripts/node_blur_contrast/node_blur_contrast.yy",},
{"name":"node_blur_directional","order":5,"path":"scripts/node_blur_directional/node_blur_directional.yy",},
{"name":"node_blur_path","order":13,"path":"scripts/node_blur_path/node_blur_path.yy",},
{"name":"node_blur_radial","order":6,"path":"scripts/node_blur_radial/node_blur_radial.yy",},
{"name":"node_blur_shape","order":7,"path":"scripts/node_blur_shape/node_blur_shape.yy",},
{"name":"node_blur_simple","order":8,"path":"scripts/node_blur_simple/node_blur_simple.yy",},
{"name":"node_blur_slope","order":9,"path":"scripts/node_blur_slope/node_blur_slope.yy",},
{"name":"node_blur_zoom","order":10,"path":"scripts/node_blur_zoom/node_blur_zoom.yy",},
{"name":"node_blur_directional","order":6,"path":"scripts/node_blur_directional/node_blur_directional.yy",},
{"name":"node_blur_path","order":14,"path":"scripts/node_blur_path/node_blur_path.yy",},
{"name":"node_blur_radial","order":7,"path":"scripts/node_blur_radial/node_blur_radial.yy",},
{"name":"node_blur_shape","order":8,"path":"scripts/node_blur_shape/node_blur_shape.yy",},
{"name":"node_blur_simple","order":9,"path":"scripts/node_blur_simple/node_blur_simple.yy",},
{"name":"node_blur_slope","order":10,"path":"scripts/node_blur_slope/node_blur_slope.yy",},
{"name":"node_blur_zoom","order":11,"path":"scripts/node_blur_zoom/node_blur_zoom.yy",},
{"name":"node_blur","order":2,"path":"scripts/node_blur/node_blur.yy",},
{"name":"node_boolean","order":17,"path":"scripts/node_boolean/node_boolean.yy",},
{"name":"node_box_pattern","order":11,"path":"scripts/node_box_pattern/node_box_pattern.yy",},
@ -799,8 +800,8 @@
{"name":"node_convolution","order":4,"path":"scripts/node_convolution/node_convolution.yy",},
{"name":"node_corner","order":5,"path":"scripts/node_corner/node_corner.yy",},
{"name":"node_counter","order":2,"path":"scripts/node_counter/node_counter.yy",},
{"name":"node_crop_content","order":14,"path":"scripts/node_crop_content/node_crop_content.yy",},
{"name":"node_crop","order":7,"path":"scripts/node_crop/node_crop.yy",},
{"name":"node_crop_content","order":15,"path":"scripts/node_crop_content/node_crop_content.yy",},
{"name":"node_crop","order":8,"path":"scripts/node_crop/node_crop.yy",},
{"name":"node_cross_section","order":13,"path":"scripts/node_cross_section/node_cross_section.yy",},
{"name":"node_csv_file_read","order":6,"path":"scripts/node_csv_file_read/node_csv_file_read.yy",},
{"name":"node_csv_file_write","order":10,"path":"scripts/node_csv_file_write/node_csv_file_write.yy",},
@ -843,7 +844,7 @@
{"name":"node_FLIP_update","order":10,"path":"scripts/node_FLIP_update/node_FLIP_update.yy",},
{"name":"node_FLIP_vortex","order":13,"path":"scripts/node_FLIP_vortex/node_FLIP_vortex.yy",},
{"name":"node_FLIP_wall","order":9,"path":"scripts/node_FLIP_wall/node_FLIP_wall.yy",},
{"name":"node_flip","order":13,"path":"scripts/node_flip/node_flip.yy",},
{"name":"node_flip","order":14,"path":"scripts/node_flip/node_flip.yy",},
{"name":"node_flood_fill","order":3,"path":"scripts/node_flood_fill/node_flood_fill.yy",},
{"name":"node_flow_noise","order":19,"path":"scripts/node_flow_noise/node_flow_noise.yy",},
{"name":"node_fn_constant","order":3,"path":"scripts/node_fn_constant/node_fn_constant.yy",},
@ -855,7 +856,7 @@
{"name":"node_fold_noise","order":15,"path":"scripts/node_fold_noise/node_fold_noise.yy",},
{"name":"node_frame","order":3,"path":"scripts/node_frame/node_frame.yy",},
{"name":"node_functions","order":2,"path":"scripts/node_functions/node_functions.yy",},
{"name":"node_FXAA","order":11,"path":"scripts/node_FXAA/node_FXAA.yy",},
{"name":"node_FXAA","order":12,"path":"scripts/node_FXAA/node_FXAA.yy",},
{"name":"node_gabor_noise","order":12,"path":"scripts/node_gabor_noise/node_gabor_noise.yy",},
{"name":"node_gamma_map","order":15,"path":"scripts/node_gamma_map/node_gamma_map.yy",},
{"name":"node_global","order":3,"path":"scripts/node_global/node_global.yy",},
@ -883,7 +884,7 @@
{"name":"node_group_thumbnail","order":3,"path":"scripts/node_group_thumbnail/node_group_thumbnail.yy",},
{"name":"node_guide","order":9,"path":"scripts/node_guide/node_guide.yy",},
{"name":"node_herringbone_tile","order":7,"path":"scripts/node_herringbone_tile/node_herringbone_tile.yy",},
{"name":"node_high_pass","order":14,"path":"scripts/node_high_pass/node_high_pass.yy",},
{"name":"node_high_pass","order":15,"path":"scripts/node_high_pass/node_high_pass.yy",},
{"name":"node_hlsl","order":13,"path":"scripts/node_hlsl/node_hlsl.yy",},
{"name":"node_honey_noise","order":21,"path":"scripts/node_honey_noise/node_honey_noise.yy",},
{"name":"node_hsv_channel","order":1,"path":"scripts/node_hsv_channel/node_hsv_channel.yy",},
@ -937,6 +938,7 @@
{"name":"node_mesh_transform","order":2,"path":"scripts/node_mesh_transform/node_mesh_transform.yy",},
{"name":"node_mesh_warp","order":8,"path":"scripts/node_mesh_warp/node_mesh_warp.yy",},
{"name":"node_midi_in","order":14,"path":"scripts/node_midi_in/node_midi_in.yy",},
{"name":"node_mirror_polar","order":4,"path":"scripts/node_mirror_polar/node_mirror_polar.yy",},
{"name":"node_mirror","order":3,"path":"scripts/node_mirror/node_mirror.yy",},
{"name":"node_mk_blinker","order":11,"path":"scripts/node_mk_blinker/node_mk_blinker.yy",},
{"name":"node_mk_brownian","order":9,"path":"scripts/node_mk_brownian/node_mk_brownian.yy",},
@ -971,12 +973,12 @@
{"name":"node_normalize","order":17,"path":"scripts/node_normalize/node_normalize.yy",},
{"name":"node_note","order":17,"path":"scripts/node_note/node_note.yy",},
{"name":"node_number","order":1,"path":"scripts/node_number/node_number.yy",},
{"name":"node_offset","order":17,"path":"scripts/node_offset/node_offset.yy",},
{"name":"node_offset","order":18,"path":"scripts/node_offset/node_offset.yy",},
{"name":"node_onion_skin","order":12,"path":"scripts/node_onion_skin/node_onion_skin.yy",},
{"name":"node_outline","order":12,"path":"scripts/node_outline/node_outline.yy",},
{"name":"node_override_channel","order":2,"path":"scripts/node_override_channel/node_override_channel.yy",},
{"name":"node_pack_sprites","order":4,"path":"scripts/node_pack_sprites/node_pack_sprites.yy",},
{"name":"node_padding","order":9,"path":"scripts/node_padding/node_padding.yy",},
{"name":"node_padding","order":10,"path":"scripts/node_padding/node_padding.yy",},
{"name":"node_palette_extract","order":8,"path":"scripts/node_palette_extract/node_palette_extract.yy",},
{"name":"node_palette_replace","order":2,"path":"scripts/node_palette_replace/node_palette_replace.yy",},
{"name":"node_palette_shift","order":13,"path":"scripts/node_palette_shift/node_palette_shift.yy",},
@ -1057,7 +1059,7 @@
{"name":"node_pixel_sort","order":12,"path":"scripts/node_pixel_sort/node_pixel_sort.yy",},
{"name":"node_plot_linear","order":5,"path":"scripts/node_plot_linear/node_plot_linear.yy",},
{"name":"node_point_in_area","order":1,"path":"scripts/node_point_in_area/node_point_in_area.yy",},
{"name":"node_polar","order":4,"path":"scripts/node_polar/node_polar.yy",},
{"name":"node_polar","order":5,"path":"scripts/node_polar/node_polar.yy",},
{"name":"node_posterize","order":13,"path":"scripts/node_posterize/node_posterize.yy",},
{"name":"node_print","order":10,"path":"scripts/node_print/node_print.yy",},
{"name":"node_processor","order":6,"path":"scripts/node_processor/node_processor.yy",},
@ -1094,8 +1096,8 @@
{"name":"node_rm_render","order":6,"path":"scripts/node_rm_render/node_rm_render.yy",},
{"name":"node_rm_terrain","order":2,"path":"scripts/node_rm_terrain/node_rm_terrain.yy",},
{"name":"node_sampler","order":3,"path":"scripts/node_sampler/node_sampler.yy",},
{"name":"node_scale_algo","order":12,"path":"scripts/node_scale_algo/node_scale_algo.yy",},
{"name":"node_scale","order":8,"path":"scripts/node_scale/node_scale.yy",},
{"name":"node_scale_algo","order":13,"path":"scripts/node_scale_algo/node_scale_algo.yy",},
{"name":"node_scale","order":9,"path":"scripts/node_scale/node_scale.yy",},
{"name":"node_scatter_points","order":7,"path":"scripts/node_scatter_points/node_scatter_points.yy",},
{"name":"node_scatter","order":10,"path":"scripts/node_scatter/node_scatter.yy",},
{"name":"node_segment_filter","order":25,"path":"scripts/node_segment_filter/node_segment_filter.yy",},
@ -1108,10 +1110,10 @@
{"name":"node_shard_noise","order":13,"path":"scripts/node_shard_noise/node_shard_noise.yy",},
{"name":"node_shell","order":15,"path":"scripts/node_shell/node_shell.yy",},
{"name":"node_shuffle","order":28,"path":"scripts/node_shuffle/node_shuffle.yy",},
{"name":"node_skew","order":11,"path":"scripts/node_skew/node_skew.yy",},
{"name":"node_skew","order":12,"path":"scripts/node_skew/node_skew.yy",},
{"name":"node_sky","order":16,"path":"scripts/node_sky/node_sky.yy",},
{"name":"node_slideshow","order":28,"path":"scripts/node_slideshow/node_slideshow.yy",},
{"name":"node_smear","order":12,"path":"scripts/node_smear/node_smear.yy",},
{"name":"node_smear","order":13,"path":"scripts/node_smear/node_smear.yy",},
{"name":"node_smoke_add_collider","order":7,"path":"scripts/node_smoke_add_collider/node_smoke_add_collider.yy",},
{"name":"node_smoke_add","order":5,"path":"scripts/node_smoke_add/node_smoke_add.yy",},
{"name":"node_smoke_apply_velocity","order":6,"path":"scripts/node_smoke_apply_velocity/node_smoke_apply_velocity.yy",},
@ -1166,7 +1168,7 @@
{"name":"node_text","order":9,"path":"scripts/node_text/node_text.yy",},
{"name":"node_texture_remap","order":2,"path":"scripts/node_texture_remap/node_texture_remap.yy",},
{"name":"node_threshold","order":9,"path":"scripts/node_threshold/node_threshold.yy",},
{"name":"node_tile_random","order":16,"path":"scripts/node_tile_random/node_tile_random.yy",},
{"name":"node_tile_random","order":17,"path":"scripts/node_tile_random/node_tile_random.yy",},
{"name":"node_tile","order":5,"path":"scripts/node_tile/node_tile.yy",},
{"name":"node_tiler_convert","order":8,"path":"scripts/node_tiler_convert/node_tiler_convert.yy",},
{"name":"node_tiler_export","order":5,"path":"scripts/node_tiler_export/node_tiler_export.yy",},
@ -1266,8 +1268,8 @@
{"name":"node_wavelet_noise","order":14,"path":"scripts/node_wavelet_noise/node_wavelet_noise.yy",},
{"name":"node_websocket_sender","order":1,"path":"scripts/node_websocket_sender/node_websocket_sender.yy",},
{"name":"node_widget_test","order":16,"path":"scripts/node_widget_test/node_widget_test.yy",},
{"name":"node_wrap_area","order":10,"path":"scripts/node_wrap_area/node_wrap_area.yy",},
{"name":"node_wrap_perspective","order":15,"path":"scripts/node_wrap_perspective/node_wrap_perspective.yy",},
{"name":"node_wrap_area","order":11,"path":"scripts/node_wrap_area/node_wrap_area.yy",},
{"name":"node_wrap_perspective","order":16,"path":"scripts/node_wrap_perspective/node_wrap_perspective.yy",},
{"name":"node_xml_file_read","order":18,"path":"scripts/node_xml_file_read/node_xml_file_read.yy",},
{"name":"node_xml_file_write","order":19,"path":"scripts/node_xml_file_write/node_xml_file_write.yy",},
{"name":"node_zigzag","order":5,"path":"scripts/node_zigzag/node_zigzag.yy",},
@ -1434,7 +1436,7 @@
{"name":"sh_alpha_hash","order":2,"path":"shaders/sh_alpha_hash/sh_alpha_hash.yy",},
{"name":"sh_atlas_scan","order":53,"path":"shaders/sh_atlas_scan/sh_atlas_scan.yy",},
{"name":"sh_atlas","order":29,"path":"shaders/sh_atlas/sh_atlas.yy",},
{"name":"sh_bend_arc","order":13,"path":"shaders/sh_bend_arc/sh_bend_arc.yy",},
{"name":"sh_bend_arc","order":14,"path":"shaders/sh_bend_arc/sh_bend_arc.yy",},
{"name":"sh_bevel_highp","order":3,"path":"shaders/sh_bevel_highp/sh_bevel_highp.yy",},
{"name":"sh_bevel","order":2,"path":"shaders/sh_bevel/sh_bevel.yy",},
{"name":"sh_BGR","order":2,"path":"shaders/sh_BGR/sh_BGR.yy",},
@ -1475,6 +1477,7 @@
{"name":"sh_blur_alpha","order":2,"path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},
{"name":"sh_blur_bokeh","order":3,"path":"shaders/sh_blur_bokeh/sh_blur_bokeh.yy",},
{"name":"sh_blur_box_contrast","order":4,"path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",},
{"name":"sh_blur_box","order":15,"path":"shaders/sh_blur_box/sh_blur_box.yy",},
{"name":"sh_blur_directional","order":5,"path":"shaders/sh_blur_directional/sh_blur_directional.yy",},
{"name":"sh_blur_final","order":6,"path":"shaders/sh_blur_final/sh_blur_final.yy",},
{"name":"sh_blur_gaussian","order":7,"path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},
@ -1555,8 +1558,8 @@
{"name":"sh_dialog_palette_selector","order":7,"path":"shaders/sh_dialog_palette_selector/sh_dialog_palette_selector.yy",},
{"name":"sh_diffuse_flow","order":1,"path":"shaders/sh_diffuse_flow/sh_diffuse_flow.yy",},
{"name":"sh_diffuse_post","order":2,"path":"shaders/sh_diffuse_post/sh_diffuse_post.yy",},
{"name":"sh_dilate","order":4,"path":"shaders/sh_dilate/sh_dilate.yy",},
{"name":"sh_displace","order":5,"path":"shaders/sh_displace/sh_displace.yy",},
{"name":"sh_dilate","order":5,"path":"shaders/sh_dilate/sh_dilate.yy",},
{"name":"sh_displace","order":6,"path":"shaders/sh_displace/sh_displace.yy",},
{"name":"sh_dither_screen","order":2,"path":"shaders/sh_dither_screen/sh_dither_screen.yy",},
{"name":"sh_dither","order":1,"path":"shaders/sh_dither/sh_dither.yy",},
{"name":"sh_downsample","order":1,"path":"shaders/sh_downsample/sh_downsample.yy",},
@ -1599,7 +1602,7 @@
{"name":"sh_find_pixel","order":3,"path":"shaders/sh_find_pixel/sh_find_pixel.yy",},
{"name":"sh_FLIP_draw_droplet","order":2,"path":"shaders/sh_FLIP_draw_droplet/sh_FLIP_draw_droplet.yy",},
{"name":"sh_FLIP_render_threshold","order":1,"path":"shaders/sh_FLIP_render_threshold/sh_FLIP_render_threshold.yy",},
{"name":"sh_flip","order":7,"path":"shaders/sh_flip/sh_flip.yy",},
{"name":"sh_flip","order":8,"path":"shaders/sh_flip/sh_flip.yy",},
{"name":"sh_flood_fill_it","order":1,"path":"shaders/sh_flood_fill_it/sh_flood_fill_it.yy",},
{"name":"sh_flood_fill_replace","order":2,"path":"shaders/sh_flood_fill_replace/sh_flood_fill_replace.yy",},
{"name":"sh_freeform_fill_cleanup","order":2,"path":"shaders/sh_freeform_fill_cleanup/sh_freeform_fill_cleanup.yy",},
@ -1621,7 +1624,7 @@
{"name":"sh_grid_pentagonal","order":7,"path":"shaders/sh_grid_pentagonal/sh_grid_pentagonal.yy",},
{"name":"sh_grid_tri","order":3,"path":"shaders/sh_grid_tri/sh_grid_tri.yy",},
{"name":"sh_herringbone_tile","order":5,"path":"shaders/sh_herringbone_tile/sh_herringbone_tile.yy",},
{"name":"sh_high_pass","order":15,"path":"shaders/sh_high_pass/sh_high_pass.yy",},
{"name":"sh_high_pass","order":16,"path":"shaders/sh_high_pass/sh_high_pass.yy",},
{"name":"sh_image_trace","order":49,"path":"shaders/sh_image_trace/sh_image_trace.yy",},
{"name":"sh_interlaced","order":58,"path":"shaders/sh_interlaced/sh_interlaced.yy",},
{"name":"sh_invert","order":17,"path":"shaders/sh_invert/sh_invert.yy",},
@ -1644,7 +1647,8 @@
{"name":"sh_mask_invert","order":20,"path":"shaders/sh_mask_invert/sh_mask_invert.yy",},
{"name":"sh_mask_modify","order":2,"path":"shaders/sh_mask_modify/sh_mask_modify.yy",},
{"name":"sh_mesh_generation","order":4,"path":"shaders/sh_mesh_generation/sh_mesh_generation.yy",},
{"name":"sh_mirror_mask","order":8,"path":"shaders/sh_mirror_mask/sh_mirror_mask.yy",},
{"name":"sh_mirror_mask","order":9,"path":"shaders/sh_mirror_mask/sh_mirror_mask.yy",},
{"name":"sh_mirror_polar","order":1,"path":"shaders/sh_mirror_polar/sh_mirror_polar.yy",},
{"name":"sh_mk_ballGrid","order":5,"path":"shaders/sh_mk_ballGrid/sh_mk_ballGrid.yy",},
{"name":"sh_mk_flag_shade","order":1,"path":"shaders/sh_mk_flag_shade/sh_mk_flag_shade.yy",},
{"name":"sh_mk_flipGrid","order":6,"path":"shaders/sh_mk_flipGrid/sh_mk_flipGrid.yy",},
@ -1687,7 +1691,7 @@
{"name":"sh_normal_light_apply","order":5,"path":"shaders/sh_normal_light_apply/sh_normal_light_apply.yy",},
{"name":"sh_normal_light","order":1,"path":"shaders/sh_normal_light/sh_normal_light.yy",},
{"name":"sh_normalize","order":23,"path":"shaders/sh_normalize/sh_normalize.yy",},
{"name":"sh_offset","order":12,"path":"shaders/sh_offset/sh_offset.yy",},
{"name":"sh_offset","order":13,"path":"shaders/sh_offset/sh_offset.yy",},
{"name":"sh_outline_only","order":33,"path":"shaders/sh_outline_only/sh_outline_only.yy",},
{"name":"sh_outline","order":24,"path":"shaders/sh_outline/sh_outline.yy",},
{"name":"sh_override_channel","order":21,"path":"shaders/sh_override_channel/sh_override_channel.yy",},
@ -1716,7 +1720,7 @@
{"name":"sh_pixel_math","order":57,"path":"shaders/sh_pixel_math/sh_pixel_math.yy",},
{"name":"sh_pixel_sample","order":29,"path":"shaders/sh_pixel_sample/sh_pixel_sample.yy",},
{"name":"sh_pixel_sort","order":34,"path":"shaders/sh_pixel_sort/sh_pixel_sort.yy",},
{"name":"sh_polar","order":1,"path":"shaders/sh_polar/sh_polar.yy",},
{"name":"sh_polar","order":2,"path":"shaders/sh_polar/sh_polar.yy",},
{"name":"sh_posterize_palette","order":21,"path":"shaders/sh_posterize_palette/sh_posterize_palette.yy",},
{"name":"sh_posterize","order":25,"path":"shaders/sh_posterize/sh_posterize.yy",},
{"name":"sh_preview_histogram_outline","order":1,"path":"shaders/sh_preview_histogram_outline/sh_preview_histogram_outline.yy",},
@ -1757,17 +1761,17 @@
{"name":"sh_seperate_shape_ite","order":2,"path":"shaders/sh_seperate_shape_ite/sh_seperate_shape_ite.yy",},
{"name":"sh_seperate_shape_sep","order":3,"path":"shaders/sh_seperate_shape_sep/sh_seperate_shape_sep.yy",},
{"name":"sh_shadow_cast_light_sep","order":1,"path":"shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy",},
{"name":"sh_shape_map_circle","order":14,"path":"shaders/sh_shape_map_circle/sh_shape_map_circle.yy",},
{"name":"sh_shape_map_polygon","order":15,"path":"shaders/sh_shape_map_polygon/sh_shape_map_polygon.yy",},
{"name":"sh_shape_map_circle","order":15,"path":"shaders/sh_shape_map_circle/sh_shape_map_circle.yy",},
{"name":"sh_shape_map_polygon","order":16,"path":"shaders/sh_shape_map_polygon/sh_shape_map_polygon.yy",},
{"name":"sh_shape","order":11,"path":"shaders/sh_shape/sh_shape.yy",},
{"name":"sh_simplex","order":16,"path":"shaders/sh_simplex/sh_simplex.yy",},
{"name":"sh_skew","order":6,"path":"shaders/sh_skew/sh_skew.yy",},
{"name":"sh_skew","order":7,"path":"shaders/sh_skew/sh_skew.yy",},
{"name":"sh_sky_hosek","order":2,"path":"shaders/sh_sky_hosek/sh_sky_hosek.yy",},
{"name":"sh_sky_scattering","order":1,"path":"shaders/sh_sky_scattering/sh_sky_scattering.yy",},
{"name":"sh_slice_spritesheet_empty_scan","order":7,"path":"shaders/sh_slice_spritesheet_empty_scan/sh_slice_spritesheet_empty_scan.yy",},
{"name":"sh_smear","order":13,"path":"shaders/sh_smear/sh_smear.yy",},
{"name":"sh_solid","order":16,"path":"shaders/sh_solid/sh_solid.yy",},
{"name":"sh_spherize","order":11,"path":"shaders/sh_spherize/sh_spherize.yy",},
{"name":"sh_spherize","order":12,"path":"shaders/sh_spherize/sh_spherize.yy",},
{"name":"sh_stripe","order":12,"path":"shaders/sh_stripe/sh_stripe.yy",},
{"name":"sh_surface_replace_fast_find","order":2,"path":"shaders/sh_surface_replace_fast_find/sh_surface_replace_fast_find.yy",},
{"name":"sh_surface_replace_fast_replace","order":3,"path":"shaders/sh_surface_replace_fast_replace/sh_surface_replace_fast_replace.yy",},
@ -1783,11 +1787,11 @@
{"name":"sh_tiler_autoterrain_mask","order":7,"path":"shaders/sh_tiler_autoterrain_mask/sh_tiler_autoterrain_mask.yy",},
{"name":"sh_tiler_convert_mask","order":12,"path":"shaders/sh_tiler_convert_mask/sh_tiler_convert_mask.yy",},
{"name":"sh_tiler_convert","order":11,"path":"shaders/sh_tiler_convert/sh_tiler_convert.yy",},
{"name":"sh_time_remap","order":2,"path":"shaders/sh_time_remap/sh_time_remap.yy",},
{"name":"sh_time_remap","order":3,"path":"shaders/sh_time_remap/sh_time_remap.yy",},
{"name":"sh_trail_filler_pass1","order":41,"path":"shaders/sh_trail_filler_pass1/sh_trail_filler_pass1.yy",},
{"name":"sh_trail_filler_pass2","order":43,"path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},
{"name":"sh_trail_filler","order":42,"path":"shaders/sh_trail_filler/sh_trail_filler.yy",},
{"name":"sh_twirl","order":3,"path":"shaders/sh_twirl/sh_twirl.yy",},
{"name":"sh_twirl","order":4,"path":"shaders/sh_twirl/sh_twirl.yy",},
{"name":"sh_ui_shape_circle","order":4,"path":"shaders/sh_ui_shape_circle/sh_ui_shape_circle.yy",},
{"name":"sh_ui_slider","order":1,"path":"shaders/sh_ui_slider/sh_ui_slider.yy",},
{"name":"sh_vertex_depth_pass","order":2,"path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},
@ -1796,8 +1800,8 @@
{"name":"sh_vertex_pt","order":5,"path":"shaders/sh_vertex_pt/sh_vertex_pt.yy",},
{"name":"sh_vignette","order":48,"path":"shaders/sh_vignette/sh_vignette.yy",},
{"name":"sh_voronoi_extra","order":17,"path":"shaders/sh_voronoi_extra/sh_voronoi_extra.yy",},
{"name":"sh_warp_4points_pers","order":10,"path":"shaders/sh_warp_4points_pers/sh_warp_4points_pers.yy",},
{"name":"sh_warp_4points","order":9,"path":"shaders/sh_warp_4points/sh_warp_4points.yy",},
{"name":"sh_warp_4points_pers","order":11,"path":"shaders/sh_warp_4points_pers/sh_warp_4points_pers.yy",},
{"name":"sh_warp_4points","order":10,"path":"shaders/sh_warp_4points/sh_warp_4points.yy",},
{"name":"sh_water_caustic","order":22,"path":"shaders/sh_water_caustic/sh_water_caustic.yy",},
{"name":"sh_widget_rotator_range","order":5,"path":"shaders/sh_widget_rotator_range/sh_widget_rotator_range.yy",},
{"name":"sh_widget_rotator","order":4,"path":"shaders/sh_widget_rotator/sh_widget_rotator.yy",},
@ -2189,6 +2193,7 @@
{"name":"s_node_blobify","order":7,"path":"sprites/s_node_blobify/s_node_blobify.yy",},
{"name":"s_node_bloom","order":8,"path":"sprites/s_node_bloom/s_node_bloom.yy",},
{"name":"s_node_blur_bokeh","order":6,"path":"sprites/s_node_blur_bokeh/s_node_blur_bokeh.yy",},
{"name":"s_node_blur_box","order":11,"path":"sprites/s_node_blur_box/s_node_blur_box.yy",},
{"name":"s_node_blur_contrast","order":2,"path":"sprites/s_node_blur_contrast/s_node_blur_contrast.yy",},
{"name":"s_node_blur_directional","order":3,"path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},
{"name":"s_node_blur_path","order":9,"path":"sprites/s_node_blur_path/s_node_blur_path.yy",},
@ -2379,6 +2384,7 @@
{"name":"s_node_mesh_type","order":14,"path":"sprites/s_node_mesh_type/s_node_mesh_type.yy",},
{"name":"s_node_mesh_warp","order":10,"path":"sprites/s_node_mesh_warp/s_node_mesh_warp.yy",},
{"name":"s_node_midi_in","order":24,"path":"sprites/s_node_midi_in/s_node_midi_in.yy",},
{"name":"s_node_mirror_polar","order":25,"path":"sprites/s_node_mirror_polar/s_node_mirror_polar.yy",},
{"name":"s_node_mirror","order":3,"path":"sprites/s_node_mirror/s_node_mirror.yy",},
{"name":"s_node_mk_blinker","order":10,"path":"sprites/s_node_mk_blinker/s_node_mk_blinker.yy",},
{"name":"s_node_mk_brownian","order":8,"path":"sprites/s_node_mk_brownian/s_node_mk_brownian.yy",},
@ -2402,6 +2408,7 @@
{"name":"s_node_name_type","order":137,"path":"sprites/s_node_name_type/s_node_name_type.yy",},
{"name":"s_node_new_badge","order":21,"path":"sprites/s_node_new_badge/s_node_new_badge.yy",},
{"name":"s_node_noise_aniso","order":9,"path":"sprites/s_node_noise_aniso/s_node_noise_aniso.yy",},
{"name":"s_node_noise_blue","order":59,"path":"sprites/s_node_noise_blue/s_node_noise_blue.yy",},
{"name":"s_node_noise_bubble","order":45,"path":"sprites/s_node_noise_bubble/s_node_noise_bubble.yy",},
{"name":"s_node_noise_cristal","order":53,"path":"sprites/s_node_noise_cristal/s_node_noise_cristal.yy",},
{"name":"s_node_noise_fbm","order":26,"path":"sprites/s_node_noise_fbm/s_node_noise_fbm.yy",},

View file

@ -300,6 +300,7 @@
{"$GMFolder":"","%Name":"cell","folderPath":"folders/shader/generator/cell.yy","name":"cell","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"grid","folderPath":"folders/shader/generator/grid.yy","name":"grid","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"interpret","folderPath":"folders/shader/generator/interpret.yy","name":"interpret","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"noise","folderPath":"folders/shader/generator/noise.yy","name":"noise","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"random_shape","folderPath":"folders/shader/generator/random_shape.yy","name":"random_shape","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"reaction_diffusion","folderPath":"folders/shader/generator/reaction_diffusion.yy","name":"reaction_diffusion","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"region","folderPath":"folders/shader/generator/region.yy","name":"region","resourceType":"GMFolder","resourceVersion":"2.0",},
@ -314,7 +315,6 @@
{"$GMFolder":"","%Name":"Fracture","folderPath":"folders/shader/MK effects/Fracture.yy","name":"Fracture","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Subpixel","folderPath":"folders/shader/MK effects/Subpixel.yy","name":"Subpixel","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"Tile","folderPath":"folders/shader/MK effects/Tile.yy","name":"Tile","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"noise","folderPath":"folders/shader/generator/noise.yy","name":"noise","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"pixel_builder","folderPath":"folders/shader/pixel_builder.yy","name":"pixel_builder","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"ray march","folderPath":"folders/shader/ray march.yy","name":"ray march","resourceType":"GMFolder","resourceVersion":"2.0",},
{"$GMFolder":"","%Name":"sprites","folderPath":"folders/shader/sprites.yy","name":"sprites","resourceType":"GMFolder","resourceVersion":"2.0",},
@ -1268,6 +1268,7 @@
{"id":{"name":"node_blobify","path":"scripts/node_blobify/node_blobify.yy",},},
{"id":{"name":"node_bloom","path":"scripts/node_bloom/node_bloom.yy",},},
{"id":{"name":"node_blur_bokeh","path":"scripts/node_blur_bokeh/node_blur_bokeh.yy",},},
{"id":{"name":"node_blur_box","path":"scripts/node_blur_box/node_blur_box.yy",},},
{"id":{"name":"node_blur_contrast","path":"scripts/node_blur_contrast/node_blur_contrast.yy",},},
{"id":{"name":"node_blur_directional","path":"scripts/node_blur_directional/node_blur_directional.yy",},},
{"id":{"name":"node_blur_path","path":"scripts/node_blur_path/node_blur_path.yy",},},
@ -1472,6 +1473,7 @@
{"id":{"name":"node_mesh_transform","path":"scripts/node_mesh_transform/node_mesh_transform.yy",},},
{"id":{"name":"node_mesh_warp","path":"scripts/node_mesh_warp/node_mesh_warp.yy",},},
{"id":{"name":"node_midi_in","path":"scripts/node_midi_in/node_midi_in.yy",},},
{"id":{"name":"node_mirror_polar","path":"scripts/node_mirror_polar/node_mirror_polar.yy",},},
{"id":{"name":"node_mirror","path":"scripts/node_mirror/node_mirror.yy",},},
{"id":{"name":"node_mk_blinker","path":"scripts/node_mk_blinker/node_mk_blinker.yy",},},
{"id":{"name":"node_mk_brownian","path":"scripts/node_mk_brownian/node_mk_brownian.yy",},},
@ -2078,6 +2080,7 @@
{"id":{"name":"sh_blur_alpha","path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},},
{"id":{"name":"sh_blur_bokeh","path":"shaders/sh_blur_bokeh/sh_blur_bokeh.yy",},},
{"id":{"name":"sh_blur_box_contrast","path":"shaders/sh_blur_box_contrast/sh_blur_box_contrast.yy",},},
{"id":{"name":"sh_blur_box","path":"shaders/sh_blur_box/sh_blur_box.yy",},},
{"id":{"name":"sh_blur_directional","path":"shaders/sh_blur_directional/sh_blur_directional.yy",},},
{"id":{"name":"sh_blur_final","path":"shaders/sh_blur_final/sh_blur_final.yy",},},
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},},
@ -2269,6 +2272,7 @@
{"id":{"name":"sh_mask","path":"shaders/sh_mask/sh_mask.yy",},},
{"id":{"name":"sh_mesh_generation","path":"shaders/sh_mesh_generation/sh_mesh_generation.yy",},},
{"id":{"name":"sh_mirror_mask","path":"shaders/sh_mirror_mask/sh_mirror_mask.yy",},},
{"id":{"name":"sh_mirror_polar","path":"shaders/sh_mirror_polar/sh_mirror_polar.yy",},},
{"id":{"name":"sh_mirror","path":"shaders/sh_mirror/sh_mirror.yy",},},
{"id":{"name":"sh_mk_ballGrid","path":"shaders/sh_mk_ballGrid/sh_mk_ballGrid.yy",},},
{"id":{"name":"sh_mk_flag_mrt","path":"shaders/sh_mk_flag_mrt/sh_mk_flag_mrt.yy",},},
@ -2864,6 +2868,7 @@
{"id":{"name":"s_node_blobify","path":"sprites/s_node_blobify/s_node_blobify.yy",},},
{"id":{"name":"s_node_bloom","path":"sprites/s_node_bloom/s_node_bloom.yy",},},
{"id":{"name":"s_node_blur_bokeh","path":"sprites/s_node_blur_bokeh/s_node_blur_bokeh.yy",},},
{"id":{"name":"s_node_blur_box","path":"sprites/s_node_blur_box/s_node_blur_box.yy",},},
{"id":{"name":"s_node_blur_contrast","path":"sprites/s_node_blur_contrast/s_node_blur_contrast.yy",},},
{"id":{"name":"s_node_blur_directional","path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},},
{"id":{"name":"s_node_blur_path","path":"sprites/s_node_blur_path/s_node_blur_path.yy",},},
@ -3067,6 +3072,7 @@
{"id":{"name":"s_node_mesh_type","path":"sprites/s_node_mesh_type/s_node_mesh_type.yy",},},
{"id":{"name":"s_node_mesh_warp","path":"sprites/s_node_mesh_warp/s_node_mesh_warp.yy",},},
{"id":{"name":"s_node_midi_in","path":"sprites/s_node_midi_in/s_node_midi_in.yy",},},
{"id":{"name":"s_node_mirror_polar","path":"sprites/s_node_mirror_polar/s_node_mirror_polar.yy",},},
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},},
{"id":{"name":"s_node_mk_blinker","path":"sprites/s_node_mk_blinker/s_node_mk_blinker.yy",},},
{"id":{"name":"s_node_mk_brownian","path":"sprites/s_node_mk_brownian/s_node_mk_brownian.yy",},},
@ -3091,6 +3097,7 @@
{"id":{"name":"s_node_name_type","path":"sprites/s_node_name_type/s_node_name_type.yy",},},
{"id":{"name":"s_node_new_badge","path":"sprites/s_node_new_badge/s_node_new_badge.yy",},},
{"id":{"name":"s_node_noise_aniso","path":"sprites/s_node_noise_aniso/s_node_noise_aniso.yy",},},
{"id":{"name":"s_node_noise_blue","path":"sprites/s_node_noise_blue/s_node_noise_blue.yy",},},
{"id":{"name":"s_node_noise_bubble","path":"sprites/s_node_noise_bubble/s_node_noise_bubble.yy",},},
{"id":{"name":"s_node_noise_cristal","path":"sprites/s_node_noise_cristal/s_node_noise_cristal.yy",},},
{"id":{"name":"s_node_noise_fbm","path":"sprites/s_node_noise_fbm/s_node_noise_fbm.yy",},},

View file

@ -0,0 +1,82 @@
function Node_Blur_Box(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
name = "Box Blur";
newInput(0, nodeValue_Surface("Surface in", self));
newInput(1, nodeValue_Int("Size", self, 3))
.setUnitRef(function(index) /*=>*/ {return getDimension(index)});
newInput(2, nodeValue_Surface("Mask", self));
newInput(3, nodeValue_Float("Mix", self, 1))
.setDisplay(VALUE_DISPLAY.slider);
newInput(4, nodeValue_Bool("Active", self, true));
active_index = 4;
newInput(5, nodeValue_Toggle("Channel", self, 0b1111, { data: array_create(4, THEME.inspector_channel) }));
__init_mask_modifier(2); // inputs 6, 7,
newInput(8, nodeValue_Bool("Separate Axis", self, false));
newInput(9, nodeValue_Vec2("2D Size", self, [ 3, 3 ]));
input_display_list = [ 4, 5,
["Surfaces", true], 0, 2, 3, 6, 7,
["Blur", false], 8, 1, 9,
]
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
temp_surface = [ surface_create(1, 1) ];
attribute_surface_depth();
attribute_oversample();
attribute_interpolation();
static step = function() {
__step_mask_modifier();
}
static processData = function(_outSurf, _data, _output_index, _array_index) {
var _surf = _data[0];
var _mask = _data[2];
var _mix = _data[3];
var _sepa = _data[8];
var _siz2 = _data[9];
var _size = _data[1];
inputs[1].setVisible(!_sepa);
inputs[9].setVisible( _sepa);
var ww = surface_get_width_safe(_surf);
var hh = surface_get_height_safe(_surf);
temp_surface[0] = surface_verify(temp_surface[0], ww, hh, attrDepth());
surface_set_shader(temp_surface[0], sh_blur_box);
shader_set_interpolation(_data[0]);
shader_set_i("sampleMode", getAttribute("oversample"));
shader_set_2("dimension", [ ww, hh ]);
shader_set_f("size", max(0, round(_sepa? _siz2[0] : _size)));
shader_set_i("axis", 0);
draw_surface_safe(_surf);
surface_reset_shader();
surface_set_shader(_outSurf, sh_blur_box);
shader_set_interpolation(_data[0]);
shader_set_f("size", max(0, round(_sepa? _siz2[1] : _size)));
shader_set_i("axis", 1);
draw_surface_safe(temp_surface[0]);
surface_reset_shader();
__process_mask_modifier(_data);
_outSurf = mask_apply(_data[0], _outSurf, _mask, _mix);
_outSurf = channel_apply(_data[0], _outSurf, _data[5]);
return _outSurf;
}
}

View file

@ -0,0 +1,14 @@
{
"$GMScript":"v1",
"%Name":"node_blur_box",
"isCompatibility":false,
"isDnD":false,
"name":"node_blur_box",
"parent":{
"name":"blur",
"path":"folders/nodes/data/filter/blur.yy",
},
"resourceType":"GMScript",
"resourceVersion":"2.0",
"tags":[],
}

View file

@ -43,13 +43,13 @@ function Node_Blur_Slope(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
attribute_oversample();
attribute_interpolation();
static step = function() { #region
static step = function() {
__step_mask_modifier();
inputs[1].mappableStep();
} #endregion
}
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
static processData = function(_outSurf, _data, _output_index, _array_index) {
surface_set_shader(_outSurf, sh_blur_slope);
shader_set_interpolation(_data[0]);
shader_set_f("dimension", surface_get_dimension(_data[0]));
@ -68,5 +68,5 @@ function Node_Blur_Slope(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
_outSurf = channel_apply(_data[0], _outSurf, _data[6]);
return _outSurf;
} #endregion
}
}

View file

@ -40,7 +40,7 @@ function Node_Kuwahara(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
["Effects", false], 9, 2, 10, 11, 12, 13,
];
temp_surfaces = array_create(4);
temp_surface = array_create(4);
attribute_surface_depth();
@ -69,28 +69,28 @@ function Node_Kuwahara(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
break;
case 1 :
for( var i = 0; i < 3; i++ ) temp_surfaces[i] = surface_verify(temp_surfaces[i], _dim[0], _dim[1]);
for( var i = 0; i < 3; i++ ) temp_surface[i] = surface_verify(temp_surface[i], _dim[0], _dim[1]);
surface_set_shader(temp_surfaces[0], sh_kuwahara_ani_pass1);
surface_set_shader(temp_surface[0], sh_kuwahara_ani_pass1);
shader_set_2("dimension", _dim);
draw_surface_safe(_surf);
surface_reset_shader();
surface_set_shader(temp_surfaces[1], sh_kuwahara_ani_pass2);
surface_set_shader(temp_surface[1], sh_kuwahara_ani_pass2);
shader_set_2("dimension", _dim);
draw_surface_safe(temp_surfaces[0]);
draw_surface_safe(temp_surface[0]);
surface_reset_shader();
surface_set_shader(temp_surfaces[2], sh_kuwahara_ani_pass3);
surface_set_shader(temp_surface[2], sh_kuwahara_ani_pass3);
shader_set_2("dimension", _dim);
draw_surface_safe(temp_surfaces[1]);
draw_surface_safe(temp_surface[1]);
surface_reset_shader();
surface_set_shader(_outSurf, sh_kuwahara_ani_pass4);
shader_set_surface("tfm", temp_surfaces[2]);
shader_set_surface("tfm", temp_surface[2]);
shader_set_2("dimension", _dim);
shader_set_f("alpha", _data[10]);

View file

@ -23,7 +23,7 @@ function Node_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
attribute_surface_depth();
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
PROCESSOR_OVERLAY_CHECK
var _pos = current_data[1];
@ -44,9 +44,9 @@ function Node_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
var hv = inputs[2].drawOverlay(hover, active, _posx, _posy, _s, _mx, _my, _snx, _sny); active &= !hv; _hov |= hv;
return _hov;
} #endregion
}
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
static processData = function(_outSurf, _data, _output_index, _array_index) {
var _suf = _data[0];
var _pos = _data[1];
var _ang = _data[2];
@ -62,5 +62,5 @@ function Node_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
surface_reset_shader();
return _outSurf;
} #endregion
}
}

View file

@ -0,0 +1,72 @@
function Node_Mirror_Polar(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
name = "Polar Mirror";
newInput(0, nodeValue_Surface("Surface in", self));
newInput(1, nodeValue_Vec2("Position", self, [ 0.5, 0.5 ]))
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
newInput(2, nodeValue_Rotation("Angle", self, 0));
newInput(3, nodeValue_Bool("Active", self, true));
active_index = 3;
newInput(4, nodeValue_Float("Spokes", self, 4));
newInput(5, nodeValue_Bool("Reflective", self, false));
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
input_display_list = [ 3,
["Surfaces", false], 0,
["Mirror", false], 1, 2,
["Spokes", false], 4, 5,
]
attribute_surface_depth();
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
PROCESSOR_OVERLAY_CHECK
var _pos = current_data[1];
var _ang = current_data[2];
var _posx = _pos[0] * _s + _x;
var _posy = _pos[1] * _s + _y;
var dx0 = _posx + lengthdir_x(1000, _ang);
var dx1 = _posx + lengthdir_x(1000, _ang + 180);
var dy0 = _posy + lengthdir_y(1000, _ang);
var dy1 = _posy + lengthdir_y(1000, _ang + 180);
draw_set_color(COLORS._main_accent);
draw_line(dx0, dy0, dx1, dy1);
var _hov = false;
var hv = inputs[1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); active &= !hv; _hov |= hv;
var hv = inputs[2].drawOverlay(hover, active, _posx, _posy, _s, _mx, _my, _snx, _sny); active &= !hv; _hov |= hv;
return _hov;
}
static processData = function(_outSurf, _data, _output_index, _array_index) {
var _suf = _data[0];
var _pos = _data[1];
var _ang = _data[2];
var _spk = _data[4];
var _ref = _data[5];
var _dim = surface_get_dimension(_suf);
surface_set_shader(_outSurf, sh_mirror_polar);
shader_set_f("dimension", _dim);
shader_set_2("position", _pos);
shader_set_f("angle", degtorad(_ang));
shader_set_f("spokes", _spk);
shader_set_i("reflecc", _ref);
draw_surface_safe(_suf);
surface_reset_shader();
return _outSurf;
}
}

View file

@ -0,0 +1,14 @@
{
"$GMScript":"v1",
"%Name":"node_mirror_polar",
"isCompatibility":false,
"isDnD":false,
"name":"node_mirror_polar",
"parent":{
"name":"transform",
"path":"folders/nodes/data/transform.yy",
},
"resourceType":"GMScript",
"resourceVersion":"2.0",
"tags":[],
}

View file

@ -5,56 +5,26 @@ function Node_Noise_Blue(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
newInput(1, nodeValueSeed(self));
newInput(2, nodeValue_Enum_Button("Color mode", self, 0, [ "Greyscale", "RGB", "HSV" ]));
newInput(3, nodeValue_Slider_Range("Color R range", self, [ 0, 1 ]));
newInput(4, nodeValue_Slider_Range("Color G range", self, [ 0, 1 ]));
newInput(5, nodeValue_Slider_Range("Color B range", self, [ 0, 1 ]));
input_display_list = [
["Output", false], 0,
["Noise", false], 1,
["Color", false], 2, 3, 4, 5,
["Noise", false], 1,
];
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
attribute_surface_depth();
static step = function() {
var _col = getInputData(2);
inputs[3].setVisible(_col != 0);
inputs[4].setVisible(_col != 0);
inputs[5].setVisible(_col != 0);
inputs[3].name = _col == 1? "Color R range" : "Color H range";
inputs[4].name = _col == 1? "Color G range" : "Color S range";
inputs[5].name = _col == 1? "Color B range" : "Color V range";
}
temp_surface = [ noone, noone ];
static processData = function(_outSurf, _data, _output_index, _array_index) {
var _dim = _data[0];
var _sed = _data[1];
var _col = _data[2];
var _clr = _data[3];
var _clg = _data[4];
var _clb = _data[5];
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1], attrDepth());
surface_set_shader(_outSurf, sh_noise);
shader_set_f("seed", _sed);
shader_set_i("colored", _col);
shader_set_2("colorRanR", _clr);
shader_set_2("colorRanG", _clg);
shader_set_2("colorRanB", _clb);
draw_sprite_ext(s_fx_pixel, 0, 0, 0, _dim[0], _dim[1], 0, c_white, 1);
surface_set_shader(_outSurf, sh_noise_blue_interpret);
shader_set_f("seed", _sed);
draw_empty();
surface_reset_shader();
return _outSurf;

View file

@ -35,8 +35,9 @@ function NodeObject(_name, _spr, _node, _create, _tooltip = "") constructor {
}
}
static setTags = function(_tags) { tags = _tags; return self; }
static setSpr = function(_spr) { spr = _spr; return self; }
static setTags = function(_tags) { tags = _tags; return self; }
static setSpr = function(_spr) { spr = _spr; return self; }
static setTooltip = function(_tool) { tooltip = _tool; return self; }
static setVersion = function(version) {
INLINE
@ -271,9 +272,11 @@ function nodeBuild(_name, _x, _y, _group = PANEL_GRAPH.getCurrentContext()) {
return _bnode;
}
function addNodeObject(_list, _name, _node = "", _fun = [], tooltip = "") {
function addNodeObject(_list, _name = "", _node = "", _fun = [], tooltip = "") {
if(ds_map_exists(ALL_NODES, _node)) {
var _n = ALL_NODES[? _node];
if(tooltip != "") _n.setTooltip(tooltip);
ds_list_add(_list, _n);
return _n;
}
@ -281,6 +284,8 @@ function addNodeObject(_list, _name, _node = "", _fun = [], tooltip = "") {
var _s = asset_get_index($"s_{string_lower(_node)}");
if(_s == -1) _s = 0;
var _n = new NodeObject(_name, _s, _node, _fun, tooltip);
if(tooltip != "") _n.setTooltip(tooltip);
ALL_NODES[? _node] = _n;
ds_list_add(_list, _n);
@ -406,8 +411,8 @@ function __initNodes() {
var vfx = ds_list_create();
NODE_ADD_CAT("VFX", vfx, ["Node_VFX_Group", "Node_VFX_Group_Inline"], COLORS.node_blend_vfx);
ds_list_add(vfx, "Groups");
addNodeObject(vfx, "Input", "Node_Group_Input", [1, Node_Group_Input]).setSpr(s_node_vfx_input).hideRecent().hideGlobal();
addNodeObject(vfx, "Output", "Node_Group_Output", [1, Node_Group_Output]).setSpr(s_node_vfx_output).hideRecent().hideGlobal();
addNodeObject(vfx, "Input", "Node_Group_Input", [1, Node_Group_Input]).hideRecent().hideGlobal();
addNodeObject(vfx, "Output", "Node_Group_Output", [1, Node_Group_Output]).hideRecent().hideGlobal();
addNodeObject(vfx, "Renderer", "Node_VFX_Renderer_Output", [1, Node_VFX_Renderer_Output]).setSpr(s_node_vfx_render_output).hideRecent().hideGlobal();
ds_list_add(vfx, "Main");
@ -600,6 +605,8 @@ function __initNodes() {
addNodeObject(transform, "Scale Algorithm", "Node_Scale_Algo", [0, Node_create_Scale_Algo], "Scale image using pixel-art based scaling algorithms.").setTags(["scale2x", "scale3x", "cleanedge"]);
addNodeObject(transform, "Flip", "Node_Flip", [1, Node_Flip], "Flip image horizontally or vertically.").setTags(["mirror"]);
addNodeObject(transform, "Offset", "Node_Offset", [1, Node_Offset], "Shift image with tiling.").setTags(["shift"]);
addNodeObject(transform, "Mirror", "Node_Mirror", [1, Node_Mirror], "Reflect the image along a reflection line.").setVersion(1070);
addNodeObject(transform, "Polar Mirror", "Node_Mirror_Polar", [1, Node_Mirror_Polar], "Reflect the image along multiple reflection lines.").setTags(["kaleidoscope"]).setVersion(1_18_06_2);
ds_list_add(transform, "Crops");
addNodeObject(transform, "Crop", "Node_Crop", [1, Node_Crop], "Crop out image to create smaller ones.");
@ -637,6 +644,7 @@ function __initNodes() {
addNodeObject(filter, "Blur", "Node_Blur", [1, Node_Blur], "Blur image smoothly.").setTags(["gaussian blur"]);
addNodeObject(filter, "Non-Uniform Blur", "Node_Blur_Simple", [1, Node_Blur_Simple], "Blur image using simpler algorithm. Allowing for variable blur strength.").setVersion(1070);
addNodeObject(filter, "Contrast Blur", "Node_Blur_Contrast", [1, Node_Blur_Contrast], "Blur only pixel of a similiar color.");
addNodeObject(filter, "Box Blur", "Node_Blur_Box", [1, Node_Blur_Box], "Blur pixel in square area uniformly.").setVersion(1_18_06_2);
addNodeObject(filter, "Shape Blur", "Node_Blur_Shape", [1, Node_Blur_Shape], "Blur image using another image as blur map.").setVersion(11650);
addNodeObject(filter, "High Pass", "Node_High_Pass", [1, Node_High_Pass], "Apply high pass filter").setTags(["sharpen"]).setVersion(1_18_01_0);
ds_list_add(filter, "/Linear");
@ -654,7 +662,8 @@ function __initNodes() {
ds_list_add(filter, "Warps");
ds_list_add(filter, "/Effects");
addNodeObject(filter, "Mirror", "Node_Mirror", [1, Node_Mirror], "Reflect the image along a reflection line.").setVersion(1070);
addNodeObject(filter,, "Node_Mirror");
addNodeObject(filter,, "Node_Mirror_Polar");
addNodeObject(filter, "Twirl", "Node_Twirl", [1, Node_Twirl], "Twist the image around a mid point.").setTags(["twist"]);
addNodeObject(filter, "Dilate", "Node_Dilate", [1, Node_Dilate], "Expand the image around a mid point.").setTags(["inflate"]);
addNodeObject(filter, "Spherize", "Node_Spherize", [1, Node_Spherize], "Wrap a texture on to sphere.").setVersion(11630);
@ -696,7 +705,7 @@ function __initNodes() {
addNodeObject(filter, "Shuffle", "Node_Shuffle", [1, Node_Shuffle], "Shuffle image while keeping pixel colors.").setVersion(1_18_05_6);
ds_list_add(filter, "/Lights");
addNodeObject(filter, "2D Light", "Node_2D_light", [1, Node_2D_light], "Apply different shaped light on the image.");
addNodeObject(filter, "Cast Shadow", "Node_Shadow_Cast", [1, Node_Shadow_Cast], "Apply light that create shadow using shadow mask.").setTags(["raycast"]).setVersion(1100);
addNodeObject(filter, "Cast Shadow", "Node_Shadow_Cast", [1, Node_Shadow_Cast], "Apply light that casts shadow.").setTags(["raycast"]).setVersion(1100);
ds_list_add(filter, "/Animations");
addNodeObject(filter, "Interlace", "Node_Interlaced", [1, Node_Interlaced], "Apply interlace effect to an image.").setVersion(11760);
addNodeObject(filter, "Trail", "Node_Trail", [1, Node_Trail], "Blend animation by filling in the pixel 'in-between' two or more frames.").setVersion(1130);
@ -833,6 +842,7 @@ function __initNodes() {
addNodeObject(generator, "Simplex Noise", "Node_Noise_Simplex", [1, Node_Noise_Simplex], "Generate simplex noise, similiar to perlin noise with better fidelity but non-tilable.").setTags(["perlin"]).setVersion(1080);
addNodeObject(generator, "Cellular Noise", "Node_Cellular", [1, Node_Cellular], "Generate voronoi pattern.").setTags(["voronoi", "worley"]);
addNodeObject(generator, "Anisotropic Noise", "Node_Noise_Aniso", [1, Node_Noise_Aniso], "Generate anisotropic noise.");
// addNodeObject(generator, "Blue Noise", "Node_Noise_Blue", [1, Node_Noise_Blue], "Generate blue noise texture").setVersion(1_18_06_2);
addNodeObject(generator, "Extra Perlins", "Node_Perlin_Extra", [1, Node_Perlin_Extra], "Random perlin noise made with different algorithms.").setTags(["noise"]).patreonExtra();
addNodeObject(generator, "Extra Voronoi", "Node_Voronoi_Extra", [1, Node_Voronoi_Extra], "Random voronoi noise made with different algorithms.").setTags(["noise"]).patreonExtra();
ds_list_add(generator, "/Artistics");

View file

@ -0,0 +1,109 @@
#pragma use(sampler)
#region -- sampler -- [1730686036.7372286]
uniform int interpolation;
uniform vec2 sampleDimension;
uniform int sampleMode;
const float PI = 3.14159265358979323846;
float sinc ( float x ) { return x == 0.? 1. : sin(x * PI) / (x * PI); }
vec4 texture2D_bicubic( sampler2D texture, vec2 uv ) {
uv = uv * sampleDimension + 0.5;
vec2 iuv = floor( uv );
vec2 fuv = fract( uv );
uv = iuv + fuv * fuv * (3.0 - 2.0 * fuv);
uv = (uv - 0.5) / sampleDimension;
return texture2D( texture, uv );
}
const int RSIN_RADIUS = 1;
vec4 texture2D_rsin( sampler2D texture, vec2 uv ) {
vec2 tx = 1.0 / sampleDimension;
vec2 p = uv * sampleDimension;
vec4 col = vec4(0.);
float wei = 0.;
for (int x = -RSIN_RADIUS; x <= RSIN_RADIUS; x++)
for (int y = -RSIN_RADIUS; y <= RSIN_RADIUS; y++) {
vec2 sx = vec2(float(x), float(y));
float a = length(sx) / float(RSIN_RADIUS);
// if(a > 1.) continue;
vec4 sample = texture2D(texture, uv + sx * tx);
float w = sinc(a * PI * tx.x) * sinc(a * PI * tx.y);
col += w * sample;
wei += w;
}
col /= wei;
return col;
}
const int LANCZOS_RADIUS = 3;
float lanczosWeight(float d, float n) { return d == 0.0 ? 1.0 : (d * d < n * n ? sinc(d) * sinc(d / n) : 0.0); }
vec4 texture2D_lanczos3( sampler2D texture, vec2 uv ) {
vec2 center = uv - (mod(uv * sampleDimension, 1.0) - 0.5) / sampleDimension;
vec2 offset = (uv - center) * sampleDimension;
vec2 tx = 1. / sampleDimension;
vec4 col = vec4(0.);
float wei = 0.;
for(int x = -LANCZOS_RADIUS; x < LANCZOS_RADIUS; x++)
for(int y = -LANCZOS_RADIUS; y < LANCZOS_RADIUS; y++) {
float wx = lanczosWeight(float(x) - offset.x, float(LANCZOS_RADIUS));
float wy = lanczosWeight(float(y) - offset.y, float(LANCZOS_RADIUS));
float w = wx * wy;
col += w * texture2D(texture, center + vec2(x, y) * tx);
wei += w;
}
col /= wei;
return col;
}
vec4 texture2Dintp( sampler2D texture, vec2 uv ) {
if(interpolation <= 2) return texture2D( texture, uv );
else if(interpolation == 3) return texture2D_bicubic( texture, uv );
else if(interpolation == 4) return texture2D_lanczos3( texture, uv );
return texture2D( texture, uv );
}
vec4 sampleTexture( sampler2D texture, vec2 pos) {
if(pos.x >= 0. && pos.y >= 0. && pos.x <= 1. && pos.y <= 1.)
return texture2Dintp(texture, pos);
if(sampleMode <= 1) return vec4(0.);
else if(sampleMode == 2) return texture2Dintp(texture, clamp(pos, 0., 1.));
else if(sampleMode == 3) return texture2Dintp(texture, fract(pos));
else if(sampleMode == 4) return vec4(vec3(0.), 1.);
return vec4(0.);
}
#endregion -- sampler --
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform vec2 dimension;
uniform float size;
uniform int axis;
void main() {
vec2 tx = 1. / dimension;
vec2 ax = axis == 0? vec2(tx.x, 0.) : vec2(0., tx.y);
vec4 cc = vec4(0.);
for(float i = -size; i <= size; i++)
cc += sampleTexture(gm_BaseTexture, v_vTexcoord + ax * i);
cc /= size * 2. + 1.;
gl_FragColor = cc;
}

View file

@ -0,0 +1,14 @@
attribute vec3 in_Position; // (x, y, z)
attribute vec4 in_Colour; // (r, g, b, a)
attribute vec2 in_TextureCoord; // (u, v)
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
void main() {
vec4 object_space_pos = vec4(in_Position.x, in_Position.y, in_Position.z, 1.0);
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord;
}

View file

@ -0,0 +1,13 @@
{
"$GMShader":"",
"%Name":"sh_blur_box",
"name":"sh_blur_box",
"parent":{
"name":"blur",
"path":"folders/shader/filter/blur.yy",
},
"resourceType":"GMShader",
"resourceVersion":"2.0",
"tags":[],
"type":1,
}

View file

@ -238,6 +238,7 @@ void main() {
uv.y = mod(floor(uv.y * (tileY + 1.)), tileY) / tileY;
colr = gradientEval(random(uv));
} else if(mode == 2) {
vec2 uv = (pos - hc.zw) + vec2(0.5, 0.5);

View file

@ -168,7 +168,7 @@ float random (in vec2 st) { return fract(sin(dot(st.xy + vec2(85.456034, 64.5406
#endregion //////////////////////////////////// GRADIENT ////////////////////////////////////
vec3 triGrid(vec2 p){ #region
vec3 triGrid(vec2 p) {
float _stx = (p.x + c30 / 2.0 * p.y);
float stx = abs(fract(_stx) - 0.5);
@ -183,7 +183,7 @@ vec3 triGrid(vec2 p){ #region
n = (n - .16) / (.35 - .16);
return vec3((floor(_stx) + floor(_sty) + 1.) / 2., floor(p.y * c30), n);
} #endregion
}
void main() { #region
#region params

View file

@ -2,35 +2,29 @@ varying vec2 v_vTexcoord;
varying vec4 v_vColour;
#define TAU 6.283185307179586
#define pi1 3.14159
#define pi2 1.57079
#define PI 3.141592653589793
uniform vec2 dimension;
uniform vec2 position;
uniform float angle;
float angle_different(in float a1, in float a2) { #region
float _d = (a2 - a1) + pi2;
return (_d - floor(_d / pi1) * pi1) - pi2;
} #endregion
void main() {
vec2 pos = v_vTexcoord;
vec2 pixel_pos = v_vTexcoord * dimension;
vec2 ps = v_vTexcoord;
vec2 px = v_vTexcoord * dimension - position;
float _angle;
_angle = atan((pixel_pos.y - position.y), (pixel_pos.x - position.x)) + angle;
_angle = atan(px.y, px.x) + angle;
_angle = TAU - (_angle - floor(_angle / TAU) * TAU);
if(_angle < pi1) {
float _alpha = (angle + pi1) - (_angle + angle);
float inv_angle = (angle + pi1) + _alpha;
float dist = distance(pixel_pos, position);
if(_angle < PI) {
float _alpha = (angle + PI) - (_angle + angle);
float inv_angle = (angle + PI) + _alpha;
float dist = length(px);
pos = (position + vec2(cos(inv_angle) * dist, -sin(inv_angle) * dist )) / dimension;
ps = (position + vec2(cos(inv_angle) * dist, -sin(inv_angle) * dist )) / dimension;
}
gl_FragColor = vec4(0.);
if(pos.x > 0. && pos.x < 1. && pos.y > 0. && pos.y < 1.)
gl_FragColor = v_vColour * texture2D( gm_BaseTexture, pos );
if(ps.x > 0. && ps.x < 1. && ps.y > 0. && ps.y < 1.)
gl_FragColor = texture2D( gm_BaseTexture, ps );
}

View file

@ -0,0 +1,42 @@
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
#define TAU 6.283185307179586
#define PI 3.141592653589793
uniform vec2 dimension;
uniform vec2 position;
uniform float angle;
uniform float spokes;
uniform int reflecc;
float round(in float a) { return floor(a + .5); }
void main() {
vec2 ps = v_vTexcoord;
vec2 px = v_vTexcoord * dimension - position;
float _angle;
float a = TAU / spokes;
if(reflecc == 1) a *= 2.;
_angle = atan(px.y, px.x) + angle;
_angle = TAU - mod(_angle, TAU);
_angle = mod(_angle, a);
if(reflecc == 1 && _angle > a / 2.) _angle = a - _angle;
if(_angle < PI) {
float _alpha = (angle + PI) - (_angle + angle);
float inv_angle = (angle + PI) + _alpha;
float dist = length(px);
ps = (position + vec2(cos(inv_angle) * dist, -sin(inv_angle) * dist )) / dimension;
}
ps = fract(ps);
if(mod(floor(ps.x), 2.) > 1.) ps.x = 1. - ps.x;
if(mod(floor(ps.y), 2.) > 1.) ps.y = 1. - ps.y;
gl_FragColor = texture2D( gm_BaseTexture, ps );
}

View file

@ -0,0 +1,14 @@
attribute vec3 in_Position; // (x, y, z)
attribute vec4 in_Colour; // (r, g, b, a)
attribute vec2 in_TextureCoord; // (u, v)
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
void main() {
vec4 object_space_pos = vec4(in_Position.x, in_Position.y, in_Position.z, 1.0);
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord;
}

View file

@ -0,0 +1,13 @@
{
"$GMShader":"",
"%Name":"sh_mirror_polar",
"name":"sh_mirror_polar",
"parent":{
"name":"warp",
"path":"folders/shader/filter/warp.yy",
},
"resourceType":"GMShader",
"resourceVersion":"2.0",
"tags":[],
"type":1,
}

View file

@ -1,10 +1,22 @@
//
// Simple passthrough fragment shader
//
// Cheap BLuenoise by FabriceNeyret2
// https://www.shadertoy.com/view/tllcR2
#define hash(p) fract(sin(dot(p, vec2(11.9898, 78.233))) * 43758.5453) // iq suggestion, for Windows
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
void main()
{
gl_FragColor = v_vColour * texture2D( gm_BaseTexture, v_vTexcoord );
uniform float seed;
float B(vec2 U) {
float v = hash( U + vec2(-1., 0.) )
+ hash( U + vec2( 1., 0.) )
+ hash( U + vec2( 0., 1.) )
+ hash( U + vec2( 0., -1.) );
return hash(U) - v / 4. + .5;
}
void main() {
vec2 u = v_vTexcoord - mod(seed, 1000.);
gl_FragColor = vec4(vec3(B(u)), 1.);
}

View file

@ -1,6 +1,8 @@
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform vec2 seed;
void main() {
gl_FragColor = v_vColour * texture2D(gm_BaseTexture, v_vTexcoord);
gl_FragColor = texture2D(gm_BaseTexture, v_vTexcoord);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -0,0 +1,90 @@
{
"$GMSprite":"",
"%Name":"s_node_blur_box",
"bboxMode":0,
"bbox_bottom":54,
"bbox_left":5,
"bbox_right":58,
"bbox_top":4,
"collisionKind":1,
"collisionTolerance":0,
"DynamicTexturePage":false,
"edgeFiltering":false,
"For3D":false,
"frames":[
{"$GMSpriteFrame":"","%Name":"746780f2-1825-44d6-8a72-58007fa9cca5","name":"746780f2-1825-44d6-8a72-58007fa9cca5","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
],
"gridX":0,
"gridY":0,
"height":64,
"HTile":false,
"layers":[
{"$GMImageLayer":"","%Name":"376028a4-0570-4526-8337-4b389fc9399e","blendMode":0,"displayName":"default","isLocked":false,"name":"376028a4-0570-4526-8337-4b389fc9399e","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
],
"name":"s_node_blur_box",
"nineSlice":null,
"origin":4,
"parent":{
"name":"blur",
"path":"folders/nodes/icons/filter/blur.yy",
},
"preMultiplyAlpha":false,
"resourceType":"GMSprite",
"resourceVersion":"2.0",
"sequence":{
"$GMSequence":"",
"%Name":"s_node_blur_box",
"autoRecord":true,
"backdropHeight":768,
"backdropImageOpacity":0.5,
"backdropImagePath":"",
"backdropWidth":1366,
"backdropXOffset":0.0,
"backdropYOffset":0.0,
"events":{
"$KeyframeStore<MessageEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MessageEventKeyframe>",
"resourceVersion":"2.0",
},
"eventStubScript":null,
"eventToFunction":{},
"length":1.0,
"lockOrigin":false,
"moments":{
"$KeyframeStore<MomentsEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
"resourceVersion":"2.0",
},
"name":"s_node_blur_box",
"playback":1,
"playbackSpeed":30.0,
"playbackSpeedType":0,
"resourceType":"GMSequence",
"resourceVersion":"2.0",
"showBackdrop":true,
"showBackdropImage":false,
"timeUnits":1,
"tracks":[
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"746780f2-1825-44d6-8a72-58007fa9cca5","path":"sprites/s_node_blur_box/s_node_blur_box.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"4909e39f-b706-41bb-92fd-c0fe2d246364","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange":null,
"volume":1.0,
"xorigin":32,
"yorigin":32,
},
"swatchColours":null,
"swfPrecision":0.5,
"textureGroupId":{
"name":"Default",
"path":"texturegroups/Default",
},
"type":0,
"VTile":false,
"width":64,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,90 @@
{
"$GMSprite":"",
"%Name":"s_node_mirror_polar",
"bboxMode":0,
"bbox_bottom":61,
"bbox_left":2,
"bbox_right":61,
"bbox_top":2,
"collisionKind":1,
"collisionTolerance":0,
"DynamicTexturePage":false,
"edgeFiltering":false,
"For3D":false,
"frames":[
{"$GMSpriteFrame":"","%Name":"3da4b352-4fd5-4f6a-ab44-21f458642cc5","name":"3da4b352-4fd5-4f6a-ab44-21f458642cc5","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
],
"gridX":0,
"gridY":0,
"height":64,
"HTile":false,
"layers":[
{"$GMImageLayer":"","%Name":"30eefea9-c945-4e01-abb4-f567ec154ad2","blendMode":0,"displayName":"default","isLocked":false,"name":"30eefea9-c945-4e01-abb4-f567ec154ad2","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
],
"name":"s_node_mirror_polar",
"nineSlice":null,
"origin":4,
"parent":{
"name":"transform",
"path":"folders/nodes/icons/transform.yy",
},
"preMultiplyAlpha":false,
"resourceType":"GMSprite",
"resourceVersion":"2.0",
"sequence":{
"$GMSequence":"",
"%Name":"s_node_mirror_polar",
"autoRecord":true,
"backdropHeight":768,
"backdropImageOpacity":0.5,
"backdropImagePath":"",
"backdropWidth":1366,
"backdropXOffset":0.0,
"backdropYOffset":0.0,
"events":{
"$KeyframeStore<MessageEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MessageEventKeyframe>",
"resourceVersion":"2.0",
},
"eventStubScript":null,
"eventToFunction":{},
"length":1.0,
"lockOrigin":false,
"moments":{
"$KeyframeStore<MomentsEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
"resourceVersion":"2.0",
},
"name":"s_node_mirror_polar",
"playback":1,
"playbackSpeed":30.0,
"playbackSpeedType":0,
"resourceType":"GMSequence",
"resourceVersion":"2.0",
"showBackdrop":true,
"showBackdropImage":false,
"timeUnits":1,
"tracks":[
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"3da4b352-4fd5-4f6a-ab44-21f458642cc5","path":"sprites/s_node_mirror_polar/s_node_mirror_polar.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"9709de7d-ad3f-4354-9aa9-70df4a3c9b99","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange":null,
"volume":1.0,
"xorigin":32,
"yorigin":32,
},
"swatchColours":null,
"swfPrecision":0.5,
"textureGroupId":{
"name":"Default",
"path":"texturegroups/Default",
},
"type":0,
"VTile":false,
"width":64,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View file

@ -0,0 +1,90 @@
{
"$GMSprite":"",
"%Name":"s_node_noise_blue",
"bboxMode":0,
"bbox_bottom":61,
"bbox_left":2,
"bbox_right":61,
"bbox_top":2,
"collisionKind":1,
"collisionTolerance":0,
"DynamicTexturePage":false,
"edgeFiltering":false,
"For3D":false,
"frames":[
{"$GMSpriteFrame":"","%Name":"0f673059-20ef-4899-8927-64fd45970667","name":"0f673059-20ef-4899-8927-64fd45970667","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
],
"gridX":0,
"gridY":0,
"height":64,
"HTile":false,
"layers":[
{"$GMImageLayer":"","%Name":"d9fe52c1-2602-415b-a8ff-e6b4141a21c2","blendMode":0,"displayName":"default","isLocked":false,"name":"d9fe52c1-2602-415b-a8ff-e6b4141a21c2","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
],
"name":"s_node_noise_blue",
"nineSlice":null,
"origin":4,
"parent":{
"name":"generator",
"path":"folders/nodes/icons/generator.yy",
},
"preMultiplyAlpha":false,
"resourceType":"GMSprite",
"resourceVersion":"2.0",
"sequence":{
"$GMSequence":"",
"%Name":"s_node_noise_blue",
"autoRecord":true,
"backdropHeight":768,
"backdropImageOpacity":0.5,
"backdropImagePath":"",
"backdropWidth":1366,
"backdropXOffset":0.0,
"backdropYOffset":0.0,
"events":{
"$KeyframeStore<MessageEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MessageEventKeyframe>",
"resourceVersion":"2.0",
},
"eventStubScript":null,
"eventToFunction":{},
"length":1.0,
"lockOrigin":false,
"moments":{
"$KeyframeStore<MomentsEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
"resourceVersion":"2.0",
},
"name":"s_node_noise_blue",
"playback":1,
"playbackSpeed":30.0,
"playbackSpeedType":0,
"resourceType":"GMSequence",
"resourceVersion":"2.0",
"showBackdrop":true,
"showBackdropImage":false,
"timeUnits":1,
"tracks":[
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"0f673059-20ef-4899-8927-64fd45970667","path":"sprites/s_node_noise_blue/s_node_noise_blue.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"91623e7b-7f13-4df6-b920-17ec620c4929","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange":null,
"volume":1.0,
"xorigin":32,
"yorigin":32,
},
"swatchColours":null,
"swfPrecision":0.5,
"textureGroupId":{
"name":"Default",
"path":"texturegroups/Default",
},
"type":0,
"VTile":false,
"width":64,
}