From c33ee1d016d6904af25412d5cd2eb8628bd9b5db Mon Sep 17 00:00:00 2001 From: unfa Date: Mon, 13 Sep 2021 01:10:22 +0200 Subject: [PATCH] Added a procedural blood splat VFX, and some other files related to that and a previous experiment with dynamic VFX made with Material Maker. --- Asset Sources/Effects/Blood Spray 2.ptex | 965 ++++++++++++++ Asset Sources/Effects/Blood Spray 2.ptex.mmcr | 1 + Asset Sources/Effects/Blood.ptex | 594 +++++++++ Asset Sources/Effects/Dynamic VFX Test.ptex | 1122 +++++++++++++++++ Game/Assets/Effects/BloodSpray.shader | 730 +++++++++++ Game/Assets/Effects/BloodSpray.tres | 7 + Game/Assets/Effects/EnergyHit.shader | 800 ++++++++++++ Game/Assets/Effects/EnergyHit.tres | 11 + Game/Assets/Effects/EnergyHit_texture_1.png | 3 + .../Effects/EnergyHit_texture_1.png.import | 35 + Game/Assets/Effects/EnergyHit_texture_2.png | 3 + .../Effects/EnergyHit_texture_2.png.import | 35 + Game/Assets/Effects/Impact.gd | 5 +- Game/Assets/Effects/ImpactBlood.gdshader | 594 +++++++++ Game/Assets/Effects/ImpactBlood.tscn | 64 +- 15 files changed, 4954 insertions(+), 15 deletions(-) create mode 100644 Asset Sources/Effects/Blood Spray 2.ptex create mode 100644 Asset Sources/Effects/Blood Spray 2.ptex.mmcr create mode 100644 Asset Sources/Effects/Blood.ptex create mode 100644 Asset Sources/Effects/Dynamic VFX Test.ptex create mode 100644 Game/Assets/Effects/BloodSpray.shader create mode 100644 Game/Assets/Effects/BloodSpray.tres create mode 100644 Game/Assets/Effects/EnergyHit.shader create mode 100644 Game/Assets/Effects/EnergyHit.tres create mode 100644 Game/Assets/Effects/EnergyHit_texture_1.png create mode 100644 Game/Assets/Effects/EnergyHit_texture_1.png.import create mode 100644 Game/Assets/Effects/EnergyHit_texture_2.png create mode 100644 Game/Assets/Effects/EnergyHit_texture_2.png.import create mode 100644 Game/Assets/Effects/ImpactBlood.gdshader diff --git a/Asset Sources/Effects/Blood Spray 2.ptex b/Asset Sources/Effects/Blood Spray 2.ptex new file mode 100644 index 0000000..c25768f --- /dev/null +++ b/Asset Sources/Effects/Blood Spray 2.ptex @@ -0,0 +1,965 @@ +{ + "connections": [ + { + "from": "math", + "from_port": 0, + "to": "math_2", + "to_port": 1 + }, + { + "from": "math_2", + "from_port": 0, + "to": "tones_range", + "to_port": 0 + }, + { + "from": "invert", + "from_port": 0, + "to": "transform2", + "to_port": 0 + }, + { + "from": "transform2", + "from_port": 0, + "to": "blend", + "to_port": 0 + }, + { + "from": "math", + "from_port": 0, + "to": "transform2", + "to_port": 2 + }, + { + "from": "colorize", + "from_port": 0, + "to": "blend", + "to_port": 1 + }, + { + "from": "math_2", + "from_port": 0, + "to": "tones_map", + "to_port": 0 + }, + { + "from": "tones_map", + "from_port": 0, + "to": "colorize", + "to_port": 0 + }, + { + "from": "rotate", + "from_port": 0, + "to": "circle_map", + "to_port": 0 + }, + { + "from": "shape", + "from_port": 0, + "to": "blend_2", + "to_port": 0 + }, + { + "from": "gradient", + "from_port": 0, + "to": "blend_3", + "to_port": 1 + }, + { + "from": "blend_3", + "from_port": 0, + "to": "math_2", + "to_port": 0 + }, + { + "from": "circle_map", + "from_port": 0, + "to": "blend_2", + "to_port": 1 + }, + { + "from": "perlin_5", + "from_port": 0, + "to": "shape_2", + "to_port": 1 + }, + { + "from": "blend_2", + "from_port": 0, + "to": "blend_4", + "to_port": 1 + }, + { + "from": "math", + "from_port": 0, + "to": "math_5", + "to_port": 0 + }, + { + "from": "math_5", + "from_port": 0, + "to": "transform2_2", + "to_port": 4 + }, + { + "from": "math_5", + "from_port": 0, + "to": "transform2_2", + "to_port": 5 + }, + { + "from": "shape_2", + "from_port": 0, + "to": "transform2_2", + "to_port": 0 + }, + { + "from": "blend_4", + "from_port": 0, + "to": "math_6", + "to_port": 0 + }, + { + "from": "math_7", + "from_port": 0, + "to": "colorize_2", + "to_port": 0 + }, + { + "from": "colorize_2", + "from_port": 0, + "to": "tones_map_2", + "to_port": 0 + }, + { + "from": "tones_map_2", + "from_port": 0, + "to": "math", + "to_port": 0 + }, + { + "from": "math", + "from_port": 0, + "to": "tonality", + "to_port": 0 + }, + { + "from": "math", + "from_port": 0, + "to": "tonality_2", + "to_port": 0 + }, + { + "from": "tonality_2", + "from_port": 0, + "to": "blend_4", + "to_port": 2 + }, + { + "from": "math_6", + "from_port": 0, + "to": "math_4", + "to_port": 0 + }, + { + "from": "tonality", + "from_port": 0, + "to": "math_4", + "to_port": 1 + }, + { + "from": "math_4", + "from_port": 0, + "to": "math_8", + "to_port": 1 + }, + { + "from": "math_8", + "from_port": 0, + "to": "Material", + "to_port": 7 + }, + { + "from": "normal_map", + "from_port": 0, + "to": "Material", + "to_port": 4 + }, + { + "from": "math_4", + "from_port": 0, + "to": "tones_range_2", + "to_port": 0 + }, + { + "from": "voronoi", + "from_port": 0, + "to": "invert", + "to_port": 0 + }, + { + "from": "tones_range_2", + "from_port": 0, + "to": "math_9", + "to_port": 0 + }, + { + "from": "math_9", + "from_port": 0, + "to": "normal_map", + "to_port": 0 + }, + { + "from": "perlin_4", + "from_port": 0, + "to": "translate", + "to_port": 0 + }, + { + "from": "translate", + "from_port": 0, + "to": "blend_3", + "to_port": 0 + }, + { + "from": "blend", + "from_port": 0, + "to": "translate_2", + "to_port": 0 + }, + { + "from": "translate_2", + "from_port": 0, + "to": "rotate", + "to_port": 0 + }, + { + "from": "perlin_3", + "from_port": 0, + "to": "rotate_2", + "to_port": 0 + }, + { + "from": "rotate_2", + "from_port": 0, + "to": "shape", + "to_port": 0 + }, + { + "from": "transform2_2", + "from_port": 0, + "to": "rotate_3", + "to_port": 0 + }, + { + "from": "rotate_3", + "from_port": 0, + "to": "blend_4", + "to_port": 0 + }, + { + "from": "math_8", + "from_port": 0, + "to": "debug", + "to_port": 0 + } + ], + "label": "Graph", + "longdesc": "", + "name": "@@2278", + "node_position": { + "x": 0, + "y": 0 + }, + "nodes": [ + { + "export_paths": { + "Godot": "/data/Projects/Games/Liblast/Game/Assets/Effects/BloodSpray" + }, + "name": "Material", + "node_position": { + "x": 3453.300049, + "y": -33.299999 + }, + "parameters": { + "albedo_color": { + "a": 1, + "b": 0, + "g": 0, + "r": 0.435868, + "type": "Color" + }, + "ao": 1, + "depth_scale": 0.5, + "emission_energy": 1, + "flags_transparent": true, + "metallic": 0.25, + "normal": 1, + "roughness": 0 + }, + "type": "material_dynamic" + }, + { + "name": "gradient", + "node_position": { + "x": -1601, + "y": 170.5 + }, + "parameters": { + "gradient": { + "interpolation": 1, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 1, + "pos": 1, + "r": 1 + } + ], + "type": "Gradient" + }, + "repeat": 1, + "rotate": -90 + }, + "type": "gradient" + }, + { + "name": "math", + "node_position": { + "x": -1482, + "y": -258.5 + }, + "parameters": { + "clamp": true, + "default_in1": 0, + "default_in2": 0, + "op": 7 + }, + "preview": 0, + "type": "math" + }, + { + "name": "tones_range", + "node_position": { + "x": -533, + "y": 57.5 + }, + "parameters": { + "contrast": 0, + "invert": false, + "value": 0, + "width": 0.25 + }, + "type": "tones_range" + }, + { + "name": "math_2", + "node_position": { + "x": -840, + "y": 125.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 1 + }, + "type": "math" + }, + { + "name": "voronoi", + "node_position": { + "x": -1216, + "y": 397.5 + }, + "parameters": { + "intensity": 1, + "randomness": 0.85, + "scale_x": 64, + "scale_y": 6, + "stretch_x": 1, + "stretch_y": 1 + }, + "type": "voronoi" + }, + { + "name": "invert", + "node_position": { + "x": -764, + "y": 373.5 + }, + "parameters": { + + }, + "type": "invert" + }, + { + "name": "blend", + "node_position": { + "x": 80.900002, + "y": 103.5 + }, + "parameters": { + "amount": 1, + "blend_type": 2 + }, + "type": "blend" + }, + { + "name": "transform2", + "node_position": { + "x": -483, + "y": 384.5 + }, + "parameters": { + "mode": 1, + "rotate": 0, + "scale_x": 1, + "scale_y": 1, + "translate_x": 0, + "translate_y": -0.65 + }, + "type": "transform2" + }, + { + "name": "colorize", + "node_position": { + "x": -250, + "y": -53.5 + }, + "parameters": { + "gradient": { + "interpolation": 1, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0.718182, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 1, + "pos": 0.918182, + "r": 1 + }, + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0.945455, + "r": 0 + } + ], + "type": "Gradient" + } + }, + "type": "colorize" + }, + { + "name": "tones_map", + "node_position": { + "x": -634, + "y": -92.5 + }, + "parameters": { + "in_max": 2.51, + "in_min": -1.95, + "out_max": 2, + "out_min": 0.08 + }, + "type": "tones_map" + }, + { + "name": "circle_map", + "node_position": { + "x": 932, + "y": 158.5 + }, + "parameters": { + "radius": 1, + "repeat": 1 + }, + "type": "circle_map" + }, + { + "name": "rotate", + "node_position": { + "x": 605, + "y": 159.5 + }, + "parameters": { + "cx": 0, + "cy": 0, + "rotate": 180 + }, + "type": "rotate" + }, + { + "name": "shape", + "node_position": { + "x": 842, + "y": -75.5 + }, + "parameters": { + "edge": 1, + "radius": 1, + "shape": 0, + "sides": 2 + }, + "type": "shape" + }, + { + "name": "blend_2", + "node_position": { + "x": 1225, + "y": -3.5 + }, + "parameters": { + "amount": 1, + "blend_type": 2 + }, + "type": "blend" + }, + { + "name": "perlin_3", + "node_position": { + "x": 192, + "y": -199.5 + }, + "parameters": { + "iterations": 2, + "persistence": 0.95, + "scale_x": 7, + "scale_y": 7 + }, + "type": "perlin" + }, + { + "name": "perlin_4", + "node_position": { + "x": -1822.943848, + "y": 400.052063 + }, + "parameters": { + "iterations": 1, + "persistence": 0.5, + "scale_x": 12, + "scale_y": 1 + }, + "type": "perlin" + }, + { + "name": "blend_3", + "node_position": { + "x": -1190.100098, + "y": 165.5 + }, + "parameters": { + "amount": 0.34, + "blend_type": 0 + }, + "type": "blend" + }, + { + "name": "perlin_5", + "node_position": { + "x": 274.25, + "y": -480.5 + }, + "parameters": { + "iterations": 8, + "persistence": 0.4, + "scale_x": 32, + "scale_y": 32 + }, + "type": "perlin" + }, + { + "name": "shape_2", + "node_position": { + "x": 869.25, + "y": -499.5 + }, + "parameters": { + "edge": 5, + "radius": 1, + "shape": 0, + "sides": 2 + }, + "type": "shape" + }, + { + "name": "blend_4", + "node_position": { + "x": 1645, + "y": 34.5 + }, + "parameters": { + "amount": 1, + "blend_type": 0 + }, + "seed_value": 64017, + "type": "blend" + }, + { + "name": "math_5", + "node_position": { + "x": 615.5, + "y": -305.399994 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0.2, + "op": 0 + }, + "type": "math" + }, + { + "name": "transform2_2", + "node_position": { + "x": 1157, + "y": -327.5 + }, + "parameters": { + "mode": 0, + "rotate": 0, + "scale_x": 2, + "scale_y": 2, + "translate_x": 0, + "translate_y": 0 + }, + "type": "transform2" + }, + { + "name": "math_6", + "node_position": { + "x": 1982.900024, + "y": 14.599997 + }, + "parameters": { + "clamp": true, + "default_in1": 0, + "default_in2": 1, + "op": 2 + }, + "type": "math" + }, + { + "name": "math_7", + "node_position": { + "x": -2693.599854, + "y": -278.5 + }, + "parameters": { + "clamp": false, + "default_in1": "$ANIM", + "default_in2": 0.55, + "op": 2 + }, + "type": "math" + }, + { + "name": "colorize_2", + "node_position": { + "x": -2108.300049, + "y": -303.899963 + }, + "parameters": { + "gradient": { + "interpolation": 1, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 1, + "pos": 1, + "r": 1 + } + ], + "type": "Gradient" + } + }, + "type": "colorize" + }, + { + "name": "tones_map_2", + "node_position": { + "x": -1778.300049, + "y": -246.699966 + }, + "parameters": { + "in_max": 1, + "in_min": -0.28, + "out_max": 1, + "out_min": 0 + }, + "type": "tones_map" + }, + { + "name": "tonality", + "node_position": { + "x": 2014.5, + "y": -131.199997 + }, + "parameters": { + "curve": { + "points": [ + { + "ls": 0, + "rs": -37.443563, + "x": 0, + "y": 1 + }, + { + "ls": 0, + "rs": -0, + "x": 0.045743, + "y": 0.00477 + }, + { + "ls": 1.276485, + "rs": 0.566183, + "x": 0.202899, + "y": 0.069952 + }, + { + "ls": 2.99028, + "rs": 3.026154, + "x": 0.633605, + "y": 0.527822 + }, + { + "ls": 0.266608, + "rs": -0, + "x": 1, + "y": 1 + } + ], + "type": "Curve" + } + }, + "type": "tonality" + }, + { + "name": "tonality_2", + "node_position": { + "x": 1427.099854, + "y": 193.299988 + }, + "parameters": { + "curve": { + "points": [ + { + "ls": 0, + "rs": -0.653084, + "x": 0, + "y": 0.887122 + }, + { + "ls": -0.936089, + "rs": -1.978554, + "x": 0.451993, + "y": 0.484897 + }, + { + "ls": 0.068362, + "rs": -0, + "x": 1, + "y": 0 + } + ], + "type": "Curve" + } + }, + "type": "tonality" + }, + { + "name": "normal_map", + "node_position": { + "x": 2750.400146, + "y": -89.400009 + }, + "parameters": { + "param0": 8, + "param1": -0.1, + "param2": 0, + "param4": 0 + }, + "type": "normal_map" + }, + { + "name": "math_4", + "node_position": { + "x": 2385.200195, + "y": 172.399979 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 1 + }, + "type": "math" + }, + { + "name": "math_8", + "node_position": { + "x": 2827.000244, + "y": 264.299988 + }, + "parameters": { + "clamp": true, + "default_in1": 0, + "default_in2": 0, + "op": 15 + }, + "type": "math" + }, + { + "name": "tones_range_2", + "node_position": { + "x": 2393.463135, + "y": -95.18222 + }, + "parameters": { + "contrast": 0.14, + "invert": false, + "value": 0.38, + "width": 0.83 + }, + "type": "tones_range" + }, + { + "name": "math_9", + "node_position": { + "x": 2595.863037, + "y": -258.482178 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 19 + }, + "type": "math" + }, + { + "name": "@@5166", + "node_position": { + "x": -3146.340088, + "y": -458.924744 + }, + "parameters": { + "ANIM": 0, + "OFFSET": 0 + }, + "type": "remote", + "widgets": [ + { + "default": 0.5, + "label": "Animation", + "max": 1, + "min": 0, + "name": "ANIM", + "step": 0.01, + "type": "named_parameter" + }, + { + "default": 0.5, + "label": "Offset", + "max": 1, + "min": 0, + "name": "OFFSET", + "step": 0.01, + "type": "named_parameter" + } + ] + }, + { + "name": "translate", + "node_position": { + "x": -1506.570068, + "y": 412.305725 + }, + "parameters": { + "translate_x": "$OFFSET * 3.5", + "translate_y": 0 + }, + "type": "translate" + }, + { + "name": "translate_2", + "node_position": { + "x": 309.736572, + "y": 255.589172 + }, + "parameters": { + "translate_x": "$OFFSET * 1.32", + "translate_y": 0 + }, + "type": "translate" + }, + { + "name": "rotate_2", + "node_position": { + "x": 540.236572, + "y": -80.410828 + }, + "parameters": { + "cx": 0, + "cy": 0, + "rotate": "$OFFSET * 180.0" + }, + "type": "rotate" + }, + { + "name": "rotate_3", + "node_position": { + "x": 1472.736572, + "y": -389.910828 + }, + "parameters": { + "cx": 0, + "cy": 0, + "rotate": "$OFFSET * 530.0" + }, + "type": "rotate" + }, + { + "name": "debug", + "node_position": { + "x": 3336.236572, + "y": -167.410828 + }, + "parameters": { + + }, + "type": "debug" + } + ], + "parameters": { + + }, + "shortdesc": "", + "type": "graph" +} \ No newline at end of file diff --git a/Asset Sources/Effects/Blood Spray 2.ptex.mmcr b/Asset Sources/Effects/Blood Spray 2.ptex.mmcr new file mode 100644 index 0000000..41a1ffa --- /dev/null +++ b/Asset Sources/Effects/Blood Spray 2.ptex.mmcr @@ -0,0 +1 @@ +{"name":"@@2278","type":"graph","parameters":{},"node_position":{"x":0,"y":0},"label":"Graph","shortdesc":"","longdesc":"","nodes":[{"name":"Material","type":"material_dynamic","parameters":{"albedo_color":{"type":"Color","r":0.435868,"g":0,"b":0,"a":1},"metallic":0.25,"roughness":0,"emission_energy":1,"normal":1,"ao":1,"depth_scale":0.5,"flags_transparent":true},"node_position":{"x":3453.300049,"y":-33.299999},"export_paths":{"Godot":"/data/Projects/Games/Liblast/Game/Assets/Effects/BloodSpray"}},{"name":"gradient","type":"gradient","parameters":{"repeat":1,"rotate":-90,"gradient":{"type":"Gradient","points":[{"pos":0,"r":0,"g":0,"b":0,"a":1},{"pos":1,"r":1,"g":1,"b":1,"a":1}],"interpolation":1}},"node_position":{"x":-1601,"y":170.5}},{"name":"math","type":"math","parameters":{"op":7,"default_in1":0,"default_in2":0,"clamp":true},"node_position":{"x":-1482,"y":-258.5},"preview":0},{"name":"tones_range","type":"tones_range","parameters":{"value":0,"width":0.25,"contrast":0,"invert":false},"node_position":{"x":-533,"y":57.5}},{"name":"math_2","type":"math","parameters":{"op":1,"default_in1":0,"default_in2":0,"clamp":false},"node_position":{"x":-840,"y":125.5}},{"name":"voronoi","type":"voronoi","parameters":{"scale_x":64,"scale_y":6,"stretch_x":1,"stretch_y":1,"intensity":1,"randomness":0.85},"node_position":{"x":-1216,"y":397.5}},{"name":"invert","type":"invert","parameters":{},"node_position":{"x":-764,"y":373.5}},{"name":"blend","type":"blend","parameters":{"blend_type":2,"amount":1},"node_position":{"x":80.900002,"y":103.5}},{"name":"transform2","type":"transform2","parameters":{"translate_x":0,"translate_y":-0.65,"rotate":0,"scale_x":1,"scale_y":1,"mode":1},"node_position":{"x":-483,"y":384.5}},{"name":"colorize","type":"colorize","parameters":{"gradient":{"type":"Gradient","points":[{"pos":0.718182,"r":0,"g":0,"b":0,"a":1},{"pos":0.918182,"r":1,"g":1,"b":1,"a":1},{"pos":0.945455,"r":0,"g":0,"b":0,"a":1}],"interpolation":1}},"node_position":{"x":-250,"y":-53.5}},{"name":"tones_map","type":"tones_map","parameters":{"in_min":-1.95,"in_max":2.51,"out_min":0.08,"out_max":2},"node_position":{"x":-634,"y":-92.5}},{"name":"circle_map","type":"circle_map","parameters":{"radius":1,"repeat":1},"node_position":{"x":932,"y":158.5}},{"name":"rotate","type":"rotate","parameters":{"cx":0,"cy":0,"rotate":180},"node_position":{"x":605,"y":159.5}},{"name":"shape","type":"shape","parameters":{"shape":0,"sides":2,"radius":1,"edge":1},"node_position":{"x":842,"y":-75.5}},{"name":"blend_2","type":"blend","parameters":{"blend_type":2,"amount":1},"node_position":{"x":1225,"y":-3.5}},{"name":"perlin_3","type":"perlin","parameters":{"scale_x":7,"scale_y":7,"iterations":2,"persistence":0.95},"node_position":{"x":192,"y":-199.5}},{"name":"perlin_4","type":"perlin","parameters":{"scale_x":12,"scale_y":1,"iterations":1,"persistence":0.5},"node_position":{"x":-1822.943848,"y":400.052063}},{"name":"blend_3","type":"blend","parameters":{"blend_type":0,"amount":0.34},"node_position":{"x":-1190.100098,"y":165.5}},{"name":"perlin_5","type":"perlin","parameters":{"scale_x":32,"scale_y":32,"iterations":8,"persistence":0.4},"node_position":{"x":274.25,"y":-480.5}},{"name":"shape_2","type":"shape","parameters":{"shape":0,"sides":2,"radius":1,"edge":5},"node_position":{"x":869.25,"y":-499.5}},{"name":"blend_4","type":"blend","parameters":{"blend_type":0,"amount":1},"node_position":{"x":1645,"y":34.5},"seed_value":64017},{"name":"math_5","type":"math","parameters":{"op":0,"default_in1":0,"default_in2":0.2,"clamp":false},"node_position":{"x":615.5,"y":-305.399994}},{"name":"transform2_2","type":"transform2","parameters":{"translate_x":0,"translate_y":0,"rotate":0,"scale_x":2,"scale_y":2,"mode":0},"node_position":{"x":1157,"y":-327.5}},{"name":"math_6","type":"math","parameters":{"op":2,"default_in1":0,"default_in2":1,"clamp":true},"node_position":{"x":1982.900024,"y":14.599997}},{"name":"math_7","type":"math","parameters":{"op":2,"default_in1":"$ANIM","default_in2":0.55,"clamp":false},"node_position":{"x":-2693.599854,"y":-278.5}},{"name":"colorize_2","type":"colorize","parameters":{"gradient":{"type":"Gradient","points":[{"pos":0,"r":0,"g":0,"b":0,"a":1},{"pos":1,"r":1,"g":1,"b":1,"a":1}],"interpolation":1}},"node_position":{"x":-2108.300049,"y":-303.899963}},{"name":"tones_map_2","type":"tones_map","parameters":{"in_min":-0.28,"in_max":1,"out_min":0,"out_max":1},"node_position":{"x":-1778.300049,"y":-246.699966}},{"name":"tonality","type":"tonality","parameters":{"curve":{"type":"Curve","points":[{"x":0,"y":1,"ls":0,"rs":-37.443563},{"x":0.045743,"y":0.00477,"ls":0,"rs":-0},{"x":0.202899,"y":0.069952,"ls":1.276485,"rs":0.566183},{"x":0.633605,"y":0.527822,"ls":2.99028,"rs":3.026154},{"x":1,"y":1,"ls":0.266608,"rs":-0}]}},"node_position":{"x":2014.5,"y":-131.199997}},{"name":"tonality_2","type":"tonality","parameters":{"curve":{"type":"Curve","points":[{"x":0,"y":0.887122,"ls":0,"rs":-0.653084},{"x":0.451993,"y":0.484897,"ls":-0.936089,"rs":-1.978554},{"x":1,"y":0,"ls":0.068362,"rs":-0}]}},"node_position":{"x":1427.099854,"y":193.299988}},{"name":"normal_map","type":"normal_map","parameters":{"param2":0,"param0":8,"param1":-0.1,"param4":0},"node_position":{"x":2750.400146,"y":-89.400009}},{"name":"math_4","type":"math","parameters":{"op":1,"default_in1":0,"default_in2":0,"clamp":false},"node_position":{"x":2125.545654,"y":199.663681}},{"name":"math_8","type":"math","parameters":{"op":15,"default_in1":0.05,"default_in2":0,"clamp":true},"node_position":{"x":2867.246826,"y":183.807083}},{"name":"tones_range_2","type":"tones_range","parameters":{"value":0.38,"width":0.83,"contrast":0.14,"invert":false},"node_position":{"x":2393.463135,"y":-95.18222}},{"name":"math_9","type":"math","parameters":{"op":19,"default_in1":0,"default_in2":0,"clamp":false},"node_position":{"x":2595.863037,"y":-258.482178}},{"name":"@@5166","type":"remote","parameters":{"ANIM":0.69,"OFFSET":0},"node_position":{"x":-3146.340088,"y":-458.924744},"widgets":[{"name":"ANIM","label":"Animation","type":"named_parameter","min":0,"max":1,"step":0.01,"default":0.5},{"name":"OFFSET","label":"Offset","type":"named_parameter","min":0,"max":1,"step":0.01,"default":0.5}]},{"name":"translate","type":"translate","parameters":{"translate_x":"$OFFSET * 3.5","translate_y":0},"node_position":{"x":-1506.570068,"y":412.305725}},{"name":"translate_2","type":"translate","parameters":{"translate_x":"$OFFSET * 1.32","translate_y":0},"node_position":{"x":309.736572,"y":255.589172}},{"name":"rotate_2","type":"rotate","parameters":{"cx":0,"cy":0,"rotate":"$OFFSET * 180.0"},"node_position":{"x":540.236572,"y":-80.410828}},{"name":"rotate_3","type":"rotate","parameters":{"cx":0,"cy":0,"rotate":"$OFFSET * 530.0"},"node_position":{"x":1472.736572,"y":-389.910828}},{"name":"debug","type":"debug","parameters":{},"node_position":{"x":3336.236328,"y":-168.709106}},{"name":"scale","type":"scale","parameters":{"cx":0,"cy":0,"scale_x":2.1,"scale_y":2.1},"node_position":{"x":2389.141602,"y":227.911255}}],"connections":[{"from":"math","from_port":0,"to":"math_2","to_port":1},{"from":"math_2","from_port":0,"to":"tones_range","to_port":0},{"from":"invert","from_port":0,"to":"transform2","to_port":0},{"from":"transform2","from_port":0,"to":"blend","to_port":0},{"from":"math","from_port":0,"to":"transform2","to_port":2},{"from":"colorize","from_port":0,"to":"blend","to_port":1},{"from":"math_2","from_port":0,"to":"tones_map","to_port":0},{"from":"tones_map","from_port":0,"to":"colorize","to_port":0},{"from":"rotate","from_port":0,"to":"circle_map","to_port":0},{"from":"shape","from_port":0,"to":"blend_2","to_port":0},{"from":"gradient","from_port":0,"to":"blend_3","to_port":1},{"from":"blend_3","from_port":0,"to":"math_2","to_port":0},{"from":"circle_map","from_port":0,"to":"blend_2","to_port":1},{"from":"perlin_5","from_port":0,"to":"shape_2","to_port":1},{"from":"blend_2","from_port":0,"to":"blend_4","to_port":1},{"from":"math","from_port":0,"to":"math_5","to_port":0},{"from":"math_5","from_port":0,"to":"transform2_2","to_port":4},{"from":"math_5","from_port":0,"to":"transform2_2","to_port":5},{"from":"shape_2","from_port":0,"to":"transform2_2","to_port":0},{"from":"blend_4","from_port":0,"to":"math_6","to_port":0},{"from":"math_7","from_port":0,"to":"colorize_2","to_port":0},{"from":"colorize_2","from_port":0,"to":"tones_map_2","to_port":0},{"from":"tones_map_2","from_port":0,"to":"math","to_port":0},{"from":"math","from_port":0,"to":"tonality","to_port":0},{"from":"math","from_port":0,"to":"tonality_2","to_port":0},{"from":"tonality_2","from_port":0,"to":"blend_4","to_port":2},{"from":"math_6","from_port":0,"to":"math_4","to_port":0},{"from":"tonality","from_port":0,"to":"math_4","to_port":1},{"from":"math_8","from_port":0,"to":"Material","to_port":7},{"from":"normal_map","from_port":0,"to":"Material","to_port":4},{"from":"voronoi","from_port":0,"to":"invert","to_port":0},{"from":"tones_range_2","from_port":0,"to":"math_9","to_port":0},{"from":"math_9","from_port":0,"to":"normal_map","to_port":0},{"from":"perlin_4","from_port":0,"to":"translate","to_port":0},{"from":"translate","from_port":0,"to":"blend_3","to_port":0},{"from":"blend","from_port":0,"to":"translate_2","to_port":0},{"from":"translate_2","from_port":0,"to":"rotate","to_port":0},{"from":"perlin_3","from_port":0,"to":"rotate_2","to_port":0},{"from":"rotate_2","from_port":0,"to":"shape","to_port":0},{"from":"transform2_2","from_port":0,"to":"rotate_3","to_port":0},{"from":"rotate_3","from_port":0,"to":"blend_4","to_port":0},{"from":"math_4","from_port":0,"to":"scale","to_port":0},{"from":"scale","from_port":0,"to":"tones_range_2","to_port":0},{"from":"scale","from_port":0,"to":"math_8","to_port":1},{"from":"normal_map","from_port":0,"to":"debug","to_port":0}]} \ No newline at end of file diff --git a/Asset Sources/Effects/Blood.ptex b/Asset Sources/Effects/Blood.ptex new file mode 100644 index 0000000..451dc93 --- /dev/null +++ b/Asset Sources/Effects/Blood.ptex @@ -0,0 +1,594 @@ +{ + "connections": [ + { + "from": "perlin", + "from_port": 0, + "to": "blend", + "to_port": 0 + }, + { + "from": "gradient", + "from_port": 0, + "to": "math", + "to_port": 0 + }, + { + "from": "math", + "from_port": 0, + "to": "blend", + "to_port": 1 + }, + { + "from": "blend", + "from_port": 0, + "to": "circle_map", + "to_port": 0 + }, + { + "from": "math_3", + "from_port": 0, + "to": "math", + "to_port": 1 + }, + { + "from": "circle_map", + "from_port": 0, + "to": "blend_2", + "to_port": 1 + }, + { + "from": "transform2", + "from_port": 0, + "to": "blend_2", + "to_port": 0 + }, + { + "from": "perlin_2", + "from_port": 0, + "to": "transform2", + "to_port": 0 + }, + { + "from": "math_5", + "from_port": 0, + "to": "math_3", + "to_port": 0 + }, + { + "from": "math_3", + "from_port": 0, + "to": "math_4", + "to_port": 0 + }, + { + "from": "math_4", + "from_port": 0, + "to": "tones_map_2", + "to_port": 0 + }, + { + "from": "tones_map_2", + "from_port": 0, + "to": "transform2", + "to_port": 4 + }, + { + "from": "tones_map_2", + "from_port": 0, + "to": "transform2", + "to_port": 5 + }, + { + "from": "math_3", + "from_port": 0, + "to": "transform2", + "to_port": 3 + }, + { + "from": "perlin_3", + "from_port": 0, + "to": "transform2_2", + "to_port": 0 + }, + { + "from": "tones_map_2", + "from_port": 0, + "to": "transform2_2", + "to_port": 4 + }, + { + "from": "tones_map_2", + "from_port": 0, + "to": "transform2_2", + "to_port": 5 + }, + { + "from": "math_3", + "from_port": 0, + "to": "transform2_2", + "to_port": 3 + }, + { + "from": "blend_2", + "from_port": 0, + "to": "blend_3", + "to_port": 1 + }, + { + "from": "transform2_2", + "from_port": 0, + "to": "blend_3", + "to_port": 0 + }, + { + "from": "math_6", + "from_port": 0, + "to": "math_5", + "to_port": 0 + }, + { + "from": "tones_map_3", + "from_port": 0, + "to": "math_7", + "to_port": 0 + }, + { + "from": "math_7", + "from_port": 0, + "to": "Material", + "to_port": 0 + }, + { + "from": "math_2", + "from_port": 0, + "to": "math_8", + "to_port": 0 + }, + { + "from": "blend_3", + "from_port": 0, + "to": "math_2", + "to_port": 0 + }, + { + "from": "math_3", + "from_port": 0, + "to": "math_9", + "to_port": 1 + }, + { + "from": "math_8", + "from_port": 0, + "to": "math_9", + "to_port": 0 + }, + { + "from": "math_9", + "from_port": 0, + "to": "tones_map_3", + "to_port": 0 + }, + { + "from": "shape", + "from_port": 0, + "to": "math_2", + "to_port": 1 + } + ], + "label": "Graph", + "longdesc": "", + "name": "@@271", + "node_position": { + "x": 0, + "y": 0 + }, + "nodes": [ + { + "export_paths": { + + }, + "name": "Material", + "node_position": { + "x": 2627, + "y": -126 + }, + "parameters": { + "blend": 0 + }, + "type": "material_unlit" + }, + { + "name": "perlin", + "node_position": { + "x": -853, + "y": 124.5 + }, + "parameters": { + "iterations": 2, + "persistence": 0.5, + "scale_x": 63, + "scale_y": 1 + }, + "type": "perlin" + }, + { + "name": "circle_map", + "node_position": { + "x": -82.090912, + "y": 255.590912 + }, + "parameters": { + "radius": 1, + "repeat": 1 + }, + "preview": 0, + "type": "circle_map" + }, + { + "name": "gradient", + "node_position": { + "x": -1044, + "y": 443.5 + }, + "parameters": { + "gradient": { + "interpolation": 1, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 1, + "pos": 1, + "r": 1 + } + ], + "type": "Gradient" + }, + "repeat": 1, + "rotate": -90 + }, + "type": "gradient" + }, + { + "name": "blend", + "node_position": { + "x": -376, + "y": 295.5 + }, + "parameters": { + "amount": 0.33, + "blend_type": 0 + }, + "type": "blend" + }, + { + "name": "math", + "node_position": { + "x": -667, + "y": 401.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 0 + }, + "type": "math" + }, + { + "name": "colorize", + "node_position": { + "x": 1615.181763, + "y": -153.5 + }, + "parameters": { + "gradient": { + "interpolation": 1, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0.328512, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 1, + "pos": 0.337603, + "r": 1 + }, + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0.483058, + "r": 0 + } + ], + "type": "Gradient" + } + }, + "type": "colorize" + }, + { + "name": "shape", + "node_position": { + "x": 452, + "y": -353.5 + }, + "parameters": { + "edge": 1, + "radius": 1, + "shape": 0, + "sides": 15 + }, + "type": "shape" + }, + { + "name": "math_2", + "node_position": { + "x": 814, + "y": 58.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 2 + }, + "type": "math" + }, + { + "name": "math_3", + "node_position": { + "x": -868, + "y": -292.5 + }, + "parameters": { + "clamp": true, + "default_in1": 0, + "default_in2": 0, + "op": 0 + }, + "type": "math" + }, + { + "name": "perlin_2", + "node_position": { + "x": -498.5, + "y": -603.5 + }, + "parameters": { + "iterations": 7, + "persistence": 0.75, + "scale_x": 16, + "scale_y": 16 + }, + "type": "perlin" + }, + { + "name": "transform2", + "node_position": { + "x": 148, + "y": -267.5 + }, + "parameters": { + "mode": 1, + "rotate": 15, + "scale_x": 1, + "scale_y": 1, + "translate_x": 0, + "translate_y": 0 + }, + "type": "transform2" + }, + { + "name": "blend_2", + "node_position": { + "x": 190, + "y": 231.5 + }, + "parameters": { + "amount": 0.39, + "blend_type": 4 + }, + "type": "blend" + }, + { + "name": "math_5", + "node_position": { + "x": -1260.090942, + "y": -276.136383 + }, + "parameters": { + "clamp": false, + "default_in1": "$time", + "default_in2": 0, + "op": 12 + }, + "type": "math" + }, + { + "name": "tones_map_2", + "node_position": { + "x": -161.681885, + "y": -124.818176 + }, + "parameters": { + "in_max": 1, + "in_min": 0, + "out_max": 5.16, + "out_min": 0.7 + }, + "type": "tones_map" + }, + { + "name": "math_4", + "node_position": { + "x": -453.681885, + "y": -87.818176 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 2.11, + "op": 6 + }, + "type": "math" + }, + { + "name": "perlin_3", + "node_position": { + "x": -189.181885, + "y": -627.818176 + }, + "parameters": { + "iterations": 9, + "persistence": 0.75, + "scale_x": 8, + "scale_y": 8 + }, + "type": "perlin" + }, + { + "name": "transform2_2", + "node_position": { + "x": 170.318115, + "y": -537.318176 + }, + "parameters": { + "mode": 1, + "rotate": -15, + "scale_x": 1, + "scale_y": 1, + "translate_x": 0, + "translate_y": 0 + }, + "type": "transform2" + }, + { + "name": "blend_3", + "node_position": { + "x": 439.317993, + "y": 204.681824 + }, + "parameters": { + "amount": 0.22, + "blend_type": 4 + }, + "type": "blend" + }, + { + "name": "tones_map_3", + "node_position": { + "x": 2065.318115, + "y": -10.818176 + }, + "parameters": { + "in_max": 0.78, + "in_min": 0.08, + "out_max": 1, + "out_min": 0 + }, + "type": "tones_map" + }, + { + "name": "math_6", + "node_position": { + "x": -1519.181885, + "y": -274.818176 + }, + "parameters": { + "clamp": false, + "default_in1": "$time", + "default_in2": 2, + "op": 2 + }, + "type": "math" + }, + { + "name": "math_7", + "node_position": { + "x": 2378.318115, + "y": -27.818176 + }, + "parameters": { + "clamp": true, + "default_in1": 0, + "default_in2": 0, + "op": 0 + }, + "type": "math" + }, + { + "name": "math_8", + "node_position": { + "x": 1082.318115, + "y": 70.181824 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 1, + "op": 6 + }, + "type": "math" + }, + { + "name": "math_9", + "node_position": { + "x": 1404.318115, + "y": -27.818176 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 0 + }, + "type": "math" + }, + { + "name": "math_10", + "node_position": { + "x": 1231.318115, + "y": -382.818176 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 0 + }, + "type": "math" + }, + { + "name": "shape_2", + "node_position": { + "x": 773.318115, + "y": -582.818237 + }, + "parameters": { + "edge": 1, + "radius": 1, + "shape": 0, + "sides": 15 + }, + "type": "shape" + } + ], + "parameters": { + + }, + "shortdesc": "", + "type": "graph" +} \ No newline at end of file diff --git a/Asset Sources/Effects/Dynamic VFX Test.ptex b/Asset Sources/Effects/Dynamic VFX Test.ptex new file mode 100644 index 0000000..9d4a791 --- /dev/null +++ b/Asset Sources/Effects/Dynamic VFX Test.ptex @@ -0,0 +1,1122 @@ +{ + "connections": [ + { + "from": "uniform_greyscale", + "from_port": 0, + "to": "shape", + "to_port": 0 + }, + { + "from": "shape", + "from_port": 0, + "to": "math_2", + "to_port": 0 + }, + { + "from": "shape_2", + "from_port": 0, + "to": "math_2", + "to_port": 1 + }, + { + "from": "math", + "from_port": 0, + "to": "math_3", + "to_port": 0 + }, + { + "from": "math_3", + "from_port": 0, + "to": "shape_2", + "to_port": 0 + }, + { + "from": "math_2", + "from_port": 0, + "to": "math_4", + "to_port": 0 + }, + { + "from": "uniform_greyscale", + "from_port": 0, + "to": "tonality", + "to_port": 0 + }, + { + "from": "tonality", + "from_port": 0, + "to": "math_4", + "to_port": 1 + }, + { + "from": "translate", + "from_port": 0, + "to": "warp_2", + "to_port": 1 + }, + { + "from": "translate_2", + "from_port": 0, + "to": "warp", + "to_port": 1 + }, + { + "from": "tones", + "from_port": 0, + "to": "warp", + "to_port": 0 + }, + { + "from": "tones", + "from_port": 0, + "to": "warp_2", + "to_port": 0 + }, + { + "from": "warp_2", + "from_port": 0, + "to": "math_5", + "to_port": 0 + }, + { + "from": "warp", + "from_port": 0, + "to": "math_5", + "to_port": 1 + }, + { + "from": "perlin_2", + "from_port": 0, + "to": "buffer_2", + "to_port": 0 + }, + { + "from": "buffer_2", + "from_port": 0, + "to": "translate", + "to_port": 0 + }, + { + "from": "perlin", + "from_port": 0, + "to": "buffer_3", + "to_port": 0 + }, + { + "from": "buffer_3", + "from_port": 0, + "to": "translate_2", + "to_port": 0 + }, + { + "from": "math_4", + "from_port": 0, + "to": "math_6", + "to_port": 0 + }, + { + "from": "math_6", + "from_port": 0, + "to": "tones", + "to_port": 0 + }, + { + "from": "buffer_3", + "from_port": 0, + "to": "translate_3", + "to_port": 0 + }, + { + "from": "translate_3", + "from_port": 0, + "to": "math_6", + "to_port": 1 + }, + { + "from": "math_5", + "from_port": 0, + "to": "math_7", + "to_port": 0 + }, + { + "from": "math_6", + "from_port": 0, + "to": "warp_3", + "to_port": 0 + }, + { + "from": "translate_2", + "from_port": 0, + "to": "warp_4", + "to_port": 1 + }, + { + "from": "warp_4", + "from_port": 0, + "to": "warp_3", + "to_port": 1 + }, + { + "from": "warp_3", + "from_port": 0, + "to": "math_7", + "to_port": 1 + }, + { + "from": "math_7", + "from_port": 0, + "to": "math_8", + "to_port": 0 + }, + { + "from": "tonality_2", + "from_port": 0, + "to": "math", + "to_port": 0 + }, + { + "from": "uniform_greyscale", + "from_port": 0, + "to": "tonality_2", + "to_port": 0 + }, + { + "from": "math_8", + "from_port": 0, + "to": "warp_5", + "to_port": 0 + }, + { + "from": "uniform_greyscale", + "from_port": 0, + "to": "tonality_3", + "to_port": 0 + }, + { + "from": "tonality_3", + "from_port": 0, + "to": "shape_3", + "to_port": 0 + }, + { + "from": "shape_3", + "from_port": 0, + "to": "colorize_2", + "to_port": 0 + }, + { + "from": "colorize_2", + "from_port": 0, + "to": "blend", + "to_port": 1 + }, + { + "from": "blend", + "from_port": 0, + "to": "warp_5", + "to_port": 1 + }, + { + "from": "circular_gradient", + "from_port": 0, + "to": "blend", + "to_port": 0 + }, + { + "from": "uniform_greyscale", + "from_port": 0, + "to": "tonality_4", + "to_port": 0 + }, + { + "from": "warp_5", + "from_port": 0, + "to": "blend_2", + "to_port": 1 + }, + { + "from": "blend_2", + "from_port": 0, + "to": "colorize", + "to_port": 0 + }, + { + "from": "colorize", + "from_port": 0, + "to": "adjust_hsv", + "to_port": 0 + }, + { + "from": "tonality_4", + "from_port": 0, + "to": "math_9", + "to_port": 0 + }, + { + "from": "math_9", + "from_port": 0, + "to": "shape_4", + "to_port": 0 + }, + { + "from": "shape_4", + "from_port": 0, + "to": "warp_6", + "to_port": 0 + }, + { + "from": "translate_2", + "from_port": 0, + "to": "warp_6", + "to_port": 1 + }, + { + "from": "warp_6", + "from_port": 0, + "to": "warp_7", + "to_port": 0 + }, + { + "from": "warp_7", + "from_port": 0, + "to": "blend_2", + "to_port": 0 + }, + { + "from": "translate", + "from_port": 0, + "to": "warp_7", + "to_port": 1 + }, + { + "from": "adjust_hsv", + "from_port": 0, + "to": "scale", + "to_port": 0 + }, + { + "from": "scale", + "from_port": 0, + "to": "Material", + "to_port": 0 + } + ], + "label": "Graph", + "longdesc": "", + "name": "268", + "node_position": { + "x": 0, + "y": 0 + }, + "nodes": [ + { + "export_paths": { + "Godot": "/data/Projects/Games/Liblast/Game/Assets/Effects/EnergyHit" + }, + "name": "Material", + "node_position": { + "x": 3956, + "y": 179 + }, + "parameters": { + "blend": 0 + }, + "type": "material_unlit" + }, + { + "name": "shape", + "node_position": { + "x": -260, + "y": 16.5 + }, + "parameters": { + "edge": 0.61, + "radius": 0.906667, + "shape": 0, + "sides": 2 + }, + "type": "shape" + }, + { + "name": "uniform_greyscale", + "node_position": { + "x": -1401, + "y": 133.5 + }, + "parameters": { + "color": 0.5 + }, + "type": "uniform_greyscale" + }, + { + "name": "shape_2", + "node_position": { + "x": -89, + "y": 240.5 + }, + "parameters": { + "edge": 0.61, + "radius": 0.906667, + "shape": 0, + "sides": 2 + }, + "type": "shape" + }, + { + "name": "math", + "node_position": { + "x": -848, + "y": 379.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 1 + }, + "type": "math" + }, + { + "name": "math_2", + "node_position": { + "x": 120, + "y": 90.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 1 + }, + "type": "math" + }, + { + "name": "math_3", + "node_position": { + "x": -319.5, + "y": 252.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 2.09, + "op": 3 + }, + "type": "math" + }, + { + "name": "math_4", + "node_position": { + "x": 251, + "y": 275.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 2 + }, + "type": "math" + }, + { + "name": "tonality", + "node_position": { + "x": 13, + "y": 426.5 + }, + "parameters": { + "curve": { + "points": [ + { + "ls": 0, + "rs": 34.721781, + "x": 0, + "y": 0 + }, + { + "ls": 0, + "rs": -0, + "x": 0.141026, + "y": 0.965024 + }, + { + "ls": -0.939838, + "rs": -1.217518, + "x": 0.74359, + "y": 0.774245 + }, + { + "ls": 0, + "rs": -0, + "x": 1, + "y": 0 + } + ], + "type": "Curve" + } + }, + "type": "tonality" + }, + { + "name": "warp", + "node_position": { + "x": 1250, + "y": 184.5 + }, + "parameters": { + "amount": 0.06, + "eps": 0.145, + "mode": 0 + }, + "type": "warp" + }, + { + "name": "perlin", + "node_position": { + "x": 231, + "y": -167.5 + }, + "parameters": { + "iterations": 13, + "persistence": 0.65, + "scale_x": 11, + "scale_y": 11 + }, + "type": "perlin" + }, + { + "name": "perlin_2", + "node_position": { + "x": 228.5, + "y": -336.5 + }, + "parameters": { + "iterations": 9, + "persistence": 0.65, + "scale_x": 4, + "scale_y": 4 + }, + "type": "perlin" + }, + { + "name": "warp_2", + "node_position": { + "x": 1322, + "y": -17.5 + }, + "parameters": { + "amount": 0.025, + "eps": 0.04, + "mode": 0 + }, + "type": "warp" + }, + { + "name": "translate", + "node_position": { + "x": 970, + "y": -274.5 + }, + "parameters": { + "translate_x": 0, + "translate_y": "- $time / 3.0" + }, + "type": "translate" + }, + { + "name": "translate_2", + "node_position": { + "x": 909.5, + "y": -95.5 + }, + "parameters": { + "translate_x": 0, + "translate_y": "- $time / 6.0" + }, + "type": "translate" + }, + { + "name": "colorize", + "node_position": { + "x": 3170, + "y": 310.5 + }, + "parameters": { + "gradient": { + "interpolation": 1, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 0.71875, + "pos": 0.377056, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 0.878683, + "pos": 0.777056, + "r": 0.551359 + }, + { + "a": 1, + "b": 1, + "g": 0.925842, + "pos": 1, + "r": 0.789062 + } + ], + "type": "Gradient" + } + }, + "type": "colorize" + }, + { + "name": "tones", + "node_position": { + "x": 953, + "y": 167.5 + }, + "parameters": { + "in_max": { + "a": 1, + "b": 1, + "g": 1, + "r": 1, + "type": "Color" + }, + "in_mid": { + "a": 0.5, + "b": 0.575, + "g": 0.575, + "r": 0.575, + "type": "Color" + }, + "in_min": { + "a": 0, + "b": 0, + "g": 0, + "r": 0, + "type": "Color" + }, + "out_max": { + "a": 1, + "b": 1, + "g": 1, + "r": 1, + "type": "Color" + }, + "out_min": { + "a": 0, + "b": 0, + "g": 0, + "r": 0, + "type": "Color" + } + }, + "type": "tones" + }, + { + "name": "math_5", + "node_position": { + "x": 1525, + "y": 116.5 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 2 + }, + "type": "math" + }, + { + "name": "buffer_2", + "node_position": { + "x": 615, + "y": -374.5 + }, + "parameters": { + "size": 9 + }, + "type": "buffer", + "version": 1 + }, + { + "name": "buffer_3", + "node_position": { + "x": 540, + "y": -160 + }, + "parameters": { + "size": 9 + }, + "type": "buffer", + "version": 1 + }, + { + "name": "adjust_hsv", + "node_position": { + "x": 3398, + "y": 225.5 + }, + "parameters": { + "hue": 0, + "saturation": 1.9193, + "value": 1 + }, + "type": "adjust_hsv" + }, + { + "name": "math_6", + "node_position": { + "x": 655.476196, + "y": 195.523804 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 2 + }, + "type": "math" + }, + { + "name": "translate_3", + "node_position": { + "x": 448.976196, + "y": 384.523804 + }, + "parameters": { + "translate_x": 0, + "translate_y": "- $time / 12.0" + }, + "type": "translate" + }, + { + "name": "math_7", + "node_position": { + "x": 1742.476196, + "y": 305.523804 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 2 + }, + "type": "math" + }, + { + "name": "warp_3", + "node_position": { + "x": 1442.476196, + "y": 350.023804 + }, + "parameters": { + "amount": 0.025, + "eps": 0.145, + "mode": 0 + }, + "type": "warp" + }, + { + "name": "warp_4", + "node_position": { + "x": 1239.476196, + "y": 391.523804 + }, + "parameters": { + "amount": 0.355, + "eps": 0.1, + "mode": 0 + }, + "type": "warp" + }, + { + "name": "math_8", + "node_position": { + "x": 1974.976074, + "y": 230.523804 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 5.35, + "op": 2 + }, + "type": "math" + }, + { + "name": "tonality_2", + "node_position": { + "x": -1173.486816, + "y": 357.449707 + }, + "parameters": { + "curve": { + "points": [ + { + "ls": 0, + "rs": -0.058356, + "x": 0, + "y": 0 + }, + { + "ls": 0, + "rs": 0.172531, + "x": 0.101763, + "y": 0 + }, + { + "ls": 1.299929, + "rs": -0, + "x": 0.858974, + "y": 1 + }, + { + "ls": -0.032001, + "rs": -0, + "x": 1, + "y": 1 + } + ], + "type": "Curve" + } + }, + "type": "tonality" + }, + { + "name": "warp_5", + "node_position": { + "x": 2326.513184, + "y": 155.540619 + }, + "parameters": { + "amount": 0.42, + "eps": 0.005, + "mode": 0 + }, + "type": "warp" + }, + { + "name": "shape_3", + "node_position": { + "x": 1953.254395, + "y": -195.692245 + }, + "parameters": { + "edge": 1, + "radius": 0.906667, + "shape": 0, + "sides": 2 + }, + "type": "shape" + }, + { + "name": "tonality_3", + "node_position": { + "x": 1649.936279, + "y": -143.010422 + }, + "parameters": { + "curve": { + "points": [ + { + "ls": 0, + "rs": -0.058356, + "x": 0, + "y": 0 + }, + { + "ls": 0, + "rs": 0.172531, + "x": 0.101763, + "y": 0 + }, + { + "ls": -0.114467, + "rs": -0.042517, + "x": 0.697115, + "y": 0.763116 + }, + { + "ls": -0.032001, + "rs": -0, + "x": 1, + "y": 0 + } + ], + "type": "Curve" + } + }, + "type": "tonality" + }, + { + "name": "colorize_2", + "node_position": { + "x": 2204.890625, + "y": -124.055878 + }, + "parameters": { + "gradient": { + "interpolation": 3, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0, + "r": 0 + }, + { + "a": 1, + "b": 0.462632, + "g": 0.462632, + "pos": 0.298996, + "r": 0.462632 + }, + { + "a": 1, + "b": 1, + "g": 1, + "pos": 0.84445, + "r": 1 + }, + { + "a": 1, + "b": 0, + "g": 0, + "pos": 1, + "r": 0 + } + ], + "type": "Gradient" + } + }, + "type": "colorize" + }, + { + "name": "circular_gradient", + "node_position": { + "x": 1664.780273, + "y": -401.128906 + }, + "parameters": { + "gradient": { + "interpolation": 1, + "points": [ + { + "a": 1, + "b": 0, + "g": 0, + "pos": 0, + "r": 0 + }, + { + "a": 1, + "b": 1, + "g": 1, + "pos": 0.454544, + "r": 1 + }, + { + "a": 1, + "b": 0, + "g": 0, + "pos": 1, + "r": 0 + } + ], + "type": "Gradient" + }, + "repeat": 64 + }, + "type": "circular_gradient" + }, + { + "name": "blend", + "node_position": { + "x": 2498.780273, + "y": -295.128906 + }, + "parameters": { + "amount": 0.03, + "blend_type": 2 + }, + "type": "blend" + }, + { + "name": "blend_2", + "node_position": { + "x": 2869, + "y": 88.871094 + }, + "parameters": { + "amount": 1, + "blend_type": 3 + }, + "type": "blend" + }, + { + "name": "tonality_4", + "node_position": { + "x": 1878.5, + "y": 596.371094 + }, + "parameters": { + "curve": { + "points": [ + { + "ls": 0, + "rs": 99.205083, + "x": 0, + "y": 0 + }, + { + "ls": 0, + "rs": -9.920509, + "x": 0.020833, + "y": 0.99841 + }, + { + "ls": 0, + "rs": -0, + "x": 0.199519, + "y": 0 + }, + { + "ls": 0, + "rs": -0, + "x": 1, + "y": 0 + } + ], + "type": "Curve" + } + }, + "type": "tonality" + }, + { + "name": "shape_4", + "node_position": { + "x": 2431, + "y": 475.871094 + }, + "parameters": { + "edge": 1, + "radius": 1, + "shape": 0, + "sides": 2 + }, + "type": "shape" + }, + { + "name": "math_9", + "node_position": { + "x": 2145, + "y": 561.871094 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 2, + "op": 3 + }, + "type": "math" + }, + { + "name": "warp_6", + "node_position": { + "x": 2708, + "y": 400.871094 + }, + "parameters": { + "amount": 0.01, + "eps": 0.12, + "mode": 1 + }, + "type": "warp" + }, + { + "name": "warp_7", + "node_position": { + "x": 2775, + "y": 240.371094 + }, + "parameters": { + "amount": 0.045, + "eps": 0.12, + "mode": 1 + }, + "type": "warp" + }, + { + "name": "@@1661", + "node_position": { + "x": -1413, + "y": -181.128906 + }, + "parameters": { + "anim": 0.5, + "scale": 1.825 + }, + "type": "remote", + "widgets": [ + { + "label": "Anim", + "linked_widgets": [ + { + "node": "uniform_greyscale", + "widget": "color" + } + ], + "name": "anim", + "type": "linked_control" + }, + { + "label": "Scale", + "linked_widgets": [ + { + "node": "scale", + "widget": "scale_x" + }, + { + "node": "scale", + "widget": "scale_y" + } + ], + "name": "scale", + "type": "linked_control" + } + ] + }, + { + "name": "scale", + "node_position": { + "x": 3683, + "y": 201.871094 + }, + "parameters": { + "cx": 0, + "cy": 0, + "scale_x": 1.825, + "scale_y": 1.825 + }, + "type": "scale" + } + ], + "parameters": { + + }, + "shortdesc": "", + "type": "graph" +} \ No newline at end of file diff --git a/Game/Assets/Effects/BloodSpray.shader b/Game/Assets/Effects/BloodSpray.shader new file mode 100644 index 0000000..fc81703 --- /dev/null +++ b/Game/Assets/Effects/BloodSpray.shader @@ -0,0 +1,730 @@ +shader_type spatial; +uniform vec3 uv1_scale = vec3(1.0, 1.0, 1.0); +uniform int depth_min_layers = 8; +uniform int depth_max_layers = 16; +uniform vec2 depth_flip = vec2(1.0); +varying float elapsed_time; +void vertex() { + elapsed_time = TIME; +} +float rand(vec2 x) { + return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453); +} + +vec2 rand2(vec2 x) { + return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453); +} + +vec3 rand3(vec2 x) { + return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398)), + dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453); +} + +vec3 rgb2hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +const float o3007790_ANIM = 0; // {default:0.5, label:Animation, max:1, min:0, name:ANIM, step:0.01, type:named_parameter} +const float o3007790_OFFSET = 0; // {default:0.5, label:Offset, max:1, min:0, name:OFFSET, step:0.01, type:named_parameter} + + +float perlin(vec2 uv, vec2 size, int iterations, float persistence, int seed) { + vec2 seed2 = rand2(vec2(float(seed), 1.0-float(seed))); + float rv = 0.0; + float coef = 1.0; + float acc = 0.0; + for (int i = 0; i < iterations; ++i) { + vec2 step = vec2(1.0)/size; + vec2 xy = floor(uv*size); + float f0 = rand(seed2+mod(xy, size)); + float f1 = rand(seed2+mod(xy+vec2(1.0, 0.0), size)); + float f2 = rand(seed2+mod(xy+vec2(0.0, 1.0), size)); + float f3 = rand(seed2+mod(xy+vec2(1.0, 1.0), size)); + vec2 mixval = smoothstep(0.0, 1.0, fract(uv*size)); + rv += coef * mix(mix(f0, f1, mixval.x), mix(f2, f3, mixval.x), mixval.y); + acc += coef; + size *= 2.0; + coef *= persistence; + } + + return rv / acc; +} + +float shape_circle(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float distance = length(uv); + return clamp((1.0-distance/size)/edge, 0.0, 1.0); +} + +float shape_polygon(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y)+3.14159265359; + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} + +float shape_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y); + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(angle*sides/6.28318530718-0.5+2.0*step(fract(angle*sides/6.28318530718), 0.5))*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} + +float shape_curved_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359); + float slice = 6.28318530718/sides; + return clamp((1.0-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv)/size)/edge, 0.0, 1.0); +} + +float shape_rays(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = 0.5*max(edge, 1.0e-8)*size; + float slice = 6.28318530718/sides; + float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice; + return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0); +} + + +vec2 transform2_clamp(vec2 uv) { + return clamp(uv, vec2(0.0), vec2(1.0)); +} + +vec2 transform2(vec2 uv, vec2 translate, float rotate, vec2 scale) { + vec2 rv; + uv -= translate; + uv -= vec2(0.5); + rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; + rv.y = -sin(rotate)*uv.x + cos(rotate)*uv.y; + rv /= scale; + rv += vec2(0.5); + return rv; +} +vec2 rotate(vec2 uv, vec2 center, float rotate) { + vec2 rv; + uv -= center; + rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; + rv.y = -sin(rotate)*uv.x + cos(rotate)*uv.y; + rv += center; + return rv; +} +// Based on https://www.shadertoy.com/view/ldl3W8 +// The MIT License +// Copyright © 2013 Inigo Quilez +vec3 iq_voronoi(vec2 x, vec2 size, vec2 stretch, float randomness, vec2 seed) { + vec2 n = floor(x); + vec2 f = fract(x); + + vec2 mg, mr, mc; + float md = 8.0; + for (int j=-1; j<=1; j++) + for (int i=-1; i<=1; i++) { + vec2 g = vec2(float(i),float(j)); + vec2 o = randomness*rand2(seed + mod(n + g + size, size)); + vec2 c = g + o; + vec2 r = c - f; + vec2 rr = r*stretch; + float d = dot(rr,rr); + + if (d0.00001) + md = min(md, dot(0.5*(mr+r)*stretch, normalize((r-mr)*stretch))); + } + + return vec3(md, mc+n); +} + +vec4 voronoi(vec2 uv, vec2 size, vec2 stretch, float intensity, float randomness, int seed) { + uv *= size; + vec3 v = iq_voronoi(uv, size, stretch, randomness, rand2(vec2(float(seed), 1.0-float(seed)))); + return vec4(v.yz, intensity*length((uv-v.yz)*stretch), v.x); +} + +vec3 blend_normal(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1 + (1.0-opacity)*c2; +} + +vec3 blend_dissolve(vec2 uv, vec3 c1, vec3 c2, float opacity) { + if (rand(uv) < opacity) { + return c1; + } else { + return c2; + } +} + +vec3 blend_multiply(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1*c2 + (1.0-opacity)*c2; +} + +vec3 blend_screen(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2; +} + +float blend_overlay_f(float c1, float c2) { + return (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2)); +} + +vec3 blend_overlay(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_overlay_f(c1.x, c2.x), blend_overlay_f(c1.y, c2.y), blend_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +vec3 blend_hard_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*0.5*(c1*c2+blend_overlay(uv, c1, c2, 1.0)) + (1.0-opacity)*c2; +} + +float blend_soft_light_f(float c1, float c2) { + return (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0); +} + +vec3 blend_soft_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_soft_light_f(c1.x, c2.x), blend_soft_light_f(c1.y, c2.y), blend_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +float blend_burn_f(float c1, float c2) { + return (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0); +} + +vec3 blend_burn(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_burn_f(c1.x, c2.x), blend_burn_f(c1.y, c2.y), blend_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +float blend_dodge_f(float c1, float c2) { + return (c1==1.0)?c1:min(c2/(1.0-c1),1.0); +} + +vec3 blend_dodge(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_dodge_f(c1.x, c2.x), blend_dodge_f(c1.y, c2.y), blend_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +vec3 blend_lighten(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*max(c1, c2) + (1.0-opacity)*c2; +} + +vec3 blend_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*min(c1, c2) + (1.0-opacity)*c2; +} + +vec3 blend_difference(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2; +} + +vec3 process_normal_default(vec3 v, float multiplier) { + return 0.5*normalize(v.xyz*multiplier+vec3(0.0, 0.0, -1.0))+vec3(0.5); +} + +vec3 process_normal_opengl(vec3 v, float multiplier) { + return 0.5*normalize(v.xyz*multiplier+vec3(0.0, 0.0, 1.0))+vec3(0.5); +} + +vec3 process_normal_directx(vec3 v, float multiplier) { + return 0.5*normalize(v.xyz*vec3(1.0, -1.0, 1.0)*multiplier+vec3(0.0, 0.0, 1.0))+vec3(0.5); +} + +const float p_o1022114_albedo_color_r = 0.435868144; +const float p_o1022114_albedo_color_g = 0.000000000; +const float p_o1022114_albedo_color_b = 0.000000000; +const float p_o1022114_albedo_color_a = 1.000000000; +const float p_o1022114_metallic = 0.250000000; +const float p_o1022114_roughness = 0.000000000; +const float p_o1022114_emission_energy = 1.000000000; +const float p_o1022114_normal = 1.000000000; +const float p_o1022114_ao = 1.000000000; +const float p_o1022114_depth_scale = 0.500000000; +float o1022114_input_depth_tex(vec2 uv) { + +return 0.0; +} +const float p_o2599821_amount = -0.100000001; +const float p_o2964135_default_in1 = 0.000000000; +const float p_o2964135_default_in2 = 0.000000000; +const float p_o2720635_value = 0.380000000; +const float p_o2720635_width = 0.830000000; +const float p_o2720635_contrast = 0.140000000; +const float p_o2609904_default_in1 = 0.000000000; +const float p_o2609904_default_in2 = 0.000000000; +const float p_o1839956_default_in1 = 0.000000000; +const float p_o1839956_default_in2 = 1.000000000; +const float p_o1666169_amount = 1.000000000; +const float p_o3278853_cx = 0.000000000; +const float p_o3278853_cy = 0.000000000; +const float p_o1730094_translate_x = 0.000000000; +const float p_o1730094_translate_y = 0.000000000; +const float p_o1730094_rotate = 0.000000000; +const float p_o1730094_scale_x = 2.000000000; +const float p_o1730094_scale_y = 2.000000000; +const float p_o1711848_default_in1 = 0.000000000; +const float p_o1711848_default_in2 = 0.200000000; +const float p_o1053514_default_in1 = 0.000000000; +const float p_o1053514_default_in2 = 0.000000000; +const float p_o2016703_in_min = -0.280000000; +const float p_o2016703_in_max = 1.000000000; +const float p_o2016703_out_min = 0.000000000; +const float p_o2016703_out_max = 1.000000000; +const float p_o2003912_gradient_0_pos = 0.000000000; +const float p_o2003912_gradient_0_r = 0.000000000; +const float p_o2003912_gradient_0_g = 0.000000000; +const float p_o2003912_gradient_0_b = 0.000000000; +const float p_o2003912_gradient_0_a = 1.000000000; +const float p_o2003912_gradient_1_pos = 1.000000000; +const float p_o2003912_gradient_1_r = 1.000000000; +const float p_o2003912_gradient_1_g = 1.000000000; +const float p_o2003912_gradient_1_b = 1.000000000; +const float p_o2003912_gradient_1_a = 1.000000000; +vec4 o2003912_gradient_gradient_fct(float x) { + if (x < p_o2003912_gradient_0_pos) { + return vec4(p_o2003912_gradient_0_r,p_o2003912_gradient_0_g,p_o2003912_gradient_0_b,p_o2003912_gradient_0_a); + } else if (x < p_o2003912_gradient_1_pos) { + return mix(vec4(p_o2003912_gradient_0_r,p_o2003912_gradient_0_g,p_o2003912_gradient_0_b,p_o2003912_gradient_0_a), vec4(p_o2003912_gradient_1_r,p_o2003912_gradient_1_g,p_o2003912_gradient_1_b,p_o2003912_gradient_1_a), ((x-p_o2003912_gradient_0_pos)/(p_o2003912_gradient_1_pos-p_o2003912_gradient_0_pos))); + } + return vec4(p_o2003912_gradient_1_r,p_o2003912_gradient_1_g,p_o2003912_gradient_1_b,p_o2003912_gradient_1_a); +} +const float p_o1874989_default_in2 = 0.550000000; +const float p_o1646672_sides = 2.000000000; +const float p_o1646672_radius = 1.000000000; +const float p_o1646672_edge = 5.000000000; +const int seed_o1646669 = -20210; +const float p_o1646669_scale_x = 32.000000000; +const float p_o1646669_scale_y = 32.000000000; +const float p_o1646669_iterations = 8.000000000; +const float p_o1646669_persistence = 0.400000000; +const float p_o1227913_amount = 1.000000000; +const float p_o1227347_sides = 2.000000000; +const float p_o1227347_radius = 1.000000000; +const float p_o1227347_edge = 1.000000000; +const float p_o3232740_cx = 0.000000000; +const float p_o3232740_cy = 0.000000000; +const int seed_o1383595 = -22407; +const float p_o1383595_scale_x = 7.000000000; +const float p_o1383595_scale_y = 7.000000000; +const float p_o1383595_iterations = 2.000000000; +const float p_o1383595_persistence = 0.950000000; +const float p_o1170149_radius = 1.000000000; +const float p_o1170149_repeat = 1.000000000; +const float p_o1175160_cx = 0.000000000; +const float p_o1175160_cy = 0.000000000; +const float p_o1175160_rotate = 180.000000000; +const float p_o3180989_translate_y = 0.000000000; +const float p_o1107567_amount = 1.000000000; +const float p_o1115718_translate_x = 0.000000000; +const float p_o1115718_translate_y = -0.649999976; +const float p_o1115718_rotate = 0.000000000; +const float p_o1115718_scale_x = 1.000000000; +const float p_o1115718_scale_y = 1.000000000; +const int seed_o1098035 = -53939; +const float p_o1098035_scale_x = 64.000000000; +const float p_o1098035_scale_y = 6.000000000; +const float p_o1098035_stretch_x = 1.000000000; +const float p_o1098035_stretch_y = 1.000000000; +const float p_o1098035_intensity = 1.000000000; +const float p_o1098035_randomness = 0.850000000; +const float p_o1135497_gradient_0_pos = 0.718181818; +const float p_o1135497_gradient_0_r = 0.000000000; +const float p_o1135497_gradient_0_g = 0.000000000; +const float p_o1135497_gradient_0_b = 0.000000000; +const float p_o1135497_gradient_0_a = 1.000000000; +const float p_o1135497_gradient_1_pos = 0.918181818; +const float p_o1135497_gradient_1_r = 1.000000000; +const float p_o1135497_gradient_1_g = 1.000000000; +const float p_o1135497_gradient_1_b = 1.000000000; +const float p_o1135497_gradient_1_a = 1.000000000; +const float p_o1135497_gradient_2_pos = 0.945454545; +const float p_o1135497_gradient_2_r = 0.000000000; +const float p_o1135497_gradient_2_g = 0.000000000; +const float p_o1135497_gradient_2_b = 0.000000000; +const float p_o1135497_gradient_2_a = 1.000000000; +vec4 o1135497_gradient_gradient_fct(float x) { + if (x < p_o1135497_gradient_0_pos) { + return vec4(p_o1135497_gradient_0_r,p_o1135497_gradient_0_g,p_o1135497_gradient_0_b,p_o1135497_gradient_0_a); + } else if (x < p_o1135497_gradient_1_pos) { + return mix(vec4(p_o1135497_gradient_0_r,p_o1135497_gradient_0_g,p_o1135497_gradient_0_b,p_o1135497_gradient_0_a), vec4(p_o1135497_gradient_1_r,p_o1135497_gradient_1_g,p_o1135497_gradient_1_b,p_o1135497_gradient_1_a), ((x-p_o1135497_gradient_0_pos)/(p_o1135497_gradient_1_pos-p_o1135497_gradient_0_pos))); + } else if (x < p_o1135497_gradient_2_pos) { + return mix(vec4(p_o1135497_gradient_1_r,p_o1135497_gradient_1_g,p_o1135497_gradient_1_b,p_o1135497_gradient_1_a), vec4(p_o1135497_gradient_2_r,p_o1135497_gradient_2_g,p_o1135497_gradient_2_b,p_o1135497_gradient_2_a), ((x-p_o1135497_gradient_1_pos)/(p_o1135497_gradient_2_pos-p_o1135497_gradient_1_pos))); + } + return vec4(p_o1135497_gradient_2_r,p_o1135497_gradient_2_g,p_o1135497_gradient_2_b,p_o1135497_gradient_2_a); +} +const float p_o1147502_in_min = -1.950000000; +const float p_o1147502_in_max = 2.510000000; +const float p_o1147502_out_min = 0.080000000; +const float p_o1147502_out_max = 2.000000000; +const float p_o1079786_default_in1 = 0.000000000; +const float p_o1079786_default_in2 = 0.000000000; +const float p_o1544215_amount = 0.340000000; +const float p_o3153493_translate_y = 0.000000000; +const int seed_o1541301 = -32562; +const float p_o1541301_scale_x = 12.000000000; +const float p_o1541301_scale_y = 1.000000000; +const float p_o1541301_iterations = 1.000000000; +const float p_o1541301_persistence = 0.500000000; +const float p_o1047621_repeat = 1.000000000; +const float p_o1047621_rotate = -90.000000000; +const float p_o1047621_gradient_0_pos = 0.000000000; +const float p_o1047621_gradient_0_r = 0.000000000; +const float p_o1047621_gradient_0_g = 0.000000000; +const float p_o1047621_gradient_0_b = 0.000000000; +const float p_o1047621_gradient_0_a = 1.000000000; +const float p_o1047621_gradient_1_pos = 1.000000000; +const float p_o1047621_gradient_1_r = 1.000000000; +const float p_o1047621_gradient_1_g = 1.000000000; +const float p_o1047621_gradient_1_b = 1.000000000; +const float p_o1047621_gradient_1_a = 1.000000000; +vec4 o1047621_gradient_gradient_fct(float x) { + if (x < p_o1047621_gradient_0_pos) { + return vec4(p_o1047621_gradient_0_r,p_o1047621_gradient_0_g,p_o1047621_gradient_0_b,p_o1047621_gradient_0_a); + } else if (x < p_o1047621_gradient_1_pos) { + return mix(vec4(p_o1047621_gradient_0_r,p_o1047621_gradient_0_g,p_o1047621_gradient_0_b,p_o1047621_gradient_0_a), vec4(p_o1047621_gradient_1_r,p_o1047621_gradient_1_g,p_o1047621_gradient_1_b,p_o1047621_gradient_1_a), ((x-p_o1047621_gradient_0_pos)/(p_o1047621_gradient_1_pos-p_o1047621_gradient_0_pos))); + } + return vec4(p_o1047621_gradient_1_r,p_o1047621_gradient_1_g,p_o1047621_gradient_1_b,p_o1047621_gradient_1_a); +} +const float p_o2313099_curve_0_x = 0.000000000; +const float p_o2313099_curve_0_y = 0.887122393; +const float p_o2313099_curve_0_ls = 0.000000000; +const float p_o2313099_curve_0_rs = -0.653084097; +const float p_o2313099_curve_1_x = 0.451992810; +const float p_o2313099_curve_1_y = 0.484896600; +const float p_o2313099_curve_1_ls = -0.936088853; +const float p_o2313099_curve_1_rs = -1.978554322; +const float p_o2313099_curve_2_x = 1.000000000; +const float p_o2313099_curve_2_y = 0.000000000; +const float p_o2313099_curve_2_ls = 0.068362479; +const float p_o2313099_curve_2_rs = -0.000000000; +float o2313099_curve_curve_fct(float x) { +if (x <= p_o2313099_curve_1_x) { +float dx = x - p_o2313099_curve_0_x; +float d = p_o2313099_curve_1_x - p_o2313099_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2313099_curve_0_y; +float yac = p_o2313099_curve_0_y + d*p_o2313099_curve_0_rs; +float ybc = p_o2313099_curve_1_y - d*p_o2313099_curve_1_ls; +float y2 = p_o2313099_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2313099_curve_2_x) { +float dx = x - p_o2313099_curve_1_x; +float d = p_o2313099_curve_2_x - p_o2313099_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2313099_curve_1_y; +float yac = p_o2313099_curve_1_y + d*p_o2313099_curve_1_rs; +float ybc = p_o2313099_curve_2_y - d*p_o2313099_curve_2_ls; +float y2 = p_o2313099_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} +const float p_o2047992_curve_0_x = 0.000000000; +const float p_o2047992_curve_0_y = 1.000000000; +const float p_o2047992_curve_0_ls = 0.000000000; +const float p_o2047992_curve_0_rs = -37.443563156; +const float p_o2047992_curve_1_x = 0.045742754; +const float p_o2047992_curve_1_y = 0.004769504; +const float p_o2047992_curve_1_ls = 0.000000000; +const float p_o2047992_curve_1_rs = -0.000000000; +const float p_o2047992_curve_2_x = 0.202898547; +const float p_o2047992_curve_2_y = 0.069952309; +const float p_o2047992_curve_2_ls = 1.276485086; +const float p_o2047992_curve_2_rs = 0.566182865; +const float p_o2047992_curve_3_x = 0.633605063; +const float p_o2047992_curve_3_y = 0.527821898; +const float p_o2047992_curve_3_ls = 2.990280303; +const float p_o2047992_curve_3_rs = 3.026153690; +const float p_o2047992_curve_4_x = 1.000000000; +const float p_o2047992_curve_4_y = 1.000000000; +const float p_o2047992_curve_4_ls = 0.266607613; +const float p_o2047992_curve_4_rs = -0.000000000; +float o2047992_curve_curve_fct(float x) { +if (x <= p_o2047992_curve_1_x) { +float dx = x - p_o2047992_curve_0_x; +float d = p_o2047992_curve_1_x - p_o2047992_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_0_y; +float yac = p_o2047992_curve_0_y + d*p_o2047992_curve_0_rs; +float ybc = p_o2047992_curve_1_y - d*p_o2047992_curve_1_ls; +float y2 = p_o2047992_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2047992_curve_2_x) { +float dx = x - p_o2047992_curve_1_x; +float d = p_o2047992_curve_2_x - p_o2047992_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_1_y; +float yac = p_o2047992_curve_1_y + d*p_o2047992_curve_1_rs; +float ybc = p_o2047992_curve_2_y - d*p_o2047992_curve_2_ls; +float y2 = p_o2047992_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2047992_curve_3_x) { +float dx = x - p_o2047992_curve_2_x; +float d = p_o2047992_curve_3_x - p_o2047992_curve_2_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_2_y; +float yac = p_o2047992_curve_2_y + d*p_o2047992_curve_2_rs; +float ybc = p_o2047992_curve_3_y - d*p_o2047992_curve_3_ls; +float y2 = p_o2047992_curve_3_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2047992_curve_4_x) { +float dx = x - p_o2047992_curve_3_x; +float d = p_o2047992_curve_4_x - p_o2047992_curve_3_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_3_y; +float yac = p_o2047992_curve_3_y + d*p_o2047992_curve_3_rs; +float ybc = p_o2047992_curve_4_y - d*p_o2047992_curve_4_ls; +float y2 = p_o2047992_curve_4_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} +float o2599821_input_in(vec2 uv) { +float o1874989_0_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_0_clamp_true = clamp(o1874989_0_clamp_false, 0.0, 1.0); +float o1874989_0_2_f = o1874989_0_clamp_false; +vec4 o2003912_0_1_rgba = o2003912_gradient_gradient_fct(o1874989_0_2_f); +vec4 o2016703_0_1_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_1_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_1_rgba.a); +float o1053514_0_clamp_false = abs((dot((o2016703_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_0_clamp_true = clamp(o1053514_0_clamp_false, 0.0, 1.0); +float o1053514_0_1_f = o1053514_0_clamp_true; +float o1711848_0_clamp_false = o1053514_0_1_f+p_o1711848_default_in2; +float o1711848_0_clamp_true = clamp(o1711848_0_clamp_false, 0.0, 1.0); +float o1711848_0_2_f = o1711848_0_clamp_false; +float o1646669_0_1_f = perlin((transform2_clamp(transform2((rotate((uv), vec2(0.5+p_o3278853_cx, 0.5+p_o3278853_cy), (o3007790_OFFSET * 530.0)*0.01745329251)), vec2(p_o1730094_translate_x*(2.0*1.0-1.0), p_o1730094_translate_y*(2.0*1.0-1.0)), p_o1730094_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1730094_scale_x*(2.0*o1711848_0_2_f-1.0), p_o1730094_scale_y*(2.0*o1711848_0_2_f-1.0))))), vec2(p_o1646669_scale_x, p_o1646669_scale_y), int(p_o1646669_iterations), p_o1646669_persistence, seed_o1646669); +float o1646672_0_1_f = shape_circle((transform2_clamp(transform2((rotate((uv), vec2(0.5+p_o3278853_cx, 0.5+p_o3278853_cy), (o3007790_OFFSET * 530.0)*0.01745329251)), vec2(p_o1730094_translate_x*(2.0*1.0-1.0), p_o1730094_translate_y*(2.0*1.0-1.0)), p_o1730094_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1730094_scale_x*(2.0*o1711848_0_2_f-1.0), p_o1730094_scale_y*(2.0*o1711848_0_2_f-1.0))))), p_o1646672_sides, p_o1646672_radius*1.0, p_o1646672_edge*o1646669_0_1_f); +vec4 o1730094_0_1_rgba = vec4(vec3(o1646672_0_1_f), 1.0); +vec4 o3278853_0_1_rgba = o1730094_0_1_rgba; +float o1383595_0_1_f = perlin((rotate((uv), vec2(0.5+p_o3232740_cx, 0.5+p_o3232740_cy), (o3007790_OFFSET * 180.0)*0.01745329251)), vec2(p_o1383595_scale_x, p_o1383595_scale_y), int(p_o1383595_iterations), p_o1383595_persistence, seed_o1383595); +vec4 o3232740_0_1_rgba = vec4(vec3(o1383595_0_1_f), 1.0); +float o1227347_0_1_f = shape_circle((uv), p_o1227347_sides, p_o1227347_radius*(dot((o3232740_0_1_rgba).rgb, vec3(1.0))/3.0), p_o1227347_edge*1.0); +float o1874989_3_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_3_clamp_true = clamp(o1874989_3_clamp_false, 0.0, 1.0); +float o1874989_0_5_f = o1874989_3_clamp_false; +vec4 o2003912_0_3_rgba = o2003912_gradient_gradient_fct(o1874989_0_5_f); +vec4 o2016703_0_3_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_3_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_3_rgba.a); +float o1053514_2_clamp_false = abs((dot((o2016703_0_3_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_2_clamp_true = clamp(o1053514_2_clamp_false, 0.0, 1.0); +float o1053514_0_3_f = o1053514_2_clamp_true; +vec4 o1098035_0_xyzw = voronoi((fract(transform2(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), vec2(p_o1115718_translate_x*(2.0*1.0-1.0), p_o1115718_translate_y*(2.0*o1053514_0_3_f-1.0)), p_o1115718_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1115718_scale_x*(2.0*1.0-1.0), p_o1115718_scale_y*(2.0*1.0-1.0))))), vec2(p_o1098035_scale_x, p_o1098035_scale_y), vec2(p_o1098035_stretch_y, p_o1098035_stretch_x), p_o1098035_intensity, p_o1098035_randomness, seed_o1098035);float o1098035_0_1_f = o1098035_0_xyzw.z; +vec4 o1099342_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o1098035_0_1_f), 1.0).rgb, vec4(vec3(o1098035_0_1_f), 1.0).a); +vec4 o1115718_0_1_rgba = o1099342_0_1_rgba; +float o1541301_0_1_f = perlin((((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y))-vec2((o3007790_OFFSET * 3.5), p_o3153493_translate_y)), vec2(p_o1541301_scale_x, p_o1541301_scale_y), int(p_o1541301_iterations), p_o1541301_persistence, seed_o1541301); +vec4 o3153493_0_1_rgba = vec4(vec3(o1541301_0_1_f), 1.0); +float o1047621_0_r = 0.5+(cos(p_o1047621_rotate*0.01745329251)*(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)).x-0.5)+sin(p_o1047621_rotate*0.01745329251)*(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)).y-0.5))/(cos(abs(mod(p_o1047621_rotate, 90.0)-45.0)*0.01745329251)*1.41421356237);vec4 o1047621_0_1_rgba = o1047621_gradient_gradient_fct(fract(o1047621_0_r*p_o1047621_repeat)); +vec4 o1544215_0_s1 = o3153493_0_1_rgba; +vec4 o1544215_0_s2 = o1047621_0_1_rgba; +float o1544215_0_a = p_o1544215_amount*1.0; +vec4 o1544215_0_2_rgba = vec4(blend_normal(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), o1544215_0_s1.rgb, o1544215_0_s2.rgb, o1544215_0_a*o1544215_0_s1.a), min(1.0, o1544215_0_s2.a+o1544215_0_a*o1544215_0_s1.a)); +float o1079786_0_clamp_false = (dot((o1544215_0_2_rgba).rgb, vec3(1.0))/3.0)-o1053514_0_3_f; +float o1079786_0_clamp_true = clamp(o1079786_0_clamp_false, 0.0, 1.0); +float o1079786_0_1_f = o1079786_0_clamp_false; +vec4 o1147502_0_1_rgba = vec4(vec3(p_o1147502_out_min)+(vec4(vec3(o1079786_0_1_f), 1.0).rgb-vec3(p_o1147502_in_min))*vec3((p_o1147502_out_max-p_o1147502_out_min)/(p_o1147502_in_max-p_o1147502_in_min)), vec4(vec3(o1079786_0_1_f), 1.0).a); +vec4 o1135497_0_1_rgba = o1135497_gradient_gradient_fct((dot((o1147502_0_1_rgba).rgb, vec3(1.0))/3.0)); +vec4 o1107567_0_s1 = o1115718_0_1_rgba; +vec4 o1107567_0_s2 = o1135497_0_1_rgba; +float o1107567_0_a = p_o1107567_amount*1.0; +vec4 o1107567_0_2_rgba = vec4(blend_multiply(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), o1107567_0_s1.rgb, o1107567_0_s2.rgb, o1107567_0_a*o1107567_0_s1.a), min(1.0, o1107567_0_s2.a+o1107567_0_a*o1107567_0_s1.a)); +vec4 o3180989_0_1_rgba = o1107567_0_2_rgba; +vec4 o1175160_0_1_rgba = o3180989_0_1_rgba; +vec4 o1170149_0_1_rgba = o1175160_0_1_rgba; +vec4 o1227913_0_s1 = vec4(vec3(o1227347_0_1_f), 1.0); +vec4 o1227913_0_s2 = o1170149_0_1_rgba; +float o1227913_0_a = p_o1227913_amount*1.0; +vec4 o1227913_0_2_rgba = vec4(blend_multiply((uv), o1227913_0_s1.rgb, o1227913_0_s2.rgb, o1227913_0_a*o1227913_0_s1.a), min(1.0, o1227913_0_s2.a+o1227913_0_a*o1227913_0_s1.a)); +float o1874989_6_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_6_clamp_true = clamp(o1874989_6_clamp_false, 0.0, 1.0); +float o1874989_0_8_f = o1874989_6_clamp_false; +vec4 o2003912_0_5_rgba = o2003912_gradient_gradient_fct(o1874989_0_8_f); +vec4 o2016703_0_5_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_5_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_5_rgba.a); +float o1053514_4_clamp_false = abs((dot((o2016703_0_5_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_4_clamp_true = clamp(o1053514_4_clamp_false, 0.0, 1.0); +float o1053514_0_5_f = o1053514_4_clamp_true; +float o2313099_0_1_f = o2313099_curve_curve_fct(o1053514_0_5_f); +vec4 o1666169_0_s1 = o3278853_0_1_rgba; +vec4 o1666169_0_s2 = o1227913_0_2_rgba; +float o1666169_0_a = p_o1666169_amount*o2313099_0_1_f; +vec4 o1666169_0_1_rgba = vec4(blend_normal((uv), o1666169_0_s1.rgb, o1666169_0_s2.rgb, o1666169_0_a*o1666169_0_s1.a), min(1.0, o1666169_0_s2.a+o1666169_0_a*o1666169_0_s1.a)); +float o1839956_0_clamp_false = (dot((o1666169_0_1_rgba).rgb, vec3(1.0))/3.0)*p_o1839956_default_in2; +float o1839956_0_clamp_true = clamp(o1839956_0_clamp_false, 0.0, 1.0); +float o1839956_0_2_f = o1839956_0_clamp_true; +float o2047992_0_1_f = o2047992_curve_curve_fct(o1053514_0_5_f); +float o2609904_0_clamp_false = o1839956_0_2_f-o2047992_0_1_f; +float o2609904_0_clamp_true = clamp(o2609904_0_clamp_false, 0.0, 1.0); +float o2609904_0_1_f = o2609904_0_clamp_false; +float o2720635_0_step = clamp((o2609904_0_1_f - (p_o2720635_value))/max(0.0001, p_o2720635_width)+0.5, 0.0, 1.0); +float o2720635_0_false = clamp((min(o2720635_0_step, 1.0-o2720635_0_step) * 2.0) / (1.0 - p_o2720635_contrast), 0.0, 1.0); +float o2720635_0_true = 1.0-o2720635_0_false;float o2720635_0_1_f = o2720635_0_false; +float o2964135_0_clamp_false = sqrt(1.0-o2720635_0_1_f*o2720635_0_1_f); +float o2964135_0_clamp_true = clamp(o2964135_0_clamp_false, 0.0, 1.0); +float o2964135_0_1_f = o2964135_0_clamp_false; + +return o2964135_0_1_f; +} +vec3 o2599821_fct(vec2 uv) { + vec3 e = vec3(1.0/256.000000000, -1.0/256.000000000, 0); + vec2 rv = vec2(1.0, -1.0)*o2599821_input_in(uv+e.xy); + rv += vec2(-1.0, 1.0)*o2599821_input_in(uv-e.xy); + rv += vec2(1.0, 1.0)*o2599821_input_in(uv+e.xx); + rv += vec2(-1.0, -1.0)*o2599821_input_in(uv-e.xx); + rv += vec2(2.0, 0.0)*o2599821_input_in(uv+e.xz); + rv += vec2(-2.0, 0.0)*o2599821_input_in(uv-e.xz); + rv += vec2(0.0, 2.0)*o2599821_input_in(uv+e.zx); + rv += vec2(0.0, -2.0)*o2599821_input_in(uv-e.zx); + return vec3(rv, 0.0); +}const float p_o2619577_default_in1 = 0.000000000; +const float p_o2619577_default_in2 = 0.000000000; + + +void fragment() { + vec2 uv = fract(UV*uv1_scale.xy); +vec3 o2599821_0_1_rgb = process_normal_default(o2599821_fct((uv)), p_o2599821_amount*256.000000000/128.0); +float o1874989_0_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_0_clamp_true = clamp(o1874989_0_clamp_false, 0.0, 1.0); +float o1874989_0_2_f = o1874989_0_clamp_false; +vec4 o2003912_0_1_rgba = o2003912_gradient_gradient_fct(o1874989_0_2_f); +vec4 o2016703_0_1_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_1_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_1_rgba.a); +float o1053514_0_clamp_false = abs((dot((o2016703_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_0_clamp_true = clamp(o1053514_0_clamp_false, 0.0, 1.0); +float o1053514_0_1_f = o1053514_0_clamp_true; +float o1711848_0_clamp_false = o1053514_0_1_f+p_o1711848_default_in2; +float o1711848_0_clamp_true = clamp(o1711848_0_clamp_false, 0.0, 1.0); +float o1711848_0_2_f = o1711848_0_clamp_false; +float o1646669_0_1_f = perlin((transform2_clamp(transform2((rotate((uv), vec2(0.5+p_o3278853_cx, 0.5+p_o3278853_cy), (o3007790_OFFSET * 530.0)*0.01745329251)), vec2(p_o1730094_translate_x*(2.0*1.0-1.0), p_o1730094_translate_y*(2.0*1.0-1.0)), p_o1730094_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1730094_scale_x*(2.0*o1711848_0_2_f-1.0), p_o1730094_scale_y*(2.0*o1711848_0_2_f-1.0))))), vec2(p_o1646669_scale_x, p_o1646669_scale_y), int(p_o1646669_iterations), p_o1646669_persistence, seed_o1646669); +float o1646672_0_1_f = shape_circle((transform2_clamp(transform2((rotate((uv), vec2(0.5+p_o3278853_cx, 0.5+p_o3278853_cy), (o3007790_OFFSET * 530.0)*0.01745329251)), vec2(p_o1730094_translate_x*(2.0*1.0-1.0), p_o1730094_translate_y*(2.0*1.0-1.0)), p_o1730094_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1730094_scale_x*(2.0*o1711848_0_2_f-1.0), p_o1730094_scale_y*(2.0*o1711848_0_2_f-1.0))))), p_o1646672_sides, p_o1646672_radius*1.0, p_o1646672_edge*o1646669_0_1_f); +vec4 o1730094_0_1_rgba = vec4(vec3(o1646672_0_1_f), 1.0); +vec4 o3278853_0_1_rgba = o1730094_0_1_rgba; +float o1383595_0_1_f = perlin((rotate((uv), vec2(0.5+p_o3232740_cx, 0.5+p_o3232740_cy), (o3007790_OFFSET * 180.0)*0.01745329251)), vec2(p_o1383595_scale_x, p_o1383595_scale_y), int(p_o1383595_iterations), p_o1383595_persistence, seed_o1383595); +vec4 o3232740_0_1_rgba = vec4(vec3(o1383595_0_1_f), 1.0); +float o1227347_0_1_f = shape_circle((uv), p_o1227347_sides, p_o1227347_radius*(dot((o3232740_0_1_rgba).rgb, vec3(1.0))/3.0), p_o1227347_edge*1.0); +float o1874989_3_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_3_clamp_true = clamp(o1874989_3_clamp_false, 0.0, 1.0); +float o1874989_0_5_f = o1874989_3_clamp_false; +vec4 o2003912_0_3_rgba = o2003912_gradient_gradient_fct(o1874989_0_5_f); +vec4 o2016703_0_3_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_3_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_3_rgba.a); +float o1053514_2_clamp_false = abs((dot((o2016703_0_3_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_2_clamp_true = clamp(o1053514_2_clamp_false, 0.0, 1.0); +float o1053514_0_3_f = o1053514_2_clamp_true; +vec4 o1098035_0_xyzw = voronoi((fract(transform2(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), vec2(p_o1115718_translate_x*(2.0*1.0-1.0), p_o1115718_translate_y*(2.0*o1053514_0_3_f-1.0)), p_o1115718_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1115718_scale_x*(2.0*1.0-1.0), p_o1115718_scale_y*(2.0*1.0-1.0))))), vec2(p_o1098035_scale_x, p_o1098035_scale_y), vec2(p_o1098035_stretch_y, p_o1098035_stretch_x), p_o1098035_intensity, p_o1098035_randomness, seed_o1098035);float o1098035_0_1_f = o1098035_0_xyzw.z; +vec4 o1099342_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o1098035_0_1_f), 1.0).rgb, vec4(vec3(o1098035_0_1_f), 1.0).a); +vec4 o1115718_0_1_rgba = o1099342_0_1_rgba; +float o1541301_0_1_f = perlin((((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y))-vec2((o3007790_OFFSET * 3.5), p_o3153493_translate_y)), vec2(p_o1541301_scale_x, p_o1541301_scale_y), int(p_o1541301_iterations), p_o1541301_persistence, seed_o1541301); +vec4 o3153493_0_1_rgba = vec4(vec3(o1541301_0_1_f), 1.0); +float o1047621_0_r = 0.5+(cos(p_o1047621_rotate*0.01745329251)*(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)).x-0.5)+sin(p_o1047621_rotate*0.01745329251)*(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)).y-0.5))/(cos(abs(mod(p_o1047621_rotate, 90.0)-45.0)*0.01745329251)*1.41421356237);vec4 o1047621_0_1_rgba = o1047621_gradient_gradient_fct(fract(o1047621_0_r*p_o1047621_repeat)); +vec4 o1544215_0_s1 = o3153493_0_1_rgba; +vec4 o1544215_0_s2 = o1047621_0_1_rgba; +float o1544215_0_a = p_o1544215_amount*1.0; +vec4 o1544215_0_2_rgba = vec4(blend_normal(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), o1544215_0_s1.rgb, o1544215_0_s2.rgb, o1544215_0_a*o1544215_0_s1.a), min(1.0, o1544215_0_s2.a+o1544215_0_a*o1544215_0_s1.a)); +float o1079786_0_clamp_false = (dot((o1544215_0_2_rgba).rgb, vec3(1.0))/3.0)-o1053514_0_3_f; +float o1079786_0_clamp_true = clamp(o1079786_0_clamp_false, 0.0, 1.0); +float o1079786_0_1_f = o1079786_0_clamp_false; +vec4 o1147502_0_1_rgba = vec4(vec3(p_o1147502_out_min)+(vec4(vec3(o1079786_0_1_f), 1.0).rgb-vec3(p_o1147502_in_min))*vec3((p_o1147502_out_max-p_o1147502_out_min)/(p_o1147502_in_max-p_o1147502_in_min)), vec4(vec3(o1079786_0_1_f), 1.0).a); +vec4 o1135497_0_1_rgba = o1135497_gradient_gradient_fct((dot((o1147502_0_1_rgba).rgb, vec3(1.0))/3.0)); +vec4 o1107567_0_s1 = o1115718_0_1_rgba; +vec4 o1107567_0_s2 = o1135497_0_1_rgba; +float o1107567_0_a = p_o1107567_amount*1.0; +vec4 o1107567_0_2_rgba = vec4(blend_multiply(((rotate((vec2(fract(p_o1170149_repeat*atan((uv).y-0.5, (uv).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((uv)-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), o1107567_0_s1.rgb, o1107567_0_s2.rgb, o1107567_0_a*o1107567_0_s1.a), min(1.0, o1107567_0_s2.a+o1107567_0_a*o1107567_0_s1.a)); +vec4 o3180989_0_1_rgba = o1107567_0_2_rgba; +vec4 o1175160_0_1_rgba = o3180989_0_1_rgba; +vec4 o1170149_0_1_rgba = o1175160_0_1_rgba; +vec4 o1227913_0_s1 = vec4(vec3(o1227347_0_1_f), 1.0); +vec4 o1227913_0_s2 = o1170149_0_1_rgba; +float o1227913_0_a = p_o1227913_amount*1.0; +vec4 o1227913_0_2_rgba = vec4(blend_multiply((uv), o1227913_0_s1.rgb, o1227913_0_s2.rgb, o1227913_0_a*o1227913_0_s1.a), min(1.0, o1227913_0_s2.a+o1227913_0_a*o1227913_0_s1.a)); +float o1874989_6_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_6_clamp_true = clamp(o1874989_6_clamp_false, 0.0, 1.0); +float o1874989_0_8_f = o1874989_6_clamp_false; +vec4 o2003912_0_5_rgba = o2003912_gradient_gradient_fct(o1874989_0_8_f); +vec4 o2016703_0_5_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_5_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_5_rgba.a); +float o1053514_4_clamp_false = abs((dot((o2016703_0_5_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_4_clamp_true = clamp(o1053514_4_clamp_false, 0.0, 1.0); +float o1053514_0_5_f = o1053514_4_clamp_true; +float o2313099_0_1_f = o2313099_curve_curve_fct(o1053514_0_5_f); +vec4 o1666169_0_s1 = o3278853_0_1_rgba; +vec4 o1666169_0_s2 = o1227913_0_2_rgba; +float o1666169_0_a = p_o1666169_amount*o2313099_0_1_f; +vec4 o1666169_0_1_rgba = vec4(blend_normal((uv), o1666169_0_s1.rgb, o1666169_0_s2.rgb, o1666169_0_a*o1666169_0_s1.a), min(1.0, o1666169_0_s2.a+o1666169_0_a*o1666169_0_s1.a)); +float o1839956_0_clamp_false = (dot((o1666169_0_1_rgba).rgb, vec3(1.0))/3.0)*p_o1839956_default_in2; +float o1839956_0_clamp_true = clamp(o1839956_0_clamp_false, 0.0, 1.0); +float o1839956_0_2_f = o1839956_0_clamp_true; +float o2047992_0_1_f = o2047992_curve_curve_fct(o1053514_0_5_f); +float o2609904_0_clamp_false = o1839956_0_2_f-o2047992_0_1_f; +float o2609904_0_clamp_true = clamp(o2609904_0_clamp_false, 0.0, 1.0); +float o2609904_0_1_f = o2609904_0_clamp_false; +float o2619577_0_clamp_false = step(p_o2619577_default_in1,o2609904_0_1_f); +float o2619577_0_clamp_true = clamp(o2619577_0_clamp_false, 0.0, 1.0); +float o2619577_0_2_f = o2619577_0_clamp_true; + + vec3 albedo_tex = vec3(1.0).rgb; + albedo_tex = mix(pow((albedo_tex + vec3(0.055)) * (1.0 / (1.0 + 0.055)),vec3(2.4)),albedo_tex * (1.0 / 12.92),lessThan(albedo_tex,vec3(0.04045))); + ALBEDO = albedo_tex*vec4(p_o1022114_albedo_color_r, p_o1022114_albedo_color_g, p_o1022114_albedo_color_b, p_o1022114_albedo_color_a).rgb; + METALLIC = 1.0*p_o1022114_metallic; + ROUGHNESS = 1.0*p_o1022114_roughness; + NORMALMAP = o2599821_0_1_rgb; + EMISSION = vec3(0.0)*p_o1022114_emission_energy; + ALPHA = o2619577_0_2_f; + +} + + + diff --git a/Game/Assets/Effects/BloodSpray.tres b/Game/Assets/Effects/BloodSpray.tres new file mode 100644 index 0000000..2f3ca2c --- /dev/null +++ b/Game/Assets/Effects/BloodSpray.tres @@ -0,0 +1,7 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=2] +[ext_resource path="BloodSpray.shader" type="Shader" id=1] +[resource] +shader = ExtResource( 1 ) + + + diff --git a/Game/Assets/Effects/EnergyHit.shader b/Game/Assets/Effects/EnergyHit.shader new file mode 100644 index 0000000..f96fd44 --- /dev/null +++ b/Game/Assets/Effects/EnergyHit.shader @@ -0,0 +1,800 @@ +shader_type spatial; + +render_mode unshaded, blend_add; + +uniform vec3 uv1_scale = vec3(1.0, 1.0, 1.0); +uniform vec3 uv1_offset = vec3(0.0, 0.0, 0.0); +varying float elapsed_time; +void vertex() { + elapsed_time = TIME; + UV = UV*uv1_scale.xy+uv1_offset.xy; +} +float rand(vec2 x) { + return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453); +} + +vec2 rand2(vec2 x) { + return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453); +} + +vec3 rand3(vec2 x) { + return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398)), + dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453); +} + +vec3 rgb2hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + + +uniform sampler2D texture_1; +const float texture_1_size = 512.0; + +uniform sampler2D texture_2; +const float texture_2_size = 512.0; + +float shape_circle(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float distance = length(uv); + return clamp((1.0-distance/size)/edge, 0.0, 1.0); +} + +float shape_polygon(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y)+3.14159265359; + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} + +float shape_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y); + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(angle*sides/6.28318530718-0.5+2.0*step(fract(angle*sides/6.28318530718), 0.5))*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} + +float shape_curved_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359); + float slice = 6.28318530718/sides; + return clamp((1.0-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv)/size)/edge, 0.0, 1.0); +} + +float shape_rays(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = 0.5*max(edge, 1.0e-8)*size; + float slice = 6.28318530718/sides; + float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice; + return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0); +} + + +vec3 blend_normal(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1 + (1.0-opacity)*c2; +} + +vec3 blend_dissolve(vec2 uv, vec3 c1, vec3 c2, float opacity) { + if (rand(uv) < opacity) { + return c1; + } else { + return c2; + } +} + +vec3 blend_multiply(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1*c2 + (1.0-opacity)*c2; +} + +vec3 blend_screen(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2; +} + +float blend_overlay_f(float c1, float c2) { + return (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2)); +} + +vec3 blend_overlay(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_overlay_f(c1.x, c2.x), blend_overlay_f(c1.y, c2.y), blend_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +vec3 blend_hard_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*0.5*(c1*c2+blend_overlay(uv, c1, c2, 1.0)) + (1.0-opacity)*c2; +} + +float blend_soft_light_f(float c1, float c2) { + return (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0); +} + +vec3 blend_soft_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_soft_light_f(c1.x, c2.x), blend_soft_light_f(c1.y, c2.y), blend_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +float blend_burn_f(float c1, float c2) { + return (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0); +} + +vec3 blend_burn(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_burn_f(c1.x, c2.x), blend_burn_f(c1.y, c2.y), blend_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +float blend_dodge_f(float c1, float c2) { + return (c1==1.0)?c1:min(c2/(1.0-c1),1.0); +} + +vec3 blend_dodge(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_dodge_f(c1.x, c2.x), blend_dodge_f(c1.y, c2.y), blend_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +vec3 blend_lighten(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*max(c1, c2) + (1.0-opacity)*c2; +} + +vec3 blend_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*min(c1, c2) + (1.0-opacity)*c2; +} + +vec3 blend_difference(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2; +} + +vec4 adjust_levels(vec4 input, vec4 in_min, vec4 in_mid, vec4 in_max, vec4 out_min, vec4 out_max) { + input = clamp((input-in_min)/(in_max-in_min), 0.0, 1.0); + in_mid = (in_mid-in_min)/(in_max-in_min); + vec4 dark = step(in_mid, input); + input = 0.5*mix(input/(in_mid), 1.0+(input-in_mid)/(1.0-in_mid), dark); + return out_min+input*(out_max-out_min); +} + +vec3 rgb_to_hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +vec3 hsv_to_rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +vec2 scale(vec2 uv, vec2 center, vec2 scale) { + uv -= center; + uv /= scale; + uv += center; + return uv; +} +const float p_o425155_cx = 0.000000000; +const float p_o425155_cy = 0.000000000; +const float p_o425155_scale_x = 1.825000000; +const float p_o425155_scale_y = 1.825000000; +const float p_o9600_hue = 0.000000000; +const float p_o9600_saturation = 1.919300000; +const float p_o9600_value = 1.000000000; +vec4 o9600_f(vec4 c) { + vec3 hsv = rgb_to_hsv(c.rgb); + return vec4(hsv_to_rgb(vec3(fract(hsv.x+p_o9600_hue), clamp(hsv.y*p_o9600_saturation, 0.0, 1.0), clamp(hsv.z*p_o9600_value, 0.0, 1.0))), c.a); +}const float p_o9579_gradient_0_pos = 0.000000000; +const float p_o9579_gradient_0_r = 0.000000000; +const float p_o9579_gradient_0_g = 0.000000000; +const float p_o9579_gradient_0_b = 0.000000000; +const float p_o9579_gradient_0_a = 1.000000000; +const float p_o9579_gradient_1_pos = 0.377056000; +const float p_o9579_gradient_1_r = 0.000000000; +const float p_o9579_gradient_1_g = 0.718750000; +const float p_o9579_gradient_1_b = 1.000000000; +const float p_o9579_gradient_1_a = 1.000000000; +const float p_o9579_gradient_2_pos = 0.777056000; +const float p_o9579_gradient_2_r = 0.551358998; +const float p_o9579_gradient_2_g = 0.878682971; +const float p_o9579_gradient_2_b = 1.000000000; +const float p_o9579_gradient_2_a = 1.000000000; +const float p_o9579_gradient_3_pos = 1.000000000; +const float p_o9579_gradient_3_r = 1.000000000; +const float p_o9579_gradient_3_g = 1.000000000; +const float p_o9579_gradient_3_b = 1.000000000; +const float p_o9579_gradient_3_a = 1.000000000; +vec4 o9579_gradient_gradient_fct(float x) { + if (x < p_o9579_gradient_0_pos) { + return vec4(p_o9579_gradient_0_r,p_o9579_gradient_0_g,p_o9579_gradient_0_b,p_o9579_gradient_0_a); + } else if (x < p_o9579_gradient_1_pos) { + return mix(vec4(p_o9579_gradient_0_r,p_o9579_gradient_0_g,p_o9579_gradient_0_b,p_o9579_gradient_0_a), vec4(p_o9579_gradient_1_r,p_o9579_gradient_1_g,p_o9579_gradient_1_b,p_o9579_gradient_1_a), ((x-p_o9579_gradient_0_pos)/(p_o9579_gradient_1_pos-p_o9579_gradient_0_pos))); + } else if (x < p_o9579_gradient_2_pos) { + return mix(vec4(p_o9579_gradient_1_r,p_o9579_gradient_1_g,p_o9579_gradient_1_b,p_o9579_gradient_1_a), vec4(p_o9579_gradient_2_r,p_o9579_gradient_2_g,p_o9579_gradient_2_b,p_o9579_gradient_2_a), ((x-p_o9579_gradient_1_pos)/(p_o9579_gradient_2_pos-p_o9579_gradient_1_pos))); + } else if (x < p_o9579_gradient_3_pos) { + return mix(vec4(p_o9579_gradient_2_r,p_o9579_gradient_2_g,p_o9579_gradient_2_b,p_o9579_gradient_2_a), vec4(p_o9579_gradient_3_r,p_o9579_gradient_3_g,p_o9579_gradient_3_b,p_o9579_gradient_3_a), ((x-p_o9579_gradient_2_pos)/(p_o9579_gradient_3_pos-p_o9579_gradient_2_pos))); + } + return vec4(p_o9579_gradient_3_r,p_o9579_gradient_3_g,p_o9579_gradient_3_b,p_o9579_gradient_3_a); +} +const float p_o111395_amount = 1.000000000; +const float p_o305707_amount = 0.045000000; +const float p_o305707_eps = 0.120000000; +const float p_o9577_translate_x = 0.000000000; +float o305707_input_d(vec2 uv) { +vec4 o9596_0 = textureLod(texture_1, (uv)-vec2(p_o9577_translate_x, (- elapsed_time / 3.0)), 0.0); +vec4 o9577_0_1_rgba = o9596_0; + +return (dot((o9577_0_1_rgba).rgb, vec3(1.0))/3.0); +} +vec2 o305707_slope(vec2 uv, float epsilon) { + return vec2(o305707_input_d(fract(uv+vec2(epsilon, 0.0)))-o305707_input_d(fract(uv-vec2(epsilon, 0.0))), o305707_input_d(fract(uv+vec2(0.0, epsilon)))-o305707_input_d(fract(uv-vec2(0.0, epsilon)))); +}const float p_o277932_amount = 0.010000000; +const float p_o277932_eps = 0.120000000; +const float p_o9578_translate_x = 0.000000000; +float o277932_input_d(vec2 uv) { +vec4 o9598_0 = textureLod(texture_2, (uv)-vec2(p_o9578_translate_x, (- elapsed_time / 6.0)), 0.0); +vec4 o9578_0_1_rgba = o9598_0; + +return (dot((o9578_0_1_rgba).rgb, vec3(1.0))/3.0); +} +vec2 o277932_slope(vec2 uv, float epsilon) { + return vec2(o277932_input_d(fract(uv+vec2(epsilon, 0.0)))-o277932_input_d(fract(uv-vec2(epsilon, 0.0))), o277932_input_d(fract(uv+vec2(0.0, epsilon)))-o277932_input_d(fract(uv-vec2(0.0, epsilon)))); +}const float p_o154404_sides = 2.000000000; +const float p_o154404_radius = 1.000000000; +const float p_o154404_edge = 1.000000000; +const float p_o262174_default_in1 = 0.000000000; +const float p_o262174_default_in2 = 2.000000000; +const float p_o119625_curve_0_x = 0.000000000; +const float p_o119625_curve_0_y = 0.000000000; +const float p_o119625_curve_0_ls = 0.000000000; +const float p_o119625_curve_0_rs = 99.205083325; +const float p_o119625_curve_1_x = 0.020833334; +const float p_o119625_curve_1_y = 0.998410165; +const float p_o119625_curve_1_ls = 0.000000000; +const float p_o119625_curve_1_rs = -9.920508671; +const float p_o119625_curve_2_x = 0.199519426; +const float p_o119625_curve_2_y = 0.000000000; +const float p_o119625_curve_2_ls = 0.000000000; +const float p_o119625_curve_2_rs = -0.000000000; +const float p_o119625_curve_3_x = 1.000000000; +const float p_o119625_curve_3_y = 0.000000000; +const float p_o119625_curve_3_ls = 0.000000000; +const float p_o119625_curve_3_rs = -0.000000000; +float o119625_curve_curve_fct(float x) { +if (x <= p_o119625_curve_1_x) { +float dx = x - p_o119625_curve_0_x; +float d = p_o119625_curve_1_x - p_o119625_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o119625_curve_0_y; +float yac = p_o119625_curve_0_y + d*p_o119625_curve_0_rs; +float ybc = p_o119625_curve_1_y - d*p_o119625_curve_1_ls; +float y2 = p_o119625_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o119625_curve_2_x) { +float dx = x - p_o119625_curve_1_x; +float d = p_o119625_curve_2_x - p_o119625_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o119625_curve_1_y; +float yac = p_o119625_curve_1_y + d*p_o119625_curve_1_rs; +float ybc = p_o119625_curve_2_y - d*p_o119625_curve_2_ls; +float y2 = p_o119625_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o119625_curve_3_x) { +float dx = x - p_o119625_curve_2_x; +float d = p_o119625_curve_3_x - p_o119625_curve_2_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o119625_curve_2_y; +float yac = p_o119625_curve_2_y + d*p_o119625_curve_2_rs; +float ybc = p_o119625_curve_3_y - d*p_o119625_curve_3_ls; +float y2 = p_o119625_curve_3_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} +const float p_o9549_color = 0.500000000; +const float p_o9625_amount = 0.420000000; +const float p_o9625_eps = 0.005000000; +const float p_o57402_amount = 0.030000000; +const float p_o54620_repeat = 64.000000000; +const float p_o54620_gradient_0_pos = 0.000000000; +const float p_o54620_gradient_0_r = 0.000000000; +const float p_o54620_gradient_0_g = 0.000000000; +const float p_o54620_gradient_0_b = 0.000000000; +const float p_o54620_gradient_0_a = 1.000000000; +const float p_o54620_gradient_1_pos = 0.454544345; +const float p_o54620_gradient_1_r = 1.000000000; +const float p_o54620_gradient_1_g = 1.000000000; +const float p_o54620_gradient_1_b = 1.000000000; +const float p_o54620_gradient_1_a = 1.000000000; +const float p_o54620_gradient_2_pos = 1.000000000; +const float p_o54620_gradient_2_r = 0.000000000; +const float p_o54620_gradient_2_g = 0.000000000; +const float p_o54620_gradient_2_b = 0.000000000; +const float p_o54620_gradient_2_a = 1.000000000; +vec4 o54620_gradient_gradient_fct(float x) { + if (x < p_o54620_gradient_0_pos) { + return vec4(p_o54620_gradient_0_r,p_o54620_gradient_0_g,p_o54620_gradient_0_b,p_o54620_gradient_0_a); + } else if (x < p_o54620_gradient_1_pos) { + return mix(vec4(p_o54620_gradient_0_r,p_o54620_gradient_0_g,p_o54620_gradient_0_b,p_o54620_gradient_0_a), vec4(p_o54620_gradient_1_r,p_o54620_gradient_1_g,p_o54620_gradient_1_b,p_o54620_gradient_1_a), ((x-p_o54620_gradient_0_pos)/(p_o54620_gradient_1_pos-p_o54620_gradient_0_pos))); + } else if (x < p_o54620_gradient_2_pos) { + return mix(vec4(p_o54620_gradient_1_r,p_o54620_gradient_1_g,p_o54620_gradient_1_b,p_o54620_gradient_1_a), vec4(p_o54620_gradient_2_r,p_o54620_gradient_2_g,p_o54620_gradient_2_b,p_o54620_gradient_2_a), ((x-p_o54620_gradient_1_pos)/(p_o54620_gradient_2_pos-p_o54620_gradient_1_pos))); + } + return vec4(p_o54620_gradient_2_r,p_o54620_gradient_2_g,p_o54620_gradient_2_b,p_o54620_gradient_2_a); +} +const float p_o9645_gradient_0_pos = 0.000000000; +const float p_o9645_gradient_0_r = 0.000000000; +const float p_o9645_gradient_0_g = 0.000000000; +const float p_o9645_gradient_0_b = 0.000000000; +const float p_o9645_gradient_0_a = 1.000000000; +const float p_o9645_gradient_1_pos = 0.298995694; +const float p_o9645_gradient_1_r = 0.462632060; +const float p_o9645_gradient_1_g = 0.462632060; +const float p_o9645_gradient_1_b = 0.462632060; +const float p_o9645_gradient_1_a = 1.000000000; +const float p_o9645_gradient_2_pos = 0.844450240; +const float p_o9645_gradient_2_r = 1.000000000; +const float p_o9645_gradient_2_g = 1.000000000; +const float p_o9645_gradient_2_b = 1.000000000; +const float p_o9645_gradient_2_a = 1.000000000; +const float p_o9645_gradient_3_pos = 1.000000000; +const float p_o9645_gradient_3_r = 0.000000000; +const float p_o9645_gradient_3_g = 0.000000000; +const float p_o9645_gradient_3_b = 0.000000000; +const float p_o9645_gradient_3_a = 1.000000000; +vec4 o9645_gradient_gradient_fct(float x) { + if (x < p_o9645_gradient_0_pos) { + return vec4(p_o9645_gradient_0_r,p_o9645_gradient_0_g,p_o9645_gradient_0_b,p_o9645_gradient_0_a); + } else if (x < p_o9645_gradient_1_pos) { + return mix(mix(vec4(p_o9645_gradient_1_r,p_o9645_gradient_1_g,p_o9645_gradient_1_b,p_o9645_gradient_1_a), vec4(p_o9645_gradient_2_r,p_o9645_gradient_2_g,p_o9645_gradient_2_b,p_o9645_gradient_2_a), (x-p_o9645_gradient_1_pos)/(p_o9645_gradient_2_pos-p_o9645_gradient_1_pos)), mix(vec4(p_o9645_gradient_0_r,p_o9645_gradient_0_g,p_o9645_gradient_0_b,p_o9645_gradient_0_a), vec4(p_o9645_gradient_1_r,p_o9645_gradient_1_g,p_o9645_gradient_1_b,p_o9645_gradient_1_a), (x-p_o9645_gradient_0_pos)/(p_o9645_gradient_1_pos-p_o9645_gradient_0_pos)), 1.0-0.5*(x-p_o9645_gradient_0_pos)/(p_o9645_gradient_1_pos-p_o9645_gradient_0_pos)); + } else if (x < p_o9645_gradient_2_pos) { + return 0.5*(mix(vec4(p_o9645_gradient_1_r,p_o9645_gradient_1_g,p_o9645_gradient_1_b,p_o9645_gradient_1_a), vec4(p_o9645_gradient_2_r,p_o9645_gradient_2_g,p_o9645_gradient_2_b,p_o9645_gradient_2_a), (x-p_o9645_gradient_1_pos)/(p_o9645_gradient_2_pos-p_o9645_gradient_1_pos)) + mix(mix(vec4(p_o9645_gradient_0_r,p_o9645_gradient_0_g,p_o9645_gradient_0_b,p_o9645_gradient_0_a), vec4(p_o9645_gradient_1_r,p_o9645_gradient_1_g,p_o9645_gradient_1_b,p_o9645_gradient_1_a), (x-p_o9645_gradient_0_pos)/(p_o9645_gradient_1_pos-p_o9645_gradient_0_pos)), mix(vec4(p_o9645_gradient_2_r,p_o9645_gradient_2_g,p_o9645_gradient_2_b,p_o9645_gradient_2_a), vec4(p_o9645_gradient_3_r,p_o9645_gradient_3_g,p_o9645_gradient_3_b,p_o9645_gradient_3_a), (x-p_o9645_gradient_2_pos)/(p_o9645_gradient_3_pos-p_o9645_gradient_2_pos)), 0.5-0.5*cos(3.14159265359*(x-p_o9645_gradient_1_pos)/(p_o9645_gradient_2_pos-p_o9645_gradient_1_pos)))); + } else if (x < p_o9645_gradient_3_pos) { + return mix(mix(vec4(p_o9645_gradient_1_r,p_o9645_gradient_1_g,p_o9645_gradient_1_b,p_o9645_gradient_1_a), vec4(p_o9645_gradient_2_r,p_o9645_gradient_2_g,p_o9645_gradient_2_b,p_o9645_gradient_2_a), (x-p_o9645_gradient_1_pos)/(p_o9645_gradient_2_pos-p_o9645_gradient_1_pos)), mix(vec4(p_o9645_gradient_2_r,p_o9645_gradient_2_g,p_o9645_gradient_2_b,p_o9645_gradient_2_a), vec4(p_o9645_gradient_3_r,p_o9645_gradient_3_g,p_o9645_gradient_3_b,p_o9645_gradient_3_a), (x-p_o9645_gradient_2_pos)/(p_o9645_gradient_3_pos-p_o9645_gradient_2_pos)), 0.5+0.5*(x-p_o9645_gradient_2_pos)/(p_o9645_gradient_3_pos-p_o9645_gradient_2_pos)); + } + return vec4(p_o9645_gradient_3_r,p_o9645_gradient_3_g,p_o9645_gradient_3_b,p_o9645_gradient_3_a); +} +const float p_o9626_sides = 2.000000000; +const float p_o9626_radius = 0.906667000; +const float p_o9626_edge = 1.000000000; +const float p_o9627_curve_0_x = 0.000000000; +const float p_o9627_curve_0_y = 0.000000000; +const float p_o9627_curve_0_ls = 0.000000000; +const float p_o9627_curve_0_rs = -0.058356000; +const float p_o9627_curve_1_x = 0.101763003; +const float p_o9627_curve_1_y = 0.000000000; +const float p_o9627_curve_1_ls = 0.000000000; +const float p_o9627_curve_1_rs = 0.172531000; +const float p_o9627_curve_2_x = 0.697115004; +const float p_o9627_curve_2_y = 0.763116002; +const float p_o9627_curve_2_ls = -0.114467000; +const float p_o9627_curve_2_rs = -0.042517000; +const float p_o9627_curve_3_x = 1.000000000; +const float p_o9627_curve_3_y = 0.000000000; +const float p_o9627_curve_3_ls = -0.032001000; +const float p_o9627_curve_3_rs = -0.000000000; +float o9627_curve_curve_fct(float x) { +if (x <= p_o9627_curve_1_x) { +float dx = x - p_o9627_curve_0_x; +float d = p_o9627_curve_1_x - p_o9627_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9627_curve_0_y; +float yac = p_o9627_curve_0_y + d*p_o9627_curve_0_rs; +float ybc = p_o9627_curve_1_y - d*p_o9627_curve_1_ls; +float y2 = p_o9627_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o9627_curve_2_x) { +float dx = x - p_o9627_curve_1_x; +float d = p_o9627_curve_2_x - p_o9627_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9627_curve_1_y; +float yac = p_o9627_curve_1_y + d*p_o9627_curve_1_rs; +float ybc = p_o9627_curve_2_y - d*p_o9627_curve_2_ls; +float y2 = p_o9627_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o9627_curve_3_x) { +float dx = x - p_o9627_curve_2_x; +float d = p_o9627_curve_3_x - p_o9627_curve_2_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9627_curve_2_y; +float yac = p_o9627_curve_2_y + d*p_o9627_curve_2_rs; +float ybc = p_o9627_curve_3_y - d*p_o9627_curve_3_ls; +float y2 = p_o9627_curve_3_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} +float o9625_input_d(vec2 uv) { +vec4 o54620_0_1_rgba = o54620_gradient_gradient_fct(fract(p_o54620_repeat*0.15915494309*atan((uv).y-0.5, (uv).x-0.5))); +float o9549_0_1_f = p_o9549_color; +float o9627_0_1_f = o9627_curve_curve_fct(o9549_0_1_f); +float o9626_0_1_f = shape_circle((uv), p_o9626_sides, p_o9626_radius*o9627_0_1_f, p_o9626_edge*1.0); +vec4 o9645_0_1_rgba = o9645_gradient_gradient_fct(o9626_0_1_f); +vec4 o57402_0_s1 = o54620_0_1_rgba; +vec4 o57402_0_s2 = o9645_0_1_rgba; +float o57402_0_a = p_o57402_amount*1.0; +vec4 o57402_0_2_rgba = vec4(blend_multiply((uv), o57402_0_s1.rgb, o57402_0_s2.rgb, o57402_0_a*o57402_0_s1.a), min(1.0, o57402_0_s2.a+o57402_0_a*o57402_0_s1.a)); + +return (dot((o57402_0_2_rgba).rgb, vec3(1.0))/3.0); +} +vec2 o9625_slope(vec2 uv, float epsilon) { + return vec2(o9625_input_d(fract(uv+vec2(epsilon, 0.0)))-o9625_input_d(fract(uv-vec2(epsilon, 0.0))), o9625_input_d(fract(uv+vec2(0.0, epsilon)))-o9625_input_d(fract(uv-vec2(0.0, epsilon)))); +}const float p_o9606_default_in1 = 0.000000000; +const float p_o9606_default_in2 = 5.350000000; +const float p_o9603_default_in1 = 0.000000000; +const float p_o9603_default_in2 = 0.000000000; +const float p_o9595_default_in1 = 0.000000000; +const float p_o9595_default_in2 = 0.000000000; +const float p_o9576_amount = 0.025000000; +const float p_o9576_eps = 0.040000000; +float o9576_input_d(vec2 uv) { +vec4 o9596_0 = textureLod(texture_1, (uv)-vec2(p_o9577_translate_x, (- elapsed_time / 3.0)), 0.0); +vec4 o9577_0_1_rgba = o9596_0; + +return (dot((o9577_0_1_rgba).rgb, vec3(1.0))/3.0); +} +vec2 o9576_slope(vec2 uv, float epsilon) { + return vec2(o9576_input_d(fract(uv+vec2(epsilon, 0.0)))-o9576_input_d(fract(uv-vec2(epsilon, 0.0))), o9576_input_d(fract(uv+vec2(0.0, epsilon)))-o9576_input_d(fract(uv-vec2(0.0, epsilon)))); +}const float p_o9594_in_min_r = 0.000000000; +const float p_o9594_in_min_g = 0.000000000; +const float p_o9594_in_min_b = 0.000000000; +const float p_o9594_in_min_a = 0.000000000; +const float p_o9594_in_mid_r = 0.574999988; +const float p_o9594_in_mid_g = 0.574999988; +const float p_o9594_in_mid_b = 0.574999988; +const float p_o9594_in_mid_a = 0.500000000; +const float p_o9594_in_max_r = 1.000000000; +const float p_o9594_in_max_g = 1.000000000; +const float p_o9594_in_max_b = 1.000000000; +const float p_o9594_in_max_a = 1.000000000; +const float p_o9594_out_min_r = 0.000000000; +const float p_o9594_out_min_g = 0.000000000; +const float p_o9594_out_min_b = 0.000000000; +const float p_o9594_out_min_a = 0.000000000; +const float p_o9594_out_max_r = 1.000000000; +const float p_o9594_out_max_g = 1.000000000; +const float p_o9594_out_max_b = 1.000000000; +const float p_o9594_out_max_a = 1.000000000; +const float p_o9601_default_in1 = 0.000000000; +const float p_o9601_default_in2 = 0.000000000; +const float p_o9554_default_in1 = 0.000000000; +const float p_o9554_default_in2 = 0.000000000; +const float p_o9552_default_in1 = 0.000000000; +const float p_o9552_default_in2 = 0.000000000; +const float p_o9548_sides = 2.000000000; +const float p_o9548_radius = 0.906667000; +const float p_o9548_edge = 0.610000000; +const float p_o9550_sides = 2.000000000; +const float p_o9550_radius = 0.906667000; +const float p_o9550_edge = 0.610000000; +const float p_o9553_default_in1 = 0.000000000; +const float p_o9553_default_in2 = 2.090000000; +const float p_o9551_default_in1 = 0.000000000; +const float p_o9551_default_in2 = 0.000000000; +const float p_o9607_curve_0_x = 0.000000000; +const float p_o9607_curve_0_y = 0.000000000; +const float p_o9607_curve_0_ls = 0.000000000; +const float p_o9607_curve_0_rs = -0.058356000; +const float p_o9607_curve_1_x = 0.101763003; +const float p_o9607_curve_1_y = 0.000000000; +const float p_o9607_curve_1_ls = 0.000000000; +const float p_o9607_curve_1_rs = 0.172531000; +const float p_o9607_curve_2_x = 0.858973980; +const float p_o9607_curve_2_y = 1.000000000; +const float p_o9607_curve_2_ls = 1.299929000; +const float p_o9607_curve_2_rs = -0.000000000; +const float p_o9607_curve_3_x = 1.000000000; +const float p_o9607_curve_3_y = 1.000000000; +const float p_o9607_curve_3_ls = -0.032001000; +const float p_o9607_curve_3_rs = -0.000000000; +float o9607_curve_curve_fct(float x) { +if (x <= p_o9607_curve_1_x) { +float dx = x - p_o9607_curve_0_x; +float d = p_o9607_curve_1_x - p_o9607_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9607_curve_0_y; +float yac = p_o9607_curve_0_y + d*p_o9607_curve_0_rs; +float ybc = p_o9607_curve_1_y - d*p_o9607_curve_1_ls; +float y2 = p_o9607_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o9607_curve_2_x) { +float dx = x - p_o9607_curve_1_x; +float d = p_o9607_curve_2_x - p_o9607_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9607_curve_1_y; +float yac = p_o9607_curve_1_y + d*p_o9607_curve_1_rs; +float ybc = p_o9607_curve_2_y - d*p_o9607_curve_2_ls; +float y2 = p_o9607_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o9607_curve_3_x) { +float dx = x - p_o9607_curve_2_x; +float d = p_o9607_curve_3_x - p_o9607_curve_2_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9607_curve_2_y; +float yac = p_o9607_curve_2_y + d*p_o9607_curve_2_rs; +float ybc = p_o9607_curve_3_y - d*p_o9607_curve_3_ls; +float y2 = p_o9607_curve_3_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} +const float p_o9555_curve_0_x = 0.000000000; +const float p_o9555_curve_0_y = 0.000000000; +const float p_o9555_curve_0_ls = 0.000000000; +const float p_o9555_curve_0_rs = 34.721781000; +const float p_o9555_curve_1_x = 0.141026005; +const float p_o9555_curve_1_y = 0.965023994; +const float p_o9555_curve_1_ls = 0.000000000; +const float p_o9555_curve_1_rs = -0.000000000; +const float p_o9555_curve_2_x = 0.743589997; +const float p_o9555_curve_2_y = 0.774245024; +const float p_o9555_curve_2_ls = -0.939838000; +const float p_o9555_curve_2_rs = -1.217518000; +const float p_o9555_curve_3_x = 1.000000000; +const float p_o9555_curve_3_y = 0.000000000; +const float p_o9555_curve_3_ls = 0.000000000; +const float p_o9555_curve_3_rs = -0.000000000; +float o9555_curve_curve_fct(float x) { +if (x <= p_o9555_curve_1_x) { +float dx = x - p_o9555_curve_0_x; +float d = p_o9555_curve_1_x - p_o9555_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9555_curve_0_y; +float yac = p_o9555_curve_0_y + d*p_o9555_curve_0_rs; +float ybc = p_o9555_curve_1_y - d*p_o9555_curve_1_ls; +float y2 = p_o9555_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o9555_curve_2_x) { +float dx = x - p_o9555_curve_1_x; +float d = p_o9555_curve_2_x - p_o9555_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9555_curve_1_y; +float yac = p_o9555_curve_1_y + d*p_o9555_curve_1_rs; +float ybc = p_o9555_curve_2_y - d*p_o9555_curve_2_ls; +float y2 = p_o9555_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o9555_curve_3_x) { +float dx = x - p_o9555_curve_2_x; +float d = p_o9555_curve_3_x - p_o9555_curve_2_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o9555_curve_2_y; +float yac = p_o9555_curve_2_y + d*p_o9555_curve_2_rs; +float ybc = p_o9555_curve_3_y - d*p_o9555_curve_3_ls; +float y2 = p_o9555_curve_3_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} +const float p_o9602_translate_x = 0.000000000; +const float p_o9573_amount = 0.060000000; +const float p_o9573_eps = 0.145000000; +float o9573_input_d(vec2 uv) { +vec4 o9598_0 = textureLod(texture_2, (uv)-vec2(p_o9578_translate_x, (- elapsed_time / 6.0)), 0.0); +vec4 o9578_0_1_rgba = o9598_0; + +return (dot((o9578_0_1_rgba).rgb, vec3(1.0))/3.0); +} +vec2 o9573_slope(vec2 uv, float epsilon) { + return vec2(o9573_input_d(fract(uv+vec2(epsilon, 0.0)))-o9573_input_d(fract(uv-vec2(epsilon, 0.0))), o9573_input_d(fract(uv+vec2(0.0, epsilon)))-o9573_input_d(fract(uv-vec2(0.0, epsilon)))); +}const float p_o9604_amount = 0.025000000; +const float p_o9604_eps = 0.145000000; +const float p_o9605_amount = 0.355000000; +const float p_o9605_eps = 0.100000000; +float o9605_input_d(vec2 uv) { +vec4 o9598_0 = textureLod(texture_2, (uv)-vec2(p_o9578_translate_x, (- elapsed_time / 6.0)), 0.0); +vec4 o9578_0_1_rgba = o9598_0; + +return (dot((o9578_0_1_rgba).rgb, vec3(1.0))/3.0); +} +vec2 o9605_slope(vec2 uv, float epsilon) { + return vec2(o9605_input_d(fract(uv+vec2(epsilon, 0.0)))-o9605_input_d(fract(uv-vec2(epsilon, 0.0))), o9605_input_d(fract(uv+vec2(0.0, epsilon)))-o9605_input_d(fract(uv-vec2(0.0, epsilon)))); +}float o9604_input_d(vec2 uv) { +vec2 o9605_0_slope = o9605_slope((uv), p_o9605_eps); +vec2 o9605_0_warp = o9605_0_slope;vec4 o9605_0_1_rgba = vec4(sin(((uv)+p_o9605_amount*o9605_0_warp).x*20.0)*0.5+0.5, sin(((uv)+p_o9605_amount*o9605_0_warp).y*20.0)*0.5+0.5, 0, 1); + +return (dot((o9605_0_1_rgba).rgb, vec3(1.0))/3.0); +} +vec2 o9604_slope(vec2 uv, float epsilon) { + return vec2(o9604_input_d(fract(uv+vec2(epsilon, 0.0)))-o9604_input_d(fract(uv-vec2(epsilon, 0.0))), o9604_input_d(fract(uv+vec2(0.0, epsilon)))-o9604_input_d(fract(uv-vec2(0.0, epsilon)))); +} + +void fragment() { + vec2 uv = fract(UV); +vec2 o305707_0_slope = o305707_slope((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y))), p_o305707_eps); +vec2 o305707_0_warp = o305707_0_slope*(1.0-o305707_input_d((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))));vec2 o277932_0_slope = o277932_slope(((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o305707_amount*o305707_0_warp), p_o277932_eps); +vec2 o277932_0_warp = o277932_0_slope*(1.0-o277932_input_d(((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o305707_amount*o305707_0_warp)));float o9549_0_1_f = p_o9549_color; +float o119625_0_1_f = o119625_curve_curve_fct(o9549_0_1_f); +float o262174_0_clamp_false = o119625_0_1_f/p_o262174_default_in2; +float o262174_0_clamp_true = clamp(o262174_0_clamp_false, 0.0, 1.0); +float o262174_0_2_f = o262174_0_clamp_false; +float o154404_0_1_f = shape_circle((((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o305707_amount*o305707_0_warp)+p_o277932_amount*o277932_0_warp), p_o154404_sides, p_o154404_radius*o262174_0_2_f, p_o154404_edge*1.0); +vec4 o277932_0_1_rgba = vec4(vec3(o154404_0_1_f), 1.0); +vec4 o305707_0_1_rgba = o277932_0_1_rgba; +vec2 o9625_0_slope = o9625_slope((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y))), p_o9625_eps); +vec2 o9625_0_warp = o9625_0_slope;vec2 o9576_0_slope = o9576_slope(((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp), p_o9576_eps); +vec2 o9576_0_warp = o9576_0_slope;float o9549_0_3_f = p_o9549_color; +float o9548_0_1_f = shape_circle((((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9576_amount*o9576_0_warp), p_o9548_sides, p_o9548_radius*o9549_0_3_f, p_o9548_edge*1.0); +float o9607_0_1_f = o9607_curve_curve_fct(o9549_0_3_f); +float o9551_0_clamp_false = o9607_0_1_f-p_o9551_default_in2; +float o9551_0_clamp_true = clamp(o9551_0_clamp_false, 0.0, 1.0); +float o9551_0_2_f = o9551_0_clamp_false; +float o9553_0_clamp_false = o9551_0_2_f/p_o9553_default_in2; +float o9553_0_clamp_true = clamp(o9553_0_clamp_false, 0.0, 1.0); +float o9553_0_2_f = o9553_0_clamp_false; +float o9550_0_1_f = shape_circle((((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9576_amount*o9576_0_warp), p_o9550_sides, p_o9550_radius*o9553_0_2_f, p_o9550_edge*1.0); +float o9552_0_clamp_false = o9548_0_1_f-o9550_0_1_f; +float o9552_0_clamp_true = clamp(o9552_0_clamp_false, 0.0, 1.0); +float o9552_0_1_f = o9552_0_clamp_false; +float o9555_0_1_f = o9555_curve_curve_fct(o9549_0_3_f); +float o9554_0_clamp_false = o9552_0_1_f*o9555_0_1_f; +float o9554_0_clamp_true = clamp(o9554_0_clamp_false, 0.0, 1.0); +float o9554_0_1_f = o9554_0_clamp_false; +vec4 o9598_0 = textureLod(texture_2, (((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9576_amount*o9576_0_warp)-vec2(p_o9602_translate_x, (- elapsed_time / 12.0)), 0.0); +vec4 o9602_0_1_rgba = o9598_0; +float o9601_0_clamp_false = o9554_0_1_f*(dot((o9602_0_1_rgba).rgb, vec3(1.0))/3.0); +float o9601_0_clamp_true = clamp(o9601_0_clamp_false, 0.0, 1.0); +float o9601_0_1_f = o9601_0_clamp_false; +vec4 o9594_0_1_rgba = adjust_levels(vec4(vec3(o9601_0_1_f), 1.0), vec4(p_o9594_in_min_r, p_o9594_in_min_g, p_o9594_in_min_b, p_o9594_in_min_a), vec4(p_o9594_in_mid_r, p_o9594_in_mid_g, p_o9594_in_mid_b, p_o9594_in_mid_a), vec4(p_o9594_in_max_r, p_o9594_in_max_g, p_o9594_in_max_b, p_o9594_in_max_a), vec4(p_o9594_out_min_r, p_o9594_out_min_g, p_o9594_out_min_b, p_o9594_out_min_a), vec4(p_o9594_out_max_r, p_o9594_out_max_g, p_o9594_out_max_b, p_o9594_out_max_a)); +vec4 o9576_0_1_rgba = o9594_0_1_rgba; +vec2 o9573_0_slope = o9573_slope(((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp), p_o9573_eps); +vec2 o9573_0_warp = o9573_0_slope;float o9549_0_5_f = p_o9549_color; +float o9548_0_4_f = shape_circle((((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9573_amount*o9573_0_warp), p_o9548_sides, p_o9548_radius*o9549_0_5_f, p_o9548_edge*1.0); +float o9607_0_3_f = o9607_curve_curve_fct(o9549_0_5_f); +float o9551_3_clamp_false = o9607_0_3_f-p_o9551_default_in2; +float o9551_3_clamp_true = clamp(o9551_3_clamp_false, 0.0, 1.0); +float o9551_0_5_f = o9551_3_clamp_false; +float o9553_3_clamp_false = o9551_0_5_f/p_o9553_default_in2; +float o9553_3_clamp_true = clamp(o9553_3_clamp_false, 0.0, 1.0); +float o9553_0_5_f = o9553_3_clamp_false; +float o9550_0_4_f = shape_circle((((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9573_amount*o9573_0_warp), p_o9550_sides, p_o9550_radius*o9553_0_5_f, p_o9550_edge*1.0); +float o9552_2_clamp_false = o9548_0_4_f-o9550_0_4_f; +float o9552_2_clamp_true = clamp(o9552_2_clamp_false, 0.0, 1.0); +float o9552_0_3_f = o9552_2_clamp_false; +float o9555_0_3_f = o9555_curve_curve_fct(o9549_0_5_f); +float o9554_2_clamp_false = o9552_0_3_f*o9555_0_3_f; +float o9554_2_clamp_true = clamp(o9554_2_clamp_false, 0.0, 1.0); +float o9554_0_3_f = o9554_2_clamp_false; +vec4 o9598_1 = textureLod(texture_2, (((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9573_amount*o9573_0_warp)-vec2(p_o9602_translate_x, (- elapsed_time / 12.0)), 0.0); +vec4 o9602_0_3_rgba = o9598_1; +float o9601_2_clamp_false = o9554_0_3_f*(dot((o9602_0_3_rgba).rgb, vec3(1.0))/3.0); +float o9601_2_clamp_true = clamp(o9601_2_clamp_false, 0.0, 1.0); +float o9601_0_3_f = o9601_2_clamp_false; +vec4 o9594_0_3_rgba = adjust_levels(vec4(vec3(o9601_0_3_f), 1.0), vec4(p_o9594_in_min_r, p_o9594_in_min_g, p_o9594_in_min_b, p_o9594_in_min_a), vec4(p_o9594_in_mid_r, p_o9594_in_mid_g, p_o9594_in_mid_b, p_o9594_in_mid_a), vec4(p_o9594_in_max_r, p_o9594_in_max_g, p_o9594_in_max_b, p_o9594_in_max_a), vec4(p_o9594_out_min_r, p_o9594_out_min_g, p_o9594_out_min_b, p_o9594_out_min_a), vec4(p_o9594_out_max_r, p_o9594_out_max_g, p_o9594_out_max_b, p_o9594_out_max_a)); +vec4 o9573_0_1_rgba = o9594_0_3_rgba; +float o9595_0_clamp_false = (dot((o9576_0_1_rgba).rgb, vec3(1.0))/3.0)*(dot((o9573_0_1_rgba).rgb, vec3(1.0))/3.0); +float o9595_0_clamp_true = clamp(o9595_0_clamp_false, 0.0, 1.0); +float o9595_0_1_f = o9595_0_clamp_false; +vec2 o9604_0_slope = o9604_slope(((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp), p_o9604_eps); +vec2 o9604_0_warp = o9604_0_slope;float o9549_0_7_f = p_o9549_color; +float o9548_0_7_f = shape_circle((((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9604_amount*o9604_0_warp), p_o9548_sides, p_o9548_radius*o9549_0_7_f, p_o9548_edge*1.0); +float o9607_0_5_f = o9607_curve_curve_fct(o9549_0_7_f); +float o9551_6_clamp_false = o9607_0_5_f-p_o9551_default_in2; +float o9551_6_clamp_true = clamp(o9551_6_clamp_false, 0.0, 1.0); +float o9551_0_8_f = o9551_6_clamp_false; +float o9553_6_clamp_false = o9551_0_8_f/p_o9553_default_in2; +float o9553_6_clamp_true = clamp(o9553_6_clamp_false, 0.0, 1.0); +float o9553_0_8_f = o9553_6_clamp_false; +float o9550_0_7_f = shape_circle((((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9604_amount*o9604_0_warp), p_o9550_sides, p_o9550_radius*o9553_0_8_f, p_o9550_edge*1.0); +float o9552_4_clamp_false = o9548_0_7_f-o9550_0_7_f; +float o9552_4_clamp_true = clamp(o9552_4_clamp_false, 0.0, 1.0); +float o9552_0_5_f = o9552_4_clamp_false; +float o9555_0_5_f = o9555_curve_curve_fct(o9549_0_7_f); +float o9554_4_clamp_false = o9552_0_5_f*o9555_0_5_f; +float o9554_4_clamp_true = clamp(o9554_4_clamp_false, 0.0, 1.0); +float o9554_0_5_f = o9554_4_clamp_false; +vec4 o9598_2 = textureLod(texture_2, (((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y)))+p_o9625_amount*o9625_0_warp)+p_o9604_amount*o9604_0_warp)-vec2(p_o9602_translate_x, (- elapsed_time / 12.0)), 0.0); +vec4 o9602_0_5_rgba = o9598_2; +float o9601_4_clamp_false = o9554_0_5_f*(dot((o9602_0_5_rgba).rgb, vec3(1.0))/3.0); +float o9601_4_clamp_true = clamp(o9601_4_clamp_false, 0.0, 1.0); +float o9601_0_5_f = o9601_4_clamp_false; +vec4 o9604_0_1_rgba = vec4(vec3(o9601_0_5_f), 1.0); +float o9603_0_clamp_false = o9595_0_1_f*(dot((o9604_0_1_rgba).rgb, vec3(1.0))/3.0); +float o9603_0_clamp_true = clamp(o9603_0_clamp_false, 0.0, 1.0); +float o9603_0_1_f = o9603_0_clamp_false; +float o9606_0_clamp_false = o9603_0_1_f*p_o9606_default_in2; +float o9606_0_clamp_true = clamp(o9606_0_clamp_false, 0.0, 1.0); +float o9606_0_2_f = o9606_0_clamp_false; +vec4 o9625_0_1_rgba = vec4(vec3(o9606_0_2_f), 1.0); +vec4 o111395_0_s1 = o305707_0_1_rgba; +vec4 o111395_0_s2 = o9625_0_1_rgba; +float o111395_0_a = p_o111395_amount*1.0; +vec4 o111395_0_2_rgba = vec4(blend_screen((scale((uv), vec2(0.5+p_o425155_cx, 0.5+p_o425155_cy), vec2(p_o425155_scale_x, p_o425155_scale_y))), o111395_0_s1.rgb, o111395_0_s2.rgb, o111395_0_a*o111395_0_s1.a), min(1.0, o111395_0_s2.a+o111395_0_a*o111395_0_s1.a)); +vec4 o9579_0_1_rgba = o9579_gradient_gradient_fct((dot((o111395_0_2_rgba).rgb, vec3(1.0))/3.0)); +vec4 o9600_0_1_rgba = o9600_f(o9579_0_1_rgba); +vec4 o425155_0_1_rgba = o9600_0_1_rgba; + + vec4 color_tex = o425155_0_1_rgba; + color_tex = mix(pow((color_tex + vec4(0.055)) * (1.0 / (1.0 + 0.055)),vec4(2.4)),color_tex * (1.0 / 12.92),lessThan(color_tex,vec4(0.04045))); + ALBEDO = color_tex.rgb; + ALPHA = color_tex.a; + +} + + + diff --git a/Game/Assets/Effects/EnergyHit.tres b/Game/Assets/Effects/EnergyHit.tres new file mode 100644 index 0000000..6d1e9d7 --- /dev/null +++ b/Game/Assets/Effects/EnergyHit.tres @@ -0,0 +1,11 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=2] +[ext_resource path="EnergyHit.shader" type="Shader" id=1] +[ext_resource path="res://EnergyHit_texture_1.png" type="Texture" id=2] +[ext_resource path="res://EnergyHit_texture_2.png" type="Texture" id=3] +[resource] +shader = ExtResource( 1 ) +shader_param/texture_1 = ExtResource( 2 ) +shader_param/texture_2 = ExtResource( 3 ) + + + diff --git a/Game/Assets/Effects/EnergyHit_texture_1.png b/Game/Assets/Effects/EnergyHit_texture_1.png new file mode 100644 index 0000000..dc47954 --- /dev/null +++ b/Game/Assets/Effects/EnergyHit_texture_1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79f69a27de735b692ec41f073d685944a4dcf1f32f651f011c27c9c892739f1e +size 168412 diff --git a/Game/Assets/Effects/EnergyHit_texture_1.png.import b/Game/Assets/Effects/EnergyHit_texture_1.png.import new file mode 100644 index 0000000..5b010d6 --- /dev/null +++ b/Game/Assets/Effects/EnergyHit_texture_1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture2D" +uid="uid://c5dliecb55evh" +path="res://.godot/imported/EnergyHit_texture_1.png-e4cfde2ac8487cb9c2ef5c4a332c8763.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Effects/EnergyHit_texture_1.png" +dest_files=["res://.godot/imported/EnergyHit_texture_1.png-e4cfde2ac8487cb9c2ef5c4a332c8763.stex"] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=0 +compress/channel_pack=0 +compress/streamed=false +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/HDR_as_SRGB=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 diff --git a/Game/Assets/Effects/EnergyHit_texture_2.png b/Game/Assets/Effects/EnergyHit_texture_2.png new file mode 100644 index 0000000..52338f3 --- /dev/null +++ b/Game/Assets/Effects/EnergyHit_texture_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26a521c919823ed345dcce8927f7357e430f835698255b6c6773f1dd1fa66318 +size 219312 diff --git a/Game/Assets/Effects/EnergyHit_texture_2.png.import b/Game/Assets/Effects/EnergyHit_texture_2.png.import new file mode 100644 index 0000000..a3de304 --- /dev/null +++ b/Game/Assets/Effects/EnergyHit_texture_2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture2D" +uid="uid://cxkigvhuxsp87" +path="res://.godot/imported/EnergyHit_texture_2.png-98146f7f44d5704316be3c03b0b42953.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Effects/EnergyHit_texture_2.png" +dest_files=["res://.godot/imported/EnergyHit_texture_2.png-98146f7f44d5704316be3c03b0b42953.stex"] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=0 +compress/channel_pack=0 +compress/streamed=false +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/HDR_as_SRGB=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 diff --git a/Game/Assets/Effects/Impact.gd b/Game/Assets/Effects/Impact.gd index fae9f22..92be65a 100644 --- a/Game/Assets/Effects/Impact.gd +++ b/Game/Assets/Effects/Impact.gd @@ -2,6 +2,9 @@ extends Node3D func _ready(): $CPUParticles3D.emitting = true - + self.look_at(get_viewport().get_camera_3d().global_transform.origin) + $MeshInstance3D.get_active_material(0).set("shader_params/o3007790_OFFSET", randf_range(0, 1)) + + func _on_Timer_timeout(): queue_free() diff --git a/Game/Assets/Effects/ImpactBlood.gdshader b/Game/Assets/Effects/ImpactBlood.gdshader new file mode 100644 index 0000000..4dd2e5e --- /dev/null +++ b/Game/Assets/Effects/ImpactBlood.gdshader @@ -0,0 +1,594 @@ +shader_type spatial; +varying float elapsed_time; + +void vertex() { + elapsed_time = TIME; +} + +//--- + +float rand(vec2 x) { + return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453); +} + +vec2 rand2(vec2 x) { + return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453); +} + +vec3 rand3(vec2 x) { + return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)), + dot(x, vec2(3.4562, 17.398)), + dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453); +} + +vec3 rgb2hsv(vec3 c) { + vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy); + vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx); + + float d = q.x - min(q.w, q.y); + float e = 1.0e-10; + return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +vec3 hsv2rgb(vec3 c) { + vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + +instance uniform float o3007790_ANIM = 0.0; // {default:0.5, label:Animation, max:1, min:0, name:ANIM, step:0.01, type:named_parameter} +instance uniform float o3007790_OFFSET = 0.0; // {default:0.5, label:Offset, max:1, min:0, name:OFFSET, step:0.01, type:named_parameter} +float perlin(vec2 uv, vec2 size, int iterations, float persistence, int seed) { + vec2 seed2 = rand2(vec2(float(seed), 1.0-float(seed))); + float rv = 0.0; + float coef = 1.0; + float acc = 0.0; + for (int i = 0; i < iterations; ++i) { + vec2 step = vec2(1.0)/size; + vec2 xy = floor(uv*size); + float f0 = rand(seed2+mod(xy, size)); + float f1 = rand(seed2+mod(xy+vec2(1.0, 0.0), size)); + float f2 = rand(seed2+mod(xy+vec2(0.0, 1.0), size)); + float f3 = rand(seed2+mod(xy+vec2(1.0, 1.0), size)); + vec2 mixval = smoothstep(0.0, 1.0, fract(uv*size)); + rv += coef * mix(mix(f0, f1, mixval.x), mix(f2, f3, mixval.x), mixval.y); + acc += coef; + size *= 2.0; + coef *= persistence; + } + + return rv / acc; +} +float shape_circle(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float distance = length(uv); + return clamp((1.0-distance/size)/edge, 0.0, 1.0); +} + +float shape_polygon(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y)+3.14159265359; + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} + +float shape_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = atan(uv.x, uv.y); + float slice = 6.28318530718/sides; + return clamp((1.0-(cos(floor(angle*sides/6.28318530718-0.5+2.0*step(fract(angle*sides/6.28318530718), 0.5))*slice-angle)*length(uv))/size)/edge, 0.0, 1.0); +} + +float shape_curved_star(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = max(edge, 1.0e-8); + float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359); + float slice = 6.28318530718/sides; + return clamp((1.0-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv)/size)/edge, 0.0, 1.0); +} + +float shape_rays(vec2 uv, float sides, float size, float edge) { + uv = 2.0*uv-1.0; + edge = 0.5*max(edge, 1.0e-8)*size; + float slice = 6.28318530718/sides; + float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice; + return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0); +} + +vec2 transform2_clamp(vec2 uv) { + return clamp(uv, vec2(0.0), vec2(1.0)); +} + +vec2 transform2(vec2 uv, vec2 translate, float rotate, vec2 scale) { + vec2 rv; + uv -= translate; + uv -= vec2(0.5); + rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; + rv.y = -sin(rotate)*uv.x + cos(rotate)*uv.y; + rv /= scale; + rv += vec2(0.5); + return rv; +}vec2 rotate(vec2 uv, vec2 center, float rotate) { + vec2 rv; + uv -= center; + rv.x = cos(rotate)*uv.x + sin(rotate)*uv.y; + rv.y = -sin(rotate)*uv.x + cos(rotate)*uv.y; + rv += center; + return rv; +}// Based on https://www.shadertoy.com/view/ldl3W8 +// The MIT License +// Copyright © 2013 Inigo Quilez +vec3 iq_voronoi(vec2 x, vec2 size, vec2 stretch, float randomness, vec2 seed) { + vec2 n = floor(x); + vec2 f = fract(x); + + vec2 mg, mr, mc; + float md = 8.0; + for (int j=-1; j<=1; j++) + for (int i=-1; i<=1; i++) { + vec2 g = vec2(float(i),float(j)); + vec2 o = randomness*rand2(seed + mod(n + g + size, size)); + vec2 c = g + o; + vec2 r = c - f; + vec2 rr = r*stretch; + float d = dot(rr,rr); + + if (d0.00001) + md = min(md, dot(0.5*(mr+r)*stretch, normalize((r-mr)*stretch))); + } + + return vec3(md, mc+n); +} + +vec4 voronoi(vec2 uv, vec2 size, vec2 stretch, float intensity, float randomness, int seed) { + uv *= size; + vec3 v = iq_voronoi(uv, size, stretch, randomness, rand2(vec2(float(seed), 1.0-float(seed)))); + return vec4(v.yz, intensity*length((uv-v.yz)*stretch), v.x); +} +vec3 blend_normal(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1 + (1.0-opacity)*c2; +} + +vec3 blend_dissolve(vec2 uv, vec3 c1, vec3 c2, float opacity) { + if (rand(uv) < opacity) { + return c1; + } else { + return c2; + } +} + +vec3 blend_multiply(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*c1*c2 + (1.0-opacity)*c2; +} + +vec3 blend_screen(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*(1.0-(1.0-c1)*(1.0-c2)) + (1.0-opacity)*c2; +} + +float blend_overlay_f(float c1, float c2) { + return (c1 < 0.5) ? (2.0*c1*c2) : (1.0-2.0*(1.0-c1)*(1.0-c2)); +} + +vec3 blend_overlay(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_overlay_f(c1.x, c2.x), blend_overlay_f(c1.y, c2.y), blend_overlay_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +vec3 blend_hard_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*0.5*(c1*c2+blend_overlay(uv, c1, c2, 1.0)) + (1.0-opacity)*c2; +} + +float blend_soft_light_f(float c1, float c2) { + return (c2 < 0.5) ? (2.0*c1*c2+c1*c1*(1.0-2.0*c2)) : 2.0*c1*(1.0-c2)+sqrt(c1)*(2.0*c2-1.0); +} + +vec3 blend_soft_light(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_soft_light_f(c1.x, c2.x), blend_soft_light_f(c1.y, c2.y), blend_soft_light_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +float blend_burn_f(float c1, float c2) { + return (c1==0.0)?c1:max((1.0-((1.0-c2)/c1)),0.0); +} + +vec3 blend_burn(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_burn_f(c1.x, c2.x), blend_burn_f(c1.y, c2.y), blend_burn_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +float blend_dodge_f(float c1, float c2) { + return (c1==1.0)?c1:min(c2/(1.0-c1),1.0); +} + +vec3 blend_dodge(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*vec3(blend_dodge_f(c1.x, c2.x), blend_dodge_f(c1.y, c2.y), blend_dodge_f(c1.z, c2.z)) + (1.0-opacity)*c2; +} + +vec3 blend_lighten(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*max(c1, c2) + (1.0-opacity)*c2; +} + +vec3 blend_darken(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*min(c1, c2) + (1.0-opacity)*c2; +} + +vec3 blend_difference(vec2 uv, vec3 c1, vec3 c2, float opacity) { + return opacity*clamp(c2-c1, vec3(0.0), vec3(1.0)) + (1.0-opacity)*c2; +} +vec2 scale(vec2 uv, vec2 center, vec2 scale) { + uv -= center; + uv /= scale; + uv += center; + return uv; +}const float p_o2619577_default_in1 = 0.050000001; +const float p_o2619577_default_in2 = 0.000000000; +const float p_o3442925_cx = 0.000000000; +const float p_o3442925_cy = 0.000000000; +const float p_o3442925_scale_x = 2.099999905; +const float p_o3442925_scale_y = 2.099999905; +const float p_o2609904_default_in1 = 0.000000000; +const float p_o2609904_default_in2 = 0.000000000; +const float p_o1839956_default_in1 = 0.000000000; +const float p_o1839956_default_in2 = 1.000000000; +const float p_o1666169_amount = 1.000000000; +const float p_o3278853_cx = 0.000000000; +const float p_o3278853_cy = 0.000000000; +const float p_o1730094_translate_x = 0.000000000; +const float p_o1730094_translate_y = 0.000000000; +const float p_o1730094_rotate = 0.000000000; +const float p_o1730094_scale_x = 2.000000000; +const float p_o1730094_scale_y = 2.000000000; +const float p_o1711848_default_in1 = 0.000000000; +const float p_o1711848_default_in2 = 0.200000000; +const float p_o1053514_default_in1 = 0.000000000; +const float p_o1053514_default_in2 = 0.000000000; +const float p_o2016703_in_min = -0.280000000; +const float p_o2016703_in_max = 1.000000000; +const float p_o2016703_out_min = 0.000000000; +const float p_o2016703_out_max = 1.000000000; +const float p_o2003912_gradient_0_pos = 0.000000000; +const float p_o2003912_gradient_0_r = 0.000000000; +const float p_o2003912_gradient_0_g = 0.000000000; +const float p_o2003912_gradient_0_b = 0.000000000; +const float p_o2003912_gradient_0_a = 1.000000000; +const float p_o2003912_gradient_1_pos = 1.000000000; +const float p_o2003912_gradient_1_r = 1.000000000; +const float p_o2003912_gradient_1_g = 1.000000000; +const float p_o2003912_gradient_1_b = 1.000000000; +const float p_o2003912_gradient_1_a = 1.000000000; +vec4 o2003912_gradient_gradient_fct(float x) { + if (x < p_o2003912_gradient_0_pos) { + return vec4(p_o2003912_gradient_0_r,p_o2003912_gradient_0_g,p_o2003912_gradient_0_b,p_o2003912_gradient_0_a); + } else if (x < p_o2003912_gradient_1_pos) { + return mix(vec4(p_o2003912_gradient_0_r,p_o2003912_gradient_0_g,p_o2003912_gradient_0_b,p_o2003912_gradient_0_a), vec4(p_o2003912_gradient_1_r,p_o2003912_gradient_1_g,p_o2003912_gradient_1_b,p_o2003912_gradient_1_a), ((x-p_o2003912_gradient_0_pos)/(p_o2003912_gradient_1_pos-p_o2003912_gradient_0_pos))); + } + return vec4(p_o2003912_gradient_1_r,p_o2003912_gradient_1_g,p_o2003912_gradient_1_b,p_o2003912_gradient_1_a); +} +const float p_o1874989_default_in2 = 0.550000000; +const float p_o1646672_sides = 2.000000000; +const float p_o1646672_radius = 1.000000000; +const float p_o1646672_edge = 5.000000000; +const int seed_o1646669 = -20210; +const float p_o1646669_scale_x = 32.000000000; +const float p_o1646669_scale_y = 32.000000000; +const float p_o1646669_iterations = 8.000000000; +const float p_o1646669_persistence = 0.400000000; +const float p_o1227913_amount = 1.000000000; +const float p_o1227347_sides = 2.000000000; +const float p_o1227347_radius = 1.000000000; +const float p_o1227347_edge = 1.000000000; +const float p_o3232740_cx = 0.000000000; +const float p_o3232740_cy = 0.000000000; +const int seed_o1383595 = -22407; +const float p_o1383595_scale_x = 7.000000000; +const float p_o1383595_scale_y = 7.000000000; +const float p_o1383595_iterations = 2.000000000; +const float p_o1383595_persistence = 0.950000000; +const float p_o1170149_radius = 1.000000000; +const float p_o1170149_repeat = 1.000000000; +const float p_o1175160_cx = 0.000000000; +const float p_o1175160_cy = 0.000000000; +const float p_o1175160_rotate = 180.000000000; +const float p_o3180989_translate_y = 0.000000000; +const float p_o1107567_amount = 1.000000000; +const float p_o1115718_translate_x = 0.000000000; +const float p_o1115718_translate_y = -0.649999976; +const float p_o1115718_rotate = 0.000000000; +const float p_o1115718_scale_x = 1.000000000; +const float p_o1115718_scale_y = 1.000000000; +const int seed_o1098035 = -53939; +const float p_o1098035_scale_x = 64.000000000; +const float p_o1098035_scale_y = 6.000000000; +const float p_o1098035_stretch_x = 1.000000000; +const float p_o1098035_stretch_y = 1.000000000; +const float p_o1098035_intensity = 1.000000000; +const float p_o1098035_randomness = 0.850000000; +const float p_o1135497_gradient_0_pos = 0.718181818; +const float p_o1135497_gradient_0_r = 0.000000000; +const float p_o1135497_gradient_0_g = 0.000000000; +const float p_o1135497_gradient_0_b = 0.000000000; +const float p_o1135497_gradient_0_a = 1.000000000; +const float p_o1135497_gradient_1_pos = 0.918181818; +const float p_o1135497_gradient_1_r = 1.000000000; +const float p_o1135497_gradient_1_g = 1.000000000; +const float p_o1135497_gradient_1_b = 1.000000000; +const float p_o1135497_gradient_1_a = 1.000000000; +const float p_o1135497_gradient_2_pos = 0.945454545; +const float p_o1135497_gradient_2_r = 0.000000000; +const float p_o1135497_gradient_2_g = 0.000000000; +const float p_o1135497_gradient_2_b = 0.000000000; +const float p_o1135497_gradient_2_a = 1.000000000; +vec4 o1135497_gradient_gradient_fct(float x) { + if (x < p_o1135497_gradient_0_pos) { + return vec4(p_o1135497_gradient_0_r,p_o1135497_gradient_0_g,p_o1135497_gradient_0_b,p_o1135497_gradient_0_a); + } else if (x < p_o1135497_gradient_1_pos) { + return mix(vec4(p_o1135497_gradient_0_r,p_o1135497_gradient_0_g,p_o1135497_gradient_0_b,p_o1135497_gradient_0_a), vec4(p_o1135497_gradient_1_r,p_o1135497_gradient_1_g,p_o1135497_gradient_1_b,p_o1135497_gradient_1_a), ((x-p_o1135497_gradient_0_pos)/(p_o1135497_gradient_1_pos-p_o1135497_gradient_0_pos))); + } else if (x < p_o1135497_gradient_2_pos) { + return mix(vec4(p_o1135497_gradient_1_r,p_o1135497_gradient_1_g,p_o1135497_gradient_1_b,p_o1135497_gradient_1_a), vec4(p_o1135497_gradient_2_r,p_o1135497_gradient_2_g,p_o1135497_gradient_2_b,p_o1135497_gradient_2_a), ((x-p_o1135497_gradient_1_pos)/(p_o1135497_gradient_2_pos-p_o1135497_gradient_1_pos))); + } + return vec4(p_o1135497_gradient_2_r,p_o1135497_gradient_2_g,p_o1135497_gradient_2_b,p_o1135497_gradient_2_a); +} +const float p_o1147502_in_min = -1.950000000; +const float p_o1147502_in_max = 2.510000000; +const float p_o1147502_out_min = 0.080000000; +const float p_o1147502_out_max = 2.000000000; +const float p_o1079786_default_in1 = 0.000000000; +const float p_o1079786_default_in2 = 0.000000000; +const float p_o1544215_amount = 0.340000000; +const float p_o3153493_translate_y = 0.000000000; +const int seed_o1541301 = -32562; +const float p_o1541301_scale_x = 12.000000000; +const float p_o1541301_scale_y = 1.000000000; +const float p_o1541301_iterations = 1.000000000; +const float p_o1541301_persistence = 0.500000000; +const float p_o1047621_repeat = 1.000000000; +const float p_o1047621_rotate = -90.000000000; +const float p_o1047621_gradient_0_pos = 0.000000000; +const float p_o1047621_gradient_0_r = 0.000000000; +const float p_o1047621_gradient_0_g = 0.000000000; +const float p_o1047621_gradient_0_b = 0.000000000; +const float p_o1047621_gradient_0_a = 1.000000000; +const float p_o1047621_gradient_1_pos = 1.000000000; +const float p_o1047621_gradient_1_r = 1.000000000; +const float p_o1047621_gradient_1_g = 1.000000000; +const float p_o1047621_gradient_1_b = 1.000000000; +const float p_o1047621_gradient_1_a = 1.000000000; +vec4 o1047621_gradient_gradient_fct(float x) { + if (x < p_o1047621_gradient_0_pos) { + return vec4(p_o1047621_gradient_0_r,p_o1047621_gradient_0_g,p_o1047621_gradient_0_b,p_o1047621_gradient_0_a); + } else if (x < p_o1047621_gradient_1_pos) { + return mix(vec4(p_o1047621_gradient_0_r,p_o1047621_gradient_0_g,p_o1047621_gradient_0_b,p_o1047621_gradient_0_a), vec4(p_o1047621_gradient_1_r,p_o1047621_gradient_1_g,p_o1047621_gradient_1_b,p_o1047621_gradient_1_a), ((x-p_o1047621_gradient_0_pos)/(p_o1047621_gradient_1_pos-p_o1047621_gradient_0_pos))); + } + return vec4(p_o1047621_gradient_1_r,p_o1047621_gradient_1_g,p_o1047621_gradient_1_b,p_o1047621_gradient_1_a); +} +const float p_o2313099_curve_0_x = 0.000000000; +const float p_o2313099_curve_0_y = 0.887122393; +const float p_o2313099_curve_0_ls = 0.000000000; +const float p_o2313099_curve_0_rs = -0.653084097; +const float p_o2313099_curve_1_x = 0.451992810; +const float p_o2313099_curve_1_y = 0.484896600; +const float p_o2313099_curve_1_ls = -0.936088853; +const float p_o2313099_curve_1_rs = -1.978554322; +const float p_o2313099_curve_2_x = 1.000000000; +const float p_o2313099_curve_2_y = 0.000000000; +const float p_o2313099_curve_2_ls = 0.068362479; +const float p_o2313099_curve_2_rs = -0.000000000; +float o2313099_curve_curve_fct(float x) { +if (x <= p_o2313099_curve_1_x) { +float dx = x - p_o2313099_curve_0_x; +float d = p_o2313099_curve_1_x - p_o2313099_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2313099_curve_0_y; +float yac = p_o2313099_curve_0_y + d*p_o2313099_curve_0_rs; +float ybc = p_o2313099_curve_1_y - d*p_o2313099_curve_1_ls; +float y2 = p_o2313099_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2313099_curve_2_x) { +float dx = x - p_o2313099_curve_1_x; +float d = p_o2313099_curve_2_x - p_o2313099_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2313099_curve_1_y; +float yac = p_o2313099_curve_1_y + d*p_o2313099_curve_1_rs; +float ybc = p_o2313099_curve_2_y - d*p_o2313099_curve_2_ls; +float y2 = p_o2313099_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} +const float p_o2047992_curve_0_x = 0.000000000; +const float p_o2047992_curve_0_y = 1.000000000; +const float p_o2047992_curve_0_ls = 0.000000000; +const float p_o2047992_curve_0_rs = -37.443563156; +const float p_o2047992_curve_1_x = 0.045742754; +const float p_o2047992_curve_1_y = 0.004769504; +const float p_o2047992_curve_1_ls = 0.000000000; +const float p_o2047992_curve_1_rs = -0.000000000; +const float p_o2047992_curve_2_x = 0.202898547; +const float p_o2047992_curve_2_y = 0.069952309; +const float p_o2047992_curve_2_ls = 1.276485086; +const float p_o2047992_curve_2_rs = 0.566182865; +const float p_o2047992_curve_3_x = 0.633605063; +const float p_o2047992_curve_3_y = 0.527821898; +const float p_o2047992_curve_3_ls = 2.990280303; +const float p_o2047992_curve_3_rs = 3.026153690; +const float p_o2047992_curve_4_x = 1.000000000; +const float p_o2047992_curve_4_y = 1.000000000; +const float p_o2047992_curve_4_ls = 0.266607613; +const float p_o2047992_curve_4_rs = -0.000000000; +float o2047992_curve_curve_fct(float x) { +if (x <= p_o2047992_curve_1_x) { +float dx = x - p_o2047992_curve_0_x; +float d = p_o2047992_curve_1_x - p_o2047992_curve_0_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_0_y; +float yac = p_o2047992_curve_0_y + d*p_o2047992_curve_0_rs; +float ybc = p_o2047992_curve_1_y - d*p_o2047992_curve_1_ls; +float y2 = p_o2047992_curve_1_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2047992_curve_2_x) { +float dx = x - p_o2047992_curve_1_x; +float d = p_o2047992_curve_2_x - p_o2047992_curve_1_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_1_y; +float yac = p_o2047992_curve_1_y + d*p_o2047992_curve_1_rs; +float ybc = p_o2047992_curve_2_y - d*p_o2047992_curve_2_ls; +float y2 = p_o2047992_curve_2_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2047992_curve_3_x) { +float dx = x - p_o2047992_curve_2_x; +float d = p_o2047992_curve_3_x - p_o2047992_curve_2_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_2_y; +float yac = p_o2047992_curve_2_y + d*p_o2047992_curve_2_rs; +float ybc = p_o2047992_curve_3_y - d*p_o2047992_curve_3_ls; +float y2 = p_o2047992_curve_3_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +if (x <= p_o2047992_curve_4_x) { +float dx = x - p_o2047992_curve_3_x; +float d = p_o2047992_curve_4_x - p_o2047992_curve_3_x; +float t = dx/d; +float omt = (1.0 - t); +float omt2 = omt * omt; +float omt3 = omt2 * omt; +float t2 = t * t; +float t3 = t2 * t; +d /= 3.0; +float y1 = p_o2047992_curve_3_y; +float yac = p_o2047992_curve_3_y + d*p_o2047992_curve_3_rs; +float ybc = p_o2047992_curve_4_y - d*p_o2047992_curve_4_ls; +float y2 = p_o2047992_curve_4_y; +return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3; +} +} + +void fragment() { +float o1874989_0_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_0_clamp_true = clamp(o1874989_0_clamp_false, 0.0, 1.0); +float o1874989_0_2_f = o1874989_0_clamp_false; +vec4 o2003912_0_1_rgba = o2003912_gradient_gradient_fct(o1874989_0_2_f); +vec4 o2016703_0_1_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_1_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_1_rgba.a); +float o1053514_0_clamp_false = abs((dot((o2016703_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_0_clamp_true = clamp(o1053514_0_clamp_false, 0.0, 1.0); +float o1053514_0_1_f = o1053514_0_clamp_true; +float o1711848_0_clamp_false = o1053514_0_1_f+p_o1711848_default_in2; +float o1711848_0_clamp_true = clamp(o1711848_0_clamp_false, 0.0, 1.0); +float o1711848_0_2_f = o1711848_0_clamp_false; +float o1646669_0_1_f = perlin((transform2_clamp(transform2((rotate((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))), vec2(0.5+p_o3278853_cx, 0.5+p_o3278853_cy), (o3007790_OFFSET * 530.0)*0.01745329251)), vec2(p_o1730094_translate_x*(2.0*1.0-1.0), p_o1730094_translate_y*(2.0*1.0-1.0)), p_o1730094_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1730094_scale_x*(2.0*o1711848_0_2_f-1.0), p_o1730094_scale_y*(2.0*o1711848_0_2_f-1.0))))), vec2(p_o1646669_scale_x, p_o1646669_scale_y), int(p_o1646669_iterations), p_o1646669_persistence, seed_o1646669); +float o1646672_0_1_f = shape_circle((transform2_clamp(transform2((rotate((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))), vec2(0.5+p_o3278853_cx, 0.5+p_o3278853_cy), (o3007790_OFFSET * 530.0)*0.01745329251)), vec2(p_o1730094_translate_x*(2.0*1.0-1.0), p_o1730094_translate_y*(2.0*1.0-1.0)), p_o1730094_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1730094_scale_x*(2.0*o1711848_0_2_f-1.0), p_o1730094_scale_y*(2.0*o1711848_0_2_f-1.0))))), p_o1646672_sides, p_o1646672_radius*1.0, p_o1646672_edge*o1646669_0_1_f); +vec4 o1730094_0_1_rgba = vec4(vec3(o1646672_0_1_f), 1.0); +vec4 o3278853_0_1_rgba = o1730094_0_1_rgba; +float o1383595_0_1_f = perlin((rotate((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))), vec2(0.5+p_o3232740_cx, 0.5+p_o3232740_cy), (o3007790_OFFSET * 180.0)*0.01745329251)), vec2(p_o1383595_scale_x, p_o1383595_scale_y), int(p_o1383595_iterations), p_o1383595_persistence, seed_o1383595); +vec4 o3232740_0_1_rgba = vec4(vec3(o1383595_0_1_f), 1.0); +float o1227347_0_1_f = shape_circle((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))), p_o1227347_sides, p_o1227347_radius*(dot((o3232740_0_1_rgba).rgb, vec3(1.0))/3.0), p_o1227347_edge*1.0); +float o1874989_3_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_3_clamp_true = clamp(o1874989_3_clamp_false, 0.0, 1.0); +float o1874989_0_5_f = o1874989_3_clamp_false; +vec4 o2003912_0_3_rgba = o2003912_gradient_gradient_fct(o1874989_0_5_f); +vec4 o2016703_0_3_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_3_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_3_rgba.a); +float o1053514_2_clamp_false = abs((dot((o2016703_0_3_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_2_clamp_true = clamp(o1053514_2_clamp_false, 0.0, 1.0); +float o1053514_0_3_f = o1053514_2_clamp_true; +vec4 o1098035_0_xyzw = voronoi((fract(transform2(((rotate((vec2(fract(p_o1170149_repeat*atan((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).y-0.5, (scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y)))-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), vec2(p_o1115718_translate_x*(2.0*1.0-1.0), p_o1115718_translate_y*(2.0*o1053514_0_3_f-1.0)), p_o1115718_rotate*0.01745329251*(2.0*1.0-1.0), vec2(p_o1115718_scale_x*(2.0*1.0-1.0), p_o1115718_scale_y*(2.0*1.0-1.0))))), vec2(p_o1098035_scale_x, p_o1098035_scale_y), vec2(p_o1098035_stretch_y, p_o1098035_stretch_x), p_o1098035_intensity, p_o1098035_randomness, seed_o1098035);float o1098035_0_1_f = o1098035_0_xyzw.z; +vec4 o1099342_0_1_rgba = vec4(vec3(1.0)-vec4(vec3(o1098035_0_1_f), 1.0).rgb, vec4(vec3(o1098035_0_1_f), 1.0).a); +vec4 o1115718_0_1_rgba = o1099342_0_1_rgba; +float o1541301_0_1_f = perlin((((rotate((vec2(fract(p_o1170149_repeat*atan((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).y-0.5, (scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y)))-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y))-vec2((o3007790_OFFSET * 3.5), p_o3153493_translate_y)), vec2(p_o1541301_scale_x, p_o1541301_scale_y), int(p_o1541301_iterations), p_o1541301_persistence, seed_o1541301); +vec4 o3153493_0_1_rgba = vec4(vec3(o1541301_0_1_f), 1.0); +float o1047621_0_r = 0.5+(cos(p_o1047621_rotate*0.01745329251)*(((rotate((vec2(fract(p_o1170149_repeat*atan((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).y-0.5, (scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y)))-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)).x-0.5)+sin(p_o1047621_rotate*0.01745329251)*(((rotate((vec2(fract(p_o1170149_repeat*atan((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).y-0.5, (scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y)))-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)).y-0.5))/(cos(abs(mod(p_o1047621_rotate, 90.0)-45.0)*0.01745329251)*1.41421356237);vec4 o1047621_0_1_rgba = o1047621_gradient_gradient_fct(fract(o1047621_0_r*p_o1047621_repeat)); +vec4 o1544215_0_s1 = o3153493_0_1_rgba; +vec4 o1544215_0_s2 = o1047621_0_1_rgba; +float o1544215_0_a = p_o1544215_amount*1.0; +vec4 o1544215_0_2_rgba = vec4(blend_normal(((rotate((vec2(fract(p_o1170149_repeat*atan((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).y-0.5, (scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y)))-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), o1544215_0_s1.rgb, o1544215_0_s2.rgb, o1544215_0_a*o1544215_0_s1.a), min(1.0, o1544215_0_s2.a+o1544215_0_a*o1544215_0_s1.a)); +float o1079786_0_clamp_false = (dot((o1544215_0_2_rgba).rgb, vec3(1.0))/3.0)-o1053514_0_3_f; +float o1079786_0_clamp_true = clamp(o1079786_0_clamp_false, 0.0, 1.0); +float o1079786_0_1_f = o1079786_0_clamp_false; +vec4 o1147502_0_1_rgba = vec4(vec3(p_o1147502_out_min)+(vec4(vec3(o1079786_0_1_f), 1.0).rgb-vec3(p_o1147502_in_min))*vec3((p_o1147502_out_max-p_o1147502_out_min)/(p_o1147502_in_max-p_o1147502_in_min)), vec4(vec3(o1079786_0_1_f), 1.0).a); +vec4 o1135497_0_1_rgba = o1135497_gradient_gradient_fct((dot((o1147502_0_1_rgba).rgb, vec3(1.0))/3.0)); +vec4 o1107567_0_s1 = o1115718_0_1_rgba; +vec4 o1107567_0_s2 = o1135497_0_1_rgba; +float o1107567_0_a = p_o1107567_amount*1.0; +vec4 o1107567_0_2_rgba = vec4(blend_multiply(((rotate((vec2(fract(p_o1170149_repeat*atan((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).y-0.5, (scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))).x-0.5)*0.15915494309), min(0.99999, 2.0/p_o1170149_radius*length((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y)))-vec2(0.5))))), vec2(0.5+p_o1175160_cx, 0.5+p_o1175160_cy), p_o1175160_rotate*0.01745329251))-vec2((o3007790_OFFSET * 1.32), p_o3180989_translate_y)), o1107567_0_s1.rgb, o1107567_0_s2.rgb, o1107567_0_a*o1107567_0_s1.a), min(1.0, o1107567_0_s2.a+o1107567_0_a*o1107567_0_s1.a)); +vec4 o3180989_0_1_rgba = o1107567_0_2_rgba; +vec4 o1175160_0_1_rgba = o3180989_0_1_rgba; +vec4 o1170149_0_1_rgba = o1175160_0_1_rgba; +vec4 o1227913_0_s1 = vec4(vec3(o1227347_0_1_f), 1.0); +vec4 o1227913_0_s2 = o1170149_0_1_rgba; +float o1227913_0_a = p_o1227913_amount*1.0; +vec4 o1227913_0_2_rgba = vec4(blend_multiply((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))), o1227913_0_s1.rgb, o1227913_0_s2.rgb, o1227913_0_a*o1227913_0_s1.a), min(1.0, o1227913_0_s2.a+o1227913_0_a*o1227913_0_s1.a)); +float o1874989_6_clamp_false = (o3007790_ANIM)*p_o1874989_default_in2; +float o1874989_6_clamp_true = clamp(o1874989_6_clamp_false, 0.0, 1.0); +float o1874989_0_8_f = o1874989_6_clamp_false; +vec4 o2003912_0_5_rgba = o2003912_gradient_gradient_fct(o1874989_0_8_f); +vec4 o2016703_0_5_rgba = vec4(vec3(p_o2016703_out_min)+(o2003912_0_5_rgba.rgb-vec3(p_o2016703_in_min))*vec3((p_o2016703_out_max-p_o2016703_out_min)/(p_o2016703_in_max-p_o2016703_in_min)), o2003912_0_5_rgba.a); +float o1053514_4_clamp_false = abs((dot((o2016703_0_5_rgba).rgb, vec3(1.0))/3.0)); +float o1053514_4_clamp_true = clamp(o1053514_4_clamp_false, 0.0, 1.0); +float o1053514_0_5_f = o1053514_4_clamp_true; +float o2313099_0_1_f = o2313099_curve_curve_fct(o1053514_0_5_f); +vec4 o1666169_0_s1 = o3278853_0_1_rgba; +vec4 o1666169_0_s2 = o1227913_0_2_rgba; +float o1666169_0_a = p_o1666169_amount*o2313099_0_1_f; +vec4 o1666169_0_1_rgba = vec4(blend_normal((scale((UV), vec2(0.5+p_o3442925_cx, 0.5+p_o3442925_cy), vec2(p_o3442925_scale_x, p_o3442925_scale_y))), o1666169_0_s1.rgb, o1666169_0_s2.rgb, o1666169_0_a*o1666169_0_s1.a), min(1.0, o1666169_0_s2.a+o1666169_0_a*o1666169_0_s1.a)); +float o1839956_0_clamp_false = (dot((o1666169_0_1_rgba).rgb, vec3(1.0))/3.0)*p_o1839956_default_in2; +float o1839956_0_clamp_true = clamp(o1839956_0_clamp_false, 0.0, 1.0); +float o1839956_0_2_f = o1839956_0_clamp_true; +float o2047992_0_1_f = o2047992_curve_curve_fct(o1053514_0_5_f); +float o2609904_0_clamp_false = o1839956_0_2_f-o2047992_0_1_f; +float o2609904_0_clamp_true = clamp(o2609904_0_clamp_false, 0.0, 1.0); +float o2609904_0_1_f = o2609904_0_clamp_false; +vec4 o3442925_0_1_rgba = vec4(vec3(o2609904_0_1_f), 1.0); +float o2619577_0_clamp_false = step(p_o2619577_default_in1,(dot((o3442925_0_1_rgba).rgb, vec3(1.0))/3.0)); +float o2619577_0_clamp_true = clamp(o2619577_0_clamp_false, 0.0, 1.0); +float o2619577_0_2_f = o2619577_0_clamp_true; +ALBEDO = vec3(0.7, 0, 0); +ROUGHNESS = 0.0; +ALPHA = o2619577_0_2_f; +} diff --git a/Game/Assets/Effects/ImpactBlood.tscn b/Game/Assets/Effects/ImpactBlood.tscn index a9d46b2..e48dde1 100644 --- a/Game/Assets/Effects/ImpactBlood.tscn +++ b/Game/Assets/Effects/ImpactBlood.tscn @@ -1,9 +1,40 @@ -[gd_scene load_steps=10 format=3 uid="uid://egphnvwk6cg"] +[gd_scene load_steps=13 format=3 uid="uid://egphnvwk6cg"] [ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1"] [ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2"] +[ext_resource type="Shader" path="res://Assets/Effects/ImpactBlood.gdshader" id="3_4p01j"] [ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="3_ftpj2"] +[sub_resource type="Animation" id="Animation_es1gj"] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} + +[sub_resource type="Animation" id="Animation_fex44"] +resource_name = "Splat" +tracks/0/type = "value" +tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.3), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} + [sub_resource type="StandardMaterial3D" id="7"] blend_mode = 3 shading_mode = 0 @@ -24,21 +55,25 @@ _data = [Vector2(0, 0.981818), 0.0, -1.7826, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0 [sub_resource type="Gradient" id="8"] colors = PackedColorArray(1, 0, 0, 1, 1, 1, 1, 1) -[sub_resource type="StandardMaterial3D" id="5"] -blend_mode = 1 -shading_mode = 0 -albedo_color = Color(1, 0, 0.00784314, 1) -albedo_texture = ExtResource( "2" ) -uv1_scale = Vector3(0.5, 0.5, 1) +[sub_resource type="ShaderMaterial" id="ShaderMaterial_d8ai5"] +shader = ExtResource( "3_4p01j" ) -[sub_resource type="QuadMesh" id="6"] -material = SubResource( "5" ) -size = Vector2(0.25, 0.25) +[sub_resource type="QuadMesh" id="QuadMesh_xdhl5"] +material = SubResource( "ShaderMaterial_d8ai5" ) +size = Vector2(2, 2) [node name="Impact" type="Node3D"] script = ExtResource( "1" ) +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "Splat" +anims/RESET = SubResource( "Animation_es1gj" ) +anims/Splat = SubResource( "Animation_fex44" ) +blend_times = [] +script = null + [node name="CPUParticles3D" type="CPUParticles3D" parent="."] +visible = false emitting = false amount = 32 lifetime = 3.0 @@ -56,15 +91,16 @@ color_ramp = SubResource( "8" ) script = null [node name="Timer" type="Timer" parent="."] -wait_time = 15.0 +wait_time = 2.0 one_shot = true autostart = true script = null [node name="MeshInstance3D" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.00379224, 0) -visible = false -mesh = SubResource( "6" ) +transform = Transform3D(1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0.00379224, 0) +shader_params/o3007790_ANIM = 0.0 +shader_params/o3007790_OFFSET = 0.0 +mesh = SubResource( "QuadMesh_xdhl5" ) surface_material_override/0 = null script = null