[gd_resource type="VisualShader" load_steps=20 format=3 uid="uid://dotlcmfer5kxw"] [ext_resource type="Texture2D" uid="uid://dxcmick7pytlf" path="res://noise.tres" id="1_xedsf"] [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_t5mfi"] operator = 2 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_fe2rm"] [sub_resource type="VisualShaderNodeVectorFunc" id="VisualShaderNodeVectorFunc_2nasc"] [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_tlsga"] [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_dmwkg"] operator = 2 [sub_resource type="FastNoiseLite" id="FastNoiseLite_4q2x3"] [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_kcfii"] as_normal_map = true bump_strength = 32.0 noise = SubResource("FastNoiseLite_4q2x3") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_lbuo3"] output_port_for_preview = 0 expanded_output_ports = [0] texture = SubResource("NoiseTexture2D_kcfii") [sub_resource type="VisualShaderNodeVectorFunc" id="VisualShaderNodeVectorFunc_5as1c"] [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_enygi"] 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="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_wp5jp"] parameter_name = "Mix" [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_tetda"] parameter_name = "Scale" [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_w328u"] input_name = "normal" [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_7j14n"] input_name = "vertex" [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_vyit1"] 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="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_gb7li"] operator = 2 [sub_resource type="VisualShaderNodeExpression" id="VisualShaderNodeExpression_1868y"] [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_b0p1s"] output_port_for_preview = 0 expanded_output_ports = [0] texture = ExtResource("1_xedsf") [resource] code = "shader_type spatial; uniform float Mix; uniform sampler2D tex_vtx_5; uniform float Scale; uniform sampler2D tex_vtx_19; void vertex() { // Input:3 vec3 n_out3p0 = VERTEX; // VectorFunc:14 vec3 n_out14p0 = normalize(n_out3p0); // FloatParameter:23 float n_out23p0 = Mix; // Mix:22 vec3 n_out22p0 = mix(n_out3p0, n_out14p0, vec3(n_out23p0)); // VectorOp:15 vec3 n_out15p0 = n_out22p0 + n_out3p0; // VectorFunc:21 vec3 n_out21p0 = normalize(n_out15p0); // Texture2D:5 vec4 n_out5p0 = texture(tex_vtx_5, UV); // VectorOp:11 vec3 n_out11p0 = n_out21p0 * vec3(n_out5p0.xyz); // FloatParameter:27 float n_out27p0 = Scale; // VectorOp:16 vec3 n_out16p0 = n_out11p0 * vec3(n_out27p0); // VectorOp:12 vec3 n_out12p0 = n_out22p0 + n_out16p0; // Input:29 vec3 n_out29p0 = NORMAL; // Mix:30 vec3 n_out30p0 = mix(n_out29p0, n_out21p0, vec3(n_out23p0)); // Texture2D:19 vec4 n_out19p0 = texture(tex_vtx_19, UV); // VectorOp:31 vec3 n_out31p0 = n_out30p0 * vec3(n_out19p0.xyz); // Output:0 VERTEX = n_out12p0; NORMAL = n_out31p0; } " graph_offset = Vector2(-401.502, 311.459) nodes/vertex/0/position = Vector2(1580, 120) nodes/vertex/3/node = SubResource("VisualShaderNodeInput_7j14n") nodes/vertex/3/position = Vector2(-1340, 260) nodes/vertex/5/node = SubResource("VisualShaderNodeTexture_b0p1s") nodes/vertex/5/position = Vector2(-220, 580) nodes/vertex/11/node = SubResource("VisualShaderNodeVectorOp_t5mfi") nodes/vertex/11/position = Vector2(280, 580) nodes/vertex/12/node = SubResource("VisualShaderNodeVectorOp_fe2rm") nodes/vertex/12/position = Vector2(700, 560) nodes/vertex/14/node = SubResource("VisualShaderNodeVectorFunc_2nasc") nodes/vertex/14/position = Vector2(-980, 60) nodes/vertex/15/node = SubResource("VisualShaderNodeVectorOp_tlsga") nodes/vertex/15/position = Vector2(-200, 300) nodes/vertex/16/node = SubResource("VisualShaderNodeVectorOp_dmwkg") nodes/vertex/16/position = Vector2(440, 860) nodes/vertex/19/node = SubResource("VisualShaderNodeTexture_lbuo3") nodes/vertex/19/position = Vector2(-20, -620) nodes/vertex/21/node = SubResource("VisualShaderNodeVectorFunc_5as1c") nodes/vertex/21/position = Vector2(20, 400) nodes/vertex/22/node = SubResource("VisualShaderNodeMix_enygi") nodes/vertex/22/position = Vector2(-500, 100) nodes/vertex/23/node = SubResource("VisualShaderNodeFloatParameter_wp5jp") nodes/vertex/23/position = Vector2(-1100, 460) nodes/vertex/27/node = SubResource("VisualShaderNodeFloatParameter_tetda") nodes/vertex/27/position = Vector2(-440, 1080) nodes/vertex/29/node = SubResource("VisualShaderNodeInput_w328u") nodes/vertex/29/position = Vector2(-1120, -40) nodes/vertex/30/node = SubResource("VisualShaderNodeMix_vyit1") nodes/vertex/30/position = Vector2(-500, -260) nodes/vertex/31/node = SubResource("VisualShaderNodeVectorOp_gb7li") nodes/vertex/31/position = Vector2(780, -80) nodes/vertex/39/node = SubResource("VisualShaderNodeExpression_1868y") nodes/vertex/39/position = Vector2(3260, 2960) nodes/vertex/39/size = Vector2(0, 0) nodes/vertex/39/input_ports = "" nodes/vertex/39/output_ports = "" nodes/vertex/39/expression = "" nodes/vertex/connections = PackedInt32Array(3, 0, 14, 0, 3, 0, 15, 1, 11, 0, 16, 0, 16, 0, 12, 1, 15, 0, 21, 0, 5, 0, 11, 1, 21, 0, 11, 0, 23, 0, 22, 2, 22, 0, 15, 0, 22, 0, 12, 0, 14, 0, 22, 1, 3, 0, 22, 0, 27, 0, 16, 1, 29, 0, 30, 0, 23, 0, 30, 2, 12, 0, 0, 0, 21, 0, 30, 1, 30, 0, 31, 0, 31, 0, 0, 1, 19, 0, 31, 1)