Boat/mat/watershader.tres
2025-03-21 17:44:10 +01:00

823 lines
26 KiB
Text

[gd_resource type="VisualShader" load_steps=76 format=3 uid="uid://dju4bgl0vd6f5"]
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_obdjg"]
linked_parent_graph_frame = 49
[sub_resource type="FastNoiseLite" id="FastNoiseLite_vh75p"]
noise_type = 2
seed = -102
fractal_type = 0
cellular_distance_function = 1
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_eafem"]
resource_name = "FoamNoise1"
seamless = true
noise = SubResource("FastNoiseLite_vh75p")
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_004we"]
linked_parent_graph_frame = 49
texture = SubResource("NoiseTexture2D_eafem")
texture_type = 1
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_0o2nh"]
default_input_values = [0, Vector2(0, 0), 1, Vector2(-1, -1)]
linked_parent_graph_frame = 49
op_type = 0
operator = 2
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_jwewd"]
default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)]
linked_parent_graph_frame = 49
op_type = 2
operator = 2
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_dt65u"]
default_input_values = [0, 0.0, 1, 1.5]
linked_parent_graph_frame = 49
operator = 5
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_274gg"]
parameter_name = "Transparency"
hint = 1
default_value_enabled = true
default_value = 0.8
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_mxgkd"]
parameter_name = "Roughness"
hint = 1
default_value_enabled = true
[sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_qysla"]
expanded_output_ports = [0]
parameter_name = "ColorParameter"
default_value_enabled = true
default_value = Color(1.4728e-05, 0.392619, 0.763696, 1)
[sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_obdjg"]
linked_parent_graph_frame = 49
varying_name = "Noise"
varying_type = 3
[sub_resource type="VisualShaderNodeProximityFade" id="VisualShaderNodeProximityFade_obdjg"]
linked_parent_graph_frame = 31
[sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_vh75p"]
linked_parent_graph_frame = 31
function = 31
[sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_eafem"]
linked_parent_graph_frame = 31
function = 0
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_004we"]
linked_parent_graph_frame = 31
input_name = "time"
[sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_0o2nh"]
linked_parent_graph_frame = 31
function = 12
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_jwewd"]
linked_parent_graph_frame = 31
operator = 2
[sub_resource type="VisualShaderNodeFrame" id="VisualShaderNodeFrame_dt65u"]
size = Vector2(2524, 1292)
title = "Foam"
attached_nodes = PackedInt32Array(27, 30, 24, 29, 26, 38, 23, 34, 33, 32, 35, 36, 37, 50, 53, 54, 60, 61, 58, 59, 57, 51, 52)
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_274gg"]
default_input_values = [0, 0.0, 1, 40.0]
linked_parent_graph_frame = 31
operator = 5
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_qysla"]
linked_parent_graph_frame = 31
parameter_name = "FoamMin"
hint = 1
max = 100.0
default_value_enabled = true
default_value = 40.0
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_ycrm4"]
linked_parent_graph_frame = 31
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_bt44v"]
default_input_values = [0, 0.0, 1, 1.0]
linked_parent_graph_frame = 31
operator = 2
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_gokfr"]
linked_parent_graph_frame = 31
parameter_name = "RippleNumber"
hint = 1
min = 1.0
max = 25.0
default_value_enabled = true
default_value = 6.0
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_5fl1t"]
linked_parent_graph_frame = 31
parameter_name = "RippleSpeed"
hint = 1
default_value_enabled = true
default_value = 0.5
[sub_resource type="VisualShaderNodeMultiplyAdd" id="VisualShaderNodeMultiplyAdd_tk76b"]
linked_parent_graph_frame = 31
[sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_y7ycs"]
default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(1, 1, 1), 2, Vector3(0.5, 0.5, 0.5)]
op_type = 3
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_6r64g"]
linked_parent_graph_frame = 49
input_name = "uv"
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_5wtf6"]
default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0)]
linked_parent_graph_frame = 49
op_type = 0
operator = 2
[sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_cgaqp"]
linked_parent_graph_frame = 49
varying_name = "Cells"
varying_type = 3
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_wsoe0"]
default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)]
linked_parent_graph_frame = 49
op_type = 2
operator = 2
[sub_resource type="FastNoiseLite" id="FastNoiseLite_c8snt"]
noise_type = 2
seed = 93
fractal_type = 0
cellular_distance_function = 1
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_7x758"]
resource_name = "FoamNoise3"
seamless = true
noise = SubResource("FastNoiseLite_c8snt")
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hcimu"]
linked_parent_graph_frame = 49
texture = SubResource("NoiseTexture2D_7x758")
texture_type = 1
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_qfu83"]
default_input_values = [0, Vector2(0, 0), 1, Vector2(-1, -1)]
linked_parent_graph_frame = 49
op_type = 0
operator = 2
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_osjwj"]
linked_parent_graph_frame = 49
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_ft6xr"]
linked_parent_graph_frame = 49
input_name = "time"
[sub_resource type="VisualShaderNodeFrame" id="VisualShaderNodeFrame_obdjg"]
size = Vector2(2124, 1224)
title = "Noise"
attached_nodes = PackedInt32Array(15, 17, 10, 42, 44, 45, 48, 47, 46, 8, 16, 43, 41, 22, 11, 7, 5, 62)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_gokfr"]
noise_type = 2
seed = 1615
fractal_type = 0
cellular_distance_function = 1
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_5fl1t"]
resource_name = "FoamNoise2"
seamless = true
noise = SubResource("FastNoiseLite_gokfr")
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_tk76b"]
linked_parent_graph_frame = 49
texture = SubResource("NoiseTexture2D_5fl1t")
texture_type = 1
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_obdjg"]
linked_parent_graph_frame = 31
parameter_name = "DistanceFade"
hint = 1
max = 5.0
default_value_enabled = true
default_value = 0.5
[sub_resource type="VisualShaderNodeSwitch" id="VisualShaderNodeSwitch_vh75p"]
linked_parent_graph_frame = 31
[sub_resource type="VisualShaderNodeBooleanParameter" id="VisualShaderNodeBooleanParameter_eafem"]
linked_parent_graph_frame = 31
parameter_name = "FoamNoise"
default_value_enabled = true
default_value = true
[sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_004we"]
default_input_values = [0, 0.0, 1, 0.0, 2, 0.5]
linked_parent_graph_frame = 31
[sub_resource type="FastNoiseLite" id="FastNoiseLite_obdjg"]
noise_type = 0
seed = -2150
frequency = 0.1294
fractal_type = 0
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0o2nh"]
resource_name = "RippleNoise"
noise = SubResource("FastNoiseLite_obdjg")
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_jwewd"]
linked_parent_graph_frame = 31
texture = SubResource("NoiseTexture2D_0o2nh")
texture_type = 1
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_vh75p"]
parameter_name = "Spec"
hint = 1
default_value_enabled = true
default_value = 0.969
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_vh75p"]
linked_parent_graph_frame = 31
input_name = "time"
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_eafem"]
linked_parent_graph_frame = 31
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_004we"]
default_input_values = [0, 0.0, 1, 0.1]
linked_parent_graph_frame = 31
operator = 2
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_y7ycs"]
output_port_for_preview = 0
default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)]
op_type = 2
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_0o2nh"]
default_input_values = [0, 0.0, 1, 2.0]
linked_parent_graph_frame = 31
operator = 5
[sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_jwewd"]
linked_parent_graph_frame = 31
varying_name = "Noise"
varying_type = 3
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_eafem"]
linked_parent_graph_frame = 49
parameter_name = "FoamScale"
hint = 1
max = 5.0
default_value_enabled = true
default_value = 2.0
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_6r64g"]
linked_parent_graph_frame = 49
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_5wtf6"]
linked_parent_graph_frame = 49
input_name = "time"
[sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_vh75p"]
parameter_name = "RippleTimeScale"
default_value_enabled = true
default_value = Vector2(0.05, 0.08)
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_eafem"]
default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.2, 0.2, 0.2)]
operator = 2
[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_004we"]
parameter_name = "MaxRippleHeight"
hint = 1
default_value_enabled = true
default_value = 0.5
[sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_odxaq"]
parameter_name = "CellsScale"
default_value_enabled = true
default_value = Vector2(0.5, 0.5)
[sub_resource type="VisualShaderNodeVaryingSetter" id="VisualShaderNodeVaryingSetter_ty10k"]
varying_name = "Cells"
varying_type = 3
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_cgfff"]
input_name = "uv"
[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_savut"]
default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0)]
op_type = 0
operator = 2
[sub_resource type="VisualShaderNodeBooleanParameter" id="VisualShaderNodeBooleanParameter_obdjg"]
parameter_name = "Waves"
default_value_enabled = true
default_value = true
[sub_resource type="VisualShaderNodeSwitch" id="VisualShaderNodeSwitch_eafem"]
default_input_values = [0, false, 1, Vector3(1, 1, 1), 2, Vector3(0, 0, 0)]
op_type = 4
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_dt65u"]
input_name = "vertex"
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_obdjg"]
input_name = "time"
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_vh75p"]
default_input_values = [1, Vector2(0.1, 0.1), 2, Vector2(0, 0)]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_dt65u"]
resource_name = "FoamNoise2"
seamless = true
noise = SubResource("FastNoiseLite_gokfr")
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_0o2nh"]
texture = SubResource("NoiseTexture2D_dt65u")
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_0o2nh"]
input_name = "vertex"
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_jwewd"]
input_name = "normal"
[sub_resource type="VisualShaderNodeMultiplyAdd" id="VisualShaderNodeMultiplyAdd_dt65u"]
output_port_for_preview = 0
default_input_values = [0, Vector4(0, 0, 0, 0), 1, Vector4(1, 1, 1, 1), 2, Vector4(0, 0, 0, 0)]
op_type = 3
[sub_resource type="VisualShaderNodeVaryingSetter" id="VisualShaderNodeVaryingSetter_274gg"]
varying_name = "Noise"
varying_type = 3
[resource]
code = "shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_toon, specular_toon, fog_disabled;
// Varyings
varying vec2 var_Noise;
varying vec2 var_Cells;
uniform bool Waves = true;
uniform vec2 CellsScale = vec2(0.500000, 0.500000);
uniform vec2 RippleTimeScale = vec2(0.050000, 0.080000);
uniform sampler2D tex_vtx_4;
uniform float MaxRippleHeight : hint_range(0.0, 1.0) = 0.5;
uniform vec4 ColorParameter : source_color = vec4(0.000015, 0.392619, 0.763696, 1.000000);
uniform sampler2D tex_frg_11 : source_color;
uniform sampler2D tex_frg_5 : source_color;
uniform sampler2D tex_frg_45 : source_color;
uniform float FoamScale : hint_range(0.0, 5.0) = 2.0;
uniform bool FoamNoise = true;
uniform float RippleSpeed : hint_range(0.0, 1.0) = 0.5;
uniform float DistanceFade : hint_range(0.0, 5.0) = 0.5;
uniform sampler2D depth_tex_frg_23 : hint_depth_texture;
uniform float RippleNumber : hint_range(1.0, 25.0) = 6.0;
uniform sampler2D tex_frg_54 : source_color;
uniform float FoamMin : hint_range(0.0, 100.0) = 40.0;
uniform float Transparency : hint_range(0.0, 1.0) = 0.80000001192093;
uniform float Roughness : hint_range(0.0, 1.0) = 0.0;
uniform float Spec : hint_range(0.0, 1.0) = 0.96899998188019;
void vertex() {
// BooleanParameter:17
bool n_out17p0 = Waves;
// Input:15
vec2 n_out15p0 = UV;
// Vector2Parameter:13
vec2 n_out13p0 = CellsScale;
// VectorOp:16
vec2 n_out16p0 = n_out15p0 * n_out13p0;
// Vector2Parameter:10
vec2 n_out10p0 = RippleTimeScale;
// Input:2
float n_out2p0 = TIME;
// UVFunc:3
vec2 n_out3p0 = vec2(n_out2p0) * n_out10p0 + n_out16p0;
// Texture2D:4
vec4 n_out4p0 = texture(tex_vtx_4, n_out3p0);
// Input:6
vec3 n_out6p0 = NORMAL;
// FloatParameter:12
float n_out12p0 = MaxRippleHeight;
// VectorOp:11
vec3 n_out11p0 = n_out6p0 * vec3(n_out12p0);
// Input:5
vec3 n_out5p0 = VERTEX;
// MultiplyAdd:7
vec4 n_out7p0 = fma(n_out4p0, vec4(n_out11p0, 0.0), vec4(n_out5p0, 0.0));
// Input:19
vec3 n_out19p0 = VERTEX;
vec3 n_out18p0;
// Switch:18
n_out18p0 = mix(n_out19p0, vec3(n_out7p0.xyz), float(n_out17p0));
// Output:0
VERTEX = n_out18p0;
// VaryingSetter:8
var_Noise = n_out10p0;
// VaryingSetter:14
var_Cells = n_out13p0;
}
void fragment() {
// ColorParameter:2
vec4 n_out2p0 = ColorParameter;
// Input:41
vec2 n_out41p0 = UV;
// VaryingGetter:43
vec2 n_out43p0 = var_Cells;
// VectorOp:42
vec2 n_out42p0 = n_out41p0 * n_out43p0;
// VaryingGetter:22
vec2 n_out22p0 = var_Noise;
// VectorOp:15
vec2 n_in15p1 = vec2(-1.00000, -1.00000);
vec2 n_out15p0 = n_out22p0 * n_in15p1;
// Input:8
float n_out8p0 = TIME;
// UVFunc:10
vec2 n_out10p0 = vec2(n_out8p0) * n_out15p0 + n_out42p0;
// Texture2D:11
vec4 n_out11p0 = texture(tex_frg_11, n_out10p0);
// UVFunc:7
vec2 n_out7p0 = vec2(n_out8p0) * n_out22p0 + n_out42p0;
// Texture2D:5
vec4 n_out5p0 = texture(tex_frg_5, n_out7p0);
// VectorOp:16
vec4 n_out16p0 = n_out11p0 * n_out5p0;
// VectorOp:46
vec2 n_in46p0 = vec2(0.00000, 0.00000);
vec2 n_in46p1 = vec2(-1.00000, -1.00000);
vec2 n_out46p0 = n_in46p0 * n_in46p1;
// Input:48
float n_out48p0 = TIME;
// UVFunc:47
vec2 n_out47p0 = vec2(n_out48p0) * n_out46p0 + UV;
// Texture2D:45
vec4 n_out45p0 = texture(tex_frg_45, n_out47p0);
// VectorOp:44
vec4 n_out44p0 = n_out16p0 * n_out45p0;
// FloatParameter:62
float n_out62p0 = FoamScale;
// FloatOp:17
float n_out17p0 = pow(n_out44p0.x, n_out62p0);
// VectorOp:6
vec4 n_out6p0 = n_out2p0 + vec4(n_out17p0);
// BooleanParameter:52
bool n_out52p0 = FoamNoise;
// Input:27
float n_out27p0 = TIME;
// FloatParameter:37
float n_out37p0 = RippleSpeed;
// FloatParameter:50
float n_out50p0 = DistanceFade;
float n_out23p0;
// ProximityFade:23
{
float __depth_tex = texture(depth_tex_frg_23, SCREEN_UV).r;
vec4 __depth_world_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, __depth_tex, 1.0);
__depth_world_pos.xyz /= __depth_world_pos.w;
n_out23p0 = clamp(1.0 - smoothstep(__depth_world_pos.z + n_out50p0, __depth_world_pos.z, VERTEX.z), 0.0, 1.0);
}
// FloatFunc:24
float n_out24p0 = 1.0 - n_out23p0;
// MultiplyAdd:38
float n_out38p0 = fma(n_out27p0, n_out37p0, n_out24p0);
// FloatParameter:36
float n_out36p0 = RippleNumber;
// FloatOp:35
float n_out35p0 = n_out38p0 * n_out36p0;
// FloatFunc:26
float n_out26p0 = sin(n_out35p0);
// FloatFunc:29
float n_out29p0 = abs(n_out26p0);
// FloatOp:30
float n_out30p0 = n_out29p0 * n_out24p0;
// VaryingGetter:61
vec2 n_out61p0 = var_Noise;
// Input:57
float n_out57p0 = TIME;
// FloatOp:59
float n_in59p1 = 0.10000;
float n_out59p0 = n_out57p0 * n_in59p1;
// UVFunc:58
vec2 n_out58p0 = vec2(n_out59p0) * n_out61p0 + UV;
// Texture2D:54
vec4 n_out54p0 = texture(tex_frg_54, n_out58p0);
// FloatOp:60
float n_in60p1 = 2.00000;
float n_out60p0 = pow(n_out54p0.x, n_in60p1);
// Mix:53
float n_in53p0 = 0.00000;
float n_out53p0 = mix(n_in53p0, n_out30p0, n_out60p0);
float n_out51p0;
// Switch:51
n_out51p0 = mix(n_out30p0, n_out53p0, float(n_out52p0));
// FloatParameter:33
float n_out33p0 = FoamMin;
// FloatOp:32
float n_out32p0 = pow(n_out24p0, n_out33p0);
// FloatOp:34
float n_out34p0 = n_out51p0 + n_out32p0;
// Mix:39
vec3 n_in39p1 = vec3(1.00000, 1.00000, 1.00000);
vec3 n_out39p0 = mix(vec3(n_out6p0.xyz), n_in39p1, vec3(n_out34p0));
// FloatParameter:18
float n_out18p0 = Transparency;
// FloatParameter:19
float n_out19p0 = Roughness;
// FloatParameter:55
float n_out55p0 = Spec;
// Output:0
ALBEDO = n_out39p0;
ALPHA = n_out18p0;
ROUGHNESS = n_out19p0;
SPECULAR = n_out55p0;
EMISSION = vec3(n_out6p0.xyz);
}
"
graph_offset = Vector2(-540.049, 106.316)
modes/diffuse = 3
modes/specular = 1
flags/fog_disabled = true
varyings/Noise = "0,3"
varyings/Cells = "0,3"
nodes/vertex/0/position = Vector2(1460, 340)
nodes/vertex/2/node = SubResource("VisualShaderNodeInput_obdjg")
nodes/vertex/2/position = Vector2(-300, 460)
nodes/vertex/3/node = SubResource("VisualShaderNodeUVFunc_vh75p")
nodes/vertex/3/position = Vector2(-160, 200)
nodes/vertex/4/node = SubResource("VisualShaderNodeTexture_0o2nh")
nodes/vertex/4/position = Vector2(160, 220)
nodes/vertex/5/node = SubResource("VisualShaderNodeInput_0o2nh")
nodes/vertex/5/position = Vector2(240, 760)
nodes/vertex/6/node = SubResource("VisualShaderNodeInput_jwewd")
nodes/vertex/6/position = Vector2(20, 540)
nodes/vertex/7/node = SubResource("VisualShaderNodeMultiplyAdd_dt65u")
nodes/vertex/7/position = Vector2(840, 300)
nodes/vertex/8/node = SubResource("VisualShaderNodeVaryingSetter_274gg")
nodes/vertex/8/position = Vector2(-460, 540)
nodes/vertex/10/node = SubResource("VisualShaderNodeVec2Parameter_vh75p")
nodes/vertex/10/position = Vector2(-840, 280)
nodes/vertex/11/node = SubResource("VisualShaderNodeVectorOp_eafem")
nodes/vertex/11/position = Vector2(400, 480)
nodes/vertex/12/node = SubResource("VisualShaderNodeFloatParameter_004we")
nodes/vertex/12/position = Vector2(-100, 660)
nodes/vertex/13/node = SubResource("VisualShaderNodeVec2Parameter_odxaq")
nodes/vertex/13/position = Vector2(-800, -180)
nodes/vertex/14/node = SubResource("VisualShaderNodeVaryingSetter_ty10k")
nodes/vertex/14/position = Vector2(-420, 140)
nodes/vertex/15/node = SubResource("VisualShaderNodeInput_cgfff")
nodes/vertex/15/position = Vector2(-960, -280)
nodes/vertex/16/node = SubResource("VisualShaderNodeVectorOp_savut")
nodes/vertex/16/position = Vector2(-440, -180)
nodes/vertex/17/node = SubResource("VisualShaderNodeBooleanParameter_obdjg")
nodes/vertex/17/position = Vector2(920, 80)
nodes/vertex/18/node = SubResource("VisualShaderNodeSwitch_eafem")
nodes/vertex/18/position = Vector2(1280, 140)
nodes/vertex/19/node = SubResource("VisualShaderNodeInput_dt65u")
nodes/vertex/19/position = Vector2(1100, 420)
nodes/vertex/connections = PackedInt32Array(2, 0, 3, 2, 3, 0, 4, 0, 5, 0, 7, 2, 4, 0, 7, 0, 10, 0, 8, 0, 10, 0, 3, 1, 6, 0, 11, 0, 11, 0, 7, 1, 12, 0, 11, 1, 13, 0, 14, 0, 15, 0, 16, 0, 13, 0, 16, 1, 16, 0, 3, 0, 7, 0, 18, 1, 17, 0, 18, 0, 18, 0, 0, 0, 19, 0, 18, 2)
nodes/fragment/0/position = Vector2(1780, 1540)
nodes/fragment/2/node = SubResource("VisualShaderNodeColorParameter_qysla")
nodes/fragment/2/position = Vector2(240, 920)
nodes/fragment/5/node = SubResource("VisualShaderNodeTexture_tk76b")
nodes/fragment/5/position = Vector2(-480, 1720)
nodes/fragment/6/node = SubResource("VisualShaderNodeVectorOp_y7ycs")
nodes/fragment/6/position = Vector2(640, 980)
nodes/fragment/7/node = SubResource("VisualShaderNodeUVFunc_6r64g")
nodes/fragment/7/position = Vector2(-860, 1840)
nodes/fragment/8/node = SubResource("VisualShaderNodeInput_5wtf6")
nodes/fragment/8/position = Vector2(-1160, 1720)
nodes/fragment/10/node = SubResource("VisualShaderNodeUVFunc_obdjg")
nodes/fragment/10/position = Vector2(-840, 1460)
nodes/fragment/11/node = SubResource("VisualShaderNodeTexture_004we")
nodes/fragment/11/position = Vector2(-480, 1360)
nodes/fragment/15/node = SubResource("VisualShaderNodeVectorOp_0o2nh")
nodes/fragment/15/position = Vector2(-1060, 1460)
nodes/fragment/16/node = SubResource("VisualShaderNodeVectorOp_jwewd")
nodes/fragment/16/position = Vector2(-240, 1520)
nodes/fragment/17/node = SubResource("VisualShaderNodeFloatOp_dt65u")
nodes/fragment/17/position = Vector2(280, 1520)
nodes/fragment/18/node = SubResource("VisualShaderNodeFloatParameter_274gg")
nodes/fragment/18/position = Vector2(820, 1600)
nodes/fragment/19/node = SubResource("VisualShaderNodeFloatParameter_mxgkd")
nodes/fragment/19/position = Vector2(800, 1920)
nodes/fragment/22/node = SubResource("VisualShaderNodeVaryingGetter_obdjg")
nodes/fragment/22/position = Vector2(-1600, 1740)
nodes/fragment/23/node = SubResource("VisualShaderNodeProximityFade_obdjg")
nodes/fragment/23/position = Vector2(-620, 60)
nodes/fragment/24/node = SubResource("VisualShaderNodeFloatFunc_vh75p")
nodes/fragment/24/position = Vector2(-400, 60)
nodes/fragment/26/node = SubResource("VisualShaderNodeFloatFunc_eafem")
nodes/fragment/26/position = Vector2(380, -40)
nodes/fragment/27/node = SubResource("VisualShaderNodeInput_004we")
nodes/fragment/27/position = Vector2(-680, -80)
nodes/fragment/29/node = SubResource("VisualShaderNodeFloatFunc_0o2nh")
nodes/fragment/29/position = Vector2(560, -40)
nodes/fragment/30/node = SubResource("VisualShaderNodeFloatOp_jwewd")
nodes/fragment/30/position = Vector2(780, 20)
nodes/fragment/31/node = SubResource("VisualShaderNodeFrame_dt65u")
nodes/fragment/31/position = Vector2(-1000, -440)
nodes/fragment/32/node = SubResource("VisualShaderNodeFloatOp_274gg")
nodes/fragment/32/position = Vector2(420, 180)
nodes/fragment/33/node = SubResource("VisualShaderNodeFloatParameter_qysla")
nodes/fragment/33/position = Vector2(-160, 260)
nodes/fragment/34/node = SubResource("VisualShaderNodeFloatOp_ycrm4")
nodes/fragment/34/position = Vector2(1320, 340)
nodes/fragment/35/node = SubResource("VisualShaderNodeFloatOp_bt44v")
nodes/fragment/35/position = Vector2(200, -80)
nodes/fragment/36/node = SubResource("VisualShaderNodeFloatParameter_gokfr")
nodes/fragment/36/position = Vector2(-500, 180)
nodes/fragment/37/node = SubResource("VisualShaderNodeFloatParameter_5fl1t")
nodes/fragment/37/position = Vector2(-620, -400)
nodes/fragment/38/node = SubResource("VisualShaderNodeMultiplyAdd_tk76b")
nodes/fragment/38/position = Vector2(-80, -100)
nodes/fragment/39/node = SubResource("VisualShaderNodeMix_y7ycs")
nodes/fragment/39/position = Vector2(1540, 1020)
nodes/fragment/41/node = SubResource("VisualShaderNodeInput_6r64g")
nodes/fragment/41/position = Vector2(-1520, 2040)
nodes/fragment/42/node = SubResource("VisualShaderNodeVectorOp_5wtf6")
nodes/fragment/42/position = Vector2(-1180, 2040)
nodes/fragment/43/node = SubResource("VisualShaderNodeVaryingGetter_cgaqp")
nodes/fragment/43/position = Vector2(-1440, 2160)
nodes/fragment/44/node = SubResource("VisualShaderNodeVectorOp_wsoe0")
nodes/fragment/44/position = Vector2(-80, 1700)
nodes/fragment/45/node = SubResource("VisualShaderNodeTexture_hcimu")
nodes/fragment/45/position = Vector2(-360, 2060)
nodes/fragment/46/node = SubResource("VisualShaderNodeVectorOp_qfu83")
nodes/fragment/46/position = Vector2(-940, 2160)
nodes/fragment/47/node = SubResource("VisualShaderNodeUVFunc_osjwj")
nodes/fragment/47/position = Vector2(-720, 2160)
nodes/fragment/48/node = SubResource("VisualShaderNodeInput_ft6xr")
nodes/fragment/48/position = Vector2(-1040, 2420)
nodes/fragment/49/node = SubResource("VisualShaderNodeFrame_obdjg")
nodes/fragment/49/position = Vector2(-1640, 1319)
nodes/fragment/50/node = SubResource("VisualShaderNodeFloatParameter_obdjg")
nodes/fragment/50/position = Vector2(-960, 80)
nodes/fragment/51/node = SubResource("VisualShaderNodeSwitch_vh75p")
nodes/fragment/51/position = Vector2(1300, -280)
nodes/fragment/52/node = SubResource("VisualShaderNodeBooleanParameter_eafem")
nodes/fragment/52/position = Vector2(940, -240)
nodes/fragment/53/node = SubResource("VisualShaderNodeMix_004we")
nodes/fragment/53/position = Vector2(1040, 20)
nodes/fragment/54/node = SubResource("VisualShaderNodeTexture_jwewd")
nodes/fragment/54/position = Vector2(720, 440)
nodes/fragment/55/node = SubResource("VisualShaderNodeFloatParameter_vh75p")
nodes/fragment/55/position = Vector2(1300, 1920)
nodes/fragment/57/node = SubResource("VisualShaderNodeInput_vh75p")
nodes/fragment/57/position = Vector2(0, 640)
nodes/fragment/58/node = SubResource("VisualShaderNodeUVFunc_eafem")
nodes/fragment/58/position = Vector2(480, 560)
nodes/fragment/59/node = SubResource("VisualShaderNodeFloatOp_004we")
nodes/fragment/59/position = Vector2(280, 660)
nodes/fragment/60/node = SubResource("VisualShaderNodeFloatOp_0o2nh")
nodes/fragment/60/position = Vector2(940, 540)
nodes/fragment/61/node = SubResource("VisualShaderNodeVaryingGetter_jwewd")
nodes/fragment/61/position = Vector2(280, 560)
nodes/fragment/62/node = SubResource("VisualShaderNodeFloatParameter_eafem")
nodes/fragment/62/position = Vector2(-40, 1380)
nodes/fragment/connections = PackedInt32Array(2, 0, 6, 0, 7, 0, 5, 0, 8, 0, 7, 2, 10, 0, 11, 0, 15, 0, 10, 1, 8, 0, 10, 2, 11, 0, 16, 0, 5, 0, 16, 1, 17, 0, 6, 1, 18, 0, 0, 1, 19, 0, 0, 3, 22, 0, 15, 0, 22, 0, 7, 1, 23, 0, 24, 0, 26, 0, 29, 0, 29, 0, 30, 0, 24, 0, 30, 1, 24, 0, 32, 0, 33, 0, 32, 1, 32, 0, 34, 1, 35, 0, 26, 0, 36, 0, 35, 1, 27, 0, 38, 0, 24, 0, 38, 2, 37, 0, 38, 1, 38, 0, 35, 0, 6, 0, 39, 0, 41, 0, 42, 0, 42, 0, 7, 0, 43, 0, 42, 1, 16, 0, 44, 0, 44, 0, 17, 0, 47, 0, 45, 0, 46, 0, 47, 1, 48, 0, 47, 2, 45, 0, 44, 1, 42, 0, 10, 0, 50, 0, 23, 0, 52, 0, 51, 0, 55, 0, 0, 4, 58, 0, 54, 0, 57, 0, 59, 0, 59, 0, 58, 2, 54, 0, 60, 0, 60, 0, 53, 2, 61, 0, 58, 1, 39, 0, 0, 0, 6, 0, 0, 5, 30, 0, 53, 1, 34, 0, 39, 2, 53, 0, 51, 1, 30, 0, 51, 2, 51, 0, 34, 0, 62, 0, 17, 1)