[gd_resource type="VisualShader" load_steps=31 format=3 uid="uid://bif4rjooo7q2n"] [sub_resource type="VisualShaderNodeFresnel" id="VisualShaderNodeFresnel_jqdis"] default_input_values = [2, false, 3, 1.5] [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_sg47n"] [sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_sqtyy"] function = 1 [sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_idtyr"] default_input_values = [1, Vector2(1, 1), 2, Vector2(0, 3)] [sub_resource type="VisualShaderNodeVectorCompose" id="VisualShaderNodeVectorCompose_uin1b"] default_input_values = [0, 1.0, 1, 0.0, 2, 0.0] op_type = 0 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_avv5w"] input_name = "time" [sub_resource type="VisualShaderNodeColorConstant" id="VisualShaderNodeColorConstant_rnjwp"] constant = Color(3.65794e-06, 0.65492, 0.823027, 1) [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_dl4jf"] default_input_values = [0, 0.0, 1, 5.0] operator = 3 [sub_resource type="FastNoiseLite" id="FastNoiseLite_cix0f"] frequency = 0.0091 fractal_type = 3 fractal_lacunarity = 1.435 fractal_gain = 0.92 fractal_ping_pong_strength = 3.6 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_sr4bv"] noise = SubResource("FastNoiseLite_cix0f") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_txbhu"] output_port_for_preview = 0 texture = SubResource("NoiseTexture2D_sr4bv") texture_type = 1 [sub_resource type="VisualShaderNodeTransformOp" id="VisualShaderNodeTransformOp_2g5e4"] [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_11nn1"] default_input_values = [0, 0.0, 1, 2.2] operator = 2 [sub_resource type="VisualShaderNodeCompare" id="VisualShaderNodeCompare_qsqwv"] default_input_values = [0, 1.0, 1, 1.0, 2, 1e-05] function = 2 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_dxqcb"] default_input_values = [0, 0.0, 1, 0.1] [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_6lkk6"] output_port_for_preview = 0 texture = SubResource("NoiseTexture2D_sr4bv") texture_type = 1 [sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_n68s8"] expanded_output_ports = [0] varying_name = "WorldPos" varying_type = 4 [sub_resource type="VisualShaderNodeVectorDecompose" id="VisualShaderNodeVectorDecompose_tx1lw"] [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_7jb8a"] parameter_name = "DissolveHeightMin" [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_6vdce"] [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_t7gx4"] parameter_name = "DissolveHeightMax" [sub_resource type="VisualShaderNodeSmoothStep" id="VisualShaderNodeSmoothStep_8nc43"] [sub_resource type="VisualShaderNodeSmoothStep" id="VisualShaderNodeSmoothStep_16dhh"] [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_dvo0y"] default_input_values = [0, 0.0, 1, 0.5] [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_1ut4h"] default_input_values = [0, 0.0, 1, 5.0] operator = 1 [sub_resource type="VisualShaderNodeVectorCompose" id="VisualShaderNodeVectorCompose_lfpob"] default_input_values = [0, 0.0, 1, 1.0, 2, 1.0] op_type = 0 [sub_resource type="VisualShaderNodeVaryingSetter" id="VisualShaderNodeVaryingSetter_fr6p7"] varying_name = "WorldPos" varying_type = 4 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_eighi"] input_name = "vertex" [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_anm60"] input_name = "model_matrix" [sub_resource type="VisualShaderNodeTransformVecMult" id="VisualShaderNodeTransformVecMult_smpes"] [resource] code = "shader_type spatial; render_mode blend_add, depth_draw_opaque, cull_disabled, diffuse_lambert, specular_schlick_ggx; // Varyings varying vec3 var_WorldPos; uniform sampler2D tex_frg_2 : source_color; uniform float DissolveHeightMax; void vertex() { // Input:4 mat4 n_out4p0 = MODEL_MATRIX; // Input:3 vec3 n_out3p0 = VERTEX; // TransformVectorMult:5 vec3 n_out5p0 = (n_out4p0 * vec4(n_out3p0, 1.0)).xyz; // VaryingSetter:2 var_WorldPos = n_out5p0; } void fragment() { // Fresnel:11 float n_in11p3 = 1.50000; float n_out11p0 = pow(1.0 - clamp(dot(NORMAL, VIEW), 0.0, 1.0), n_in11p3); // Input:16 float n_out16p0 = TIME; // FloatOp:18 float n_in18p1 = 5.00000; float n_out18p0 = n_out16p0 / n_in18p1; // VectorCompose:15 float n_in15p0 = 1.00000; vec2 n_out15p0 = vec2(n_in15p0, n_out18p0); // UVFunc:14 vec2 n_in14p1 = vec2(1.00000, 1.00000); vec2 n_out14p0 = n_out15p0 * n_in14p1 + UV; // VectorCompose:8 float n_in8p0 = 0.00000; float n_in8p1 = 1.00000; vec2 n_out8p0 = vec2(n_in8p0, n_in8p1); // UVFunc:13 vec2 n_in13p2 = vec2(0.00000, 0.00000); vec2 n_out13p0 = (n_out14p0 - n_in13p2) * n_out8p0 + n_in13p2; // Texture2D:2 vec4 n_out2p0 = texture(tex_frg_2, n_out13p0); // FloatOp:23 float n_in23p1 = 2.20000; float n_out23p0 = n_out2p0.x * n_in23p1; // Compare:24 float n_in24p0 = 1.00000; bool n_out24p0 = n_in24p0 > n_out23p0; // FloatOp:25 float n_out25p0 = n_out11p0 + (n_out24p0 ? 1.0 : 0.0); // FloatParameter:32 float n_out32p0 = DissolveHeightMax; // FloatOp:39 float n_in39p1 = 5.00000; float n_out39p0 = n_out32p0 - n_in39p1; // VaryingGetter:27 vec3 n_out27p0 = var_WorldPos; // VectorDecompose:28 float n_out28p0 = n_out27p0.x; float n_out28p1 = n_out27p0.y; float n_out28p2 = n_out27p0.z; // SmoothStep:37 float n_out37p0 = smoothstep(n_out32p0, n_out39p0, n_out28p1); // Mix:31 float n_in31p0 = 0.00000; float n_out31p0 = mix(n_in31p0, n_out25p0, n_out37p0); // ColorConstant:17 vec4 n_out17p0 = vec4(0.000004, 0.654920, 0.823027, 1.000000); // Output:0 ALPHA = n_out31p0; EMISSION = vec3(n_out17p0.xyz); } " modes/blend = 1 modes/cull = 2 varyings/WorldPos = "0,4" nodes/vertex/2/node = SubResource("VisualShaderNodeVaryingSetter_fr6p7") nodes/vertex/2/position = Vector2(400, 820) nodes/vertex/3/node = SubResource("VisualShaderNodeInput_eighi") nodes/vertex/3/position = Vector2(-700, 460) nodes/vertex/4/node = SubResource("VisualShaderNodeInput_anm60") nodes/vertex/4/position = Vector2(-720, 300) nodes/vertex/5/node = SubResource("VisualShaderNodeTransformVecMult_smpes") nodes/vertex/5/position = Vector2(0, 540) nodes/vertex/connections = PackedInt32Array(3, 0, 5, 1, 4, 0, 5, 0, 5, 0, 2, 0) nodes/fragment/0/position = Vector2(2780, 340) nodes/fragment/2/node = SubResource("VisualShaderNodeTexture_txbhu") nodes/fragment/2/position = Vector2(-1080, 340) nodes/fragment/8/node = SubResource("VisualShaderNodeVectorCompose_lfpob") nodes/fragment/8/position = Vector2(-1900, 860) nodes/fragment/11/node = SubResource("VisualShaderNodeFresnel_jqdis") nodes/fragment/11/position = Vector2(560, 40) nodes/fragment/12/node = SubResource("VisualShaderNodeMix_sg47n") nodes/fragment/12/position = Vector2(1100, 180) nodes/fragment/13/node = SubResource("VisualShaderNodeUVFunc_sqtyy") nodes/fragment/13/position = Vector2(-1520, 480) nodes/fragment/14/node = SubResource("VisualShaderNodeUVFunc_idtyr") nodes/fragment/14/position = Vector2(-2000, 420) nodes/fragment/15/node = SubResource("VisualShaderNodeVectorCompose_uin1b") nodes/fragment/15/position = Vector2(-2420, 640) nodes/fragment/16/node = SubResource("VisualShaderNodeInput_avv5w") nodes/fragment/16/position = Vector2(-3360, 920) nodes/fragment/17/node = SubResource("VisualShaderNodeColorConstant_rnjwp") nodes/fragment/17/position = Vector2(780, 780) nodes/fragment/18/node = SubResource("VisualShaderNodeFloatOp_dl4jf") nodes/fragment/18/position = Vector2(-2840, 780) nodes/fragment/22/node = SubResource("VisualShaderNodeTransformOp_2g5e4") nodes/fragment/22/position = Vector2(-20, 960) nodes/fragment/23/node = SubResource("VisualShaderNodeFloatOp_11nn1") nodes/fragment/23/position = Vector2(-80, 380) nodes/fragment/24/node = SubResource("VisualShaderNodeCompare_qsqwv") nodes/fragment/24/position = Vector2(420, 380) nodes/fragment/25/node = SubResource("VisualShaderNodeFloatOp_dxqcb") nodes/fragment/25/position = Vector2(1600, 340) nodes/fragment/26/node = SubResource("VisualShaderNodeTexture_6lkk6") nodes/fragment/26/position = Vector2(-1080, 1080) nodes/fragment/27/node = SubResource("VisualShaderNodeVaryingGetter_n68s8") nodes/fragment/27/position = Vector2(280, 1520) nodes/fragment/28/node = SubResource("VisualShaderNodeVectorDecompose_tx1lw") nodes/fragment/28/position = Vector2(660, 1560) nodes/fragment/30/node = SubResource("VisualShaderNodeFloatParameter_7jb8a") nodes/fragment/30/position = Vector2(640, 920) nodes/fragment/31/node = SubResource("VisualShaderNodeMix_6vdce") nodes/fragment/31/position = Vector2(2220, 340) nodes/fragment/32/node = SubResource("VisualShaderNodeFloatParameter_t7gx4") nodes/fragment/32/position = Vector2(660, 1260) nodes/fragment/35/node = SubResource("VisualShaderNodeSmoothStep_8nc43") nodes/fragment/35/position = Vector2(1680, 960) nodes/fragment/37/node = SubResource("VisualShaderNodeSmoothStep_16dhh") nodes/fragment/37/position = Vector2(1840, 1360) nodes/fragment/38/node = SubResource("VisualShaderNodeFloatOp_dvo0y") nodes/fragment/38/position = Vector2(1099.39, 1082.46) nodes/fragment/39/node = SubResource("VisualShaderNodeFloatOp_1ut4h") nodes/fragment/39/position = Vector2(1280, 1420) nodes/fragment/connections = PackedInt32Array(8, 0, 13, 1, 13, 0, 2, 0, 14, 0, 13, 0, 15, 0, 14, 2, 16, 0, 18, 0, 18, 0, 15, 1, 23, 0, 24, 1, 11, 0, 12, 2, 24, 0, 25, 1, 27, 0, 28, 0, 28, 1, 35, 2, 30, 0, 35, 0, 30, 0, 38, 0, 38, 0, 35, 1, 28, 1, 37, 2, 32, 0, 39, 0, 32, 0, 37, 0, 39, 0, 37, 1, 37, 0, 31, 2, 2, 0, 23, 0, 25, 0, 31, 1, 17, 0, 0, 5, 11, 0, 25, 0, 31, 0, 0, 1)