[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)
