[gd_resource type="VisualShader" load_steps=15 format=3 uid="uid://c4iaaegacffb1"] [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_e8a82"] default_input_values = [0, 0.0, 1, 5.0] operator = 3 [sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_e8a82"] parameter_name = "ColorParameter" [sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_e8a82"] parameter_name = "Noise" [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_e8a82"] output_port_for_preview = 0 source = 5 [sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_e8a82"] expanded_output_ports = [0] varying_name = "world_pos" varying_type = 4 [sub_resource type="VisualShaderNodeVectorCompose" id="VisualShaderNodeVectorCompose_5yi0b"] op_type = 0 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_5yi0b"] operator = 2 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_38bbb"] default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0)] op_type = 0 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_vus8j"] input_name = "time" [sub_resource type="VisualShaderNodeVaryingSetter" id="VisualShaderNodeVaryingSetter_e8a82"] varying_name = "world_pos" varying_type = 4 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_5yi0b"] input_name = "model_matrix" [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_38bbb"] expanded_output_ports = [0] input_name = "vertex" [sub_resource type="VisualShaderNodeVectorCompose" id="VisualShaderNodeVectorCompose_vus8j"] default_input_values = [0, 0.0, 1, 0.0, 2, 0.0, 3, 1.0] op_type = 2 [sub_resource type="VisualShaderNodeTransformVecMult" id="VisualShaderNodeTransformVecMult_5l1m1"] [resource] code = "shader_type spatial; render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx; // Varyings varying vec3 var_world_pos; uniform vec4 ColorParameter : source_color; uniform sampler2D Noise; void vertex() { // Input:3 mat4 n_out3p0 = MODEL_MATRIX; // Input:4 vec3 n_out4p0 = VERTEX; float n_out4p1 = n_out4p0.r; float n_out4p2 = n_out4p0.g; float n_out4p3 = n_out4p0.b; // TransformVectorMult:6 vec3 n_out6p0 = (n_out3p0 * vec4(n_out4p0, 1.0)).xyz; // VaryingSetter:2 var_world_pos = n_out6p0; } void fragment() { // ColorParameter:2 vec4 n_out2p0 = ColorParameter; // VaryingGetter:5 vec3 n_out5p0 = var_world_pos; float n_out5p1 = n_out5p0.r; float n_out5p2 = n_out5p0.g; // VectorCompose:6 vec2 n_out6p0 = vec2(n_out5p1, n_out5p2); // Input:9 float n_out9p0 = TIME; // FloatOp:10 float n_in10p1 = 5.00000; float n_out10p0 = n_out9p0 / n_in10p1; // VectorOp:8 vec2 n_out8p0 = n_out6p0 + vec2(n_out10p0); vec4 n_out4p0; // Texture2D:4 n_out4p0 = texture(Noise, n_out8p0); // VectorOp:7 vec3 n_out7p0 = vec3(n_out2p0.xyz) * vec3(n_out4p0.xyz); // Output:0 ALBEDO = n_out7p0; ALPHA = n_out4p0.x; EMISSION = n_out7p0; } " varyings/world_pos = "0,4" nodes/vertex/0/position = Vector2(560, 80) nodes/vertex/2/node = SubResource("VisualShaderNodeVaryingSetter_e8a82") nodes/vertex/2/position = Vector2(300, 100) nodes/vertex/3/node = SubResource("VisualShaderNodeInput_5yi0b") nodes/vertex/3/position = Vector2(-420, 100) nodes/vertex/4/node = SubResource("VisualShaderNodeInput_38bbb") nodes/vertex/4/position = Vector2(-460, 200) nodes/vertex/5/node = SubResource("VisualShaderNodeVectorCompose_vus8j") nodes/vertex/5/position = Vector2(-140, 300) nodes/vertex/6/node = SubResource("VisualShaderNodeTransformVecMult_5l1m1") nodes/vertex/6/position = Vector2(100, 60) nodes/vertex/connections = PackedInt32Array(4, 1, 5, 0, 4, 2, 5, 1, 4, 3, 5, 2, 3, 0, 6, 0, 4, 0, 6, 1, 6, 0, 2, 0) nodes/fragment/0/position = Vector2(960, 140) nodes/fragment/2/node = SubResource("VisualShaderNodeColorParameter_e8a82") nodes/fragment/2/position = Vector2(-160, 60) nodes/fragment/3/node = SubResource("VisualShaderNodeTexture2DParameter_e8a82") nodes/fragment/3/position = Vector2(-120, 660) nodes/fragment/4/node = SubResource("VisualShaderNodeTexture_e8a82") nodes/fragment/4/position = Vector2(260, 320) nodes/fragment/5/node = SubResource("VisualShaderNodeVaryingGetter_e8a82") nodes/fragment/5/position = Vector2(-540, 320) nodes/fragment/6/node = SubResource("VisualShaderNodeVectorCompose_5yi0b") nodes/fragment/6/position = Vector2(-320, 320) nodes/fragment/7/node = SubResource("VisualShaderNodeVectorOp_5yi0b") nodes/fragment/7/position = Vector2(460, 80) nodes/fragment/8/node = SubResource("VisualShaderNodeVectorOp_38bbb") nodes/fragment/8/position = Vector2(60, 300) nodes/fragment/9/node = SubResource("VisualShaderNodeInput_vus8j") nodes/fragment/9/position = Vector2(-440, 520) nodes/fragment/10/node = SubResource("VisualShaderNodeFloatOp_e8a82") nodes/fragment/10/position = Vector2(-140, 480) nodes/fragment/connections = PackedInt32Array(3, 0, 4, 2, 5, 1, 6, 0, 5, 2, 6, 1, 2, 0, 7, 0, 4, 0, 7, 1, 7, 0, 0, 0, 4, 0, 0, 1, 7, 0, 0, 5, 6, 0, 8, 0, 8, 0, 4, 0, 9, 0, 10, 0, 10, 0, 8, 1)