[gd_resource type="VisualShader" load_steps=19 format=3 uid="uid://d4f0sv3c8yhgx"]

[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_ubn70"]
default_input_values = [0, 0.0, 1, 0.7]
operator = 2

[sub_resource type="VisualShaderNodeFloatConstant" id="VisualShaderNodeFloatConstant_teckr"]

[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_sd0nb"]
source = 5

[sub_resource type="VisualShaderNodeVectorDecompose" id="VisualShaderNodeVectorDecompose_tahyq"]
default_input_values = [0, Quaternion(0, 0, 0, 0)]
op_type = 2

[sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_qjj8p"]
default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(1, 1, 1), 2, Vector3(0, 0, 0)]
op_type = 3

[sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_q2hnq"]
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="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_kylky"]
operator = 6

[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_tig52"]
operator = 6

[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_w3wos"]
parameter_name = "texture_base"
texture_type = 1
texture_filter = 4
texture_repeat = 1

[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_b2rno"]
source = 5

[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_nn7dg"]
input_name = "uv"

[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_lmm7i"]
parameter_name = "texture_decal"
texture_type = 1
texture_filter = 4
texture_repeat = 1

[sub_resource type="VisualShaderNodeVectorDecompose" id="VisualShaderNodeVectorDecompose_ocq40"]

[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_57vv8"]
operator = 2

[sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_6rrou"]
parameter_name = "base_color"
default_value = Color(0.168627, 0.176471, 0.223529, 1)

[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_u6j1b"]
input_name = "uv"

[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_ip32q"]
default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0)]
op_type = 0
operator = 2

[sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_ewjse"]
parameter_name = "uv_scale"
default_value_enabled = true
default_value = Vector2(200, 200)

[resource]
code = "shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx;

uniform vec2 uv_scale = vec2(200.000000, 200.000000);
uniform vec4 base_color : source_color;
uniform sampler2D texture_base : source_color, filter_linear_mipmap, repeat_enable;
uniform sampler2D texture_decal : source_color, filter_linear_mipmap, repeat_enable;



void vertex() {
// Input:2
	vec2 n_out2p0 = UV;


// Vector2Parameter:4
	vec2 n_out4p0 = uv_scale;


// VectorOp:3
	vec2 n_out3p0 = n_out2p0 * n_out4p0;


// Output:0
	UV = n_out3p0;


}

void fragment() {
// ColorParameter:8
	vec4 n_out8p0 = base_color;


// Input:4
	vec2 n_out4p0 = UV;


	vec4 n_out3p0;
// Texture2D:3
	n_out3p0 = texture(texture_base, n_out4p0);


// VectorOp:7
	vec3 n_out7p0 = vec3(n_out8p0.xyz) * vec3(n_out3p0.xyz);


	vec4 n_out12p0;
// Texture2D:12
	n_out12p0 = texture(texture_decal, n_out4p0);


// VectorDecompose:13
	float n_out13p0 = n_out12p0.x;
	float n_out13p1 = n_out12p0.y;
	float n_out13p2 = n_out12p0.z;
	float n_out13p3 = n_out12p0.w;


// Mix:15
	vec3 n_out15p0 = mix(vec3(n_out3p0.xyz), vec3(n_out12p0.xyz), vec3(n_out13p3));


// FloatOp:16
	float n_out16p0 = max(n_out13p0, n_out13p1);


// FloatOp:17
	float n_out17p0 = max(n_out16p0, n_out13p2);


// Mix:14
	vec3 n_out14p0 = mix(n_out7p0, n_out15p0, vec3(n_out17p0));


// FloatConstant:11
	float n_out11p0 = 0.000000;


// VectorDecompose:6
	float n_out6p0 = vec3(n_out3p0.xyz).x;
	float n_out6p1 = vec3(n_out3p0.xyz).y;
	float n_out6p2 = vec3(n_out3p0.xyz).z;


// FloatOp:10
	float n_in10p1 = 0.70000;
	float n_out10p0 = n_out6p0 * n_in10p1;


// Output:0
	ALBEDO = n_out14p0;
	METALLIC = n_out11p0;
	ROUGHNESS = n_out10p0;
	SPECULAR = n_out11p0;


}
"
graph_offset = Vector2(-426.416, -49.6533)
nodes/vertex/0/position = Vector2(660, 80)
nodes/vertex/2/node = SubResource("VisualShaderNodeInput_u6j1b")
nodes/vertex/2/position = Vector2(40, 80)
nodes/vertex/3/node = SubResource("VisualShaderNodeVectorOp_ip32q")
nodes/vertex/3/position = Vector2(400, 80)
nodes/vertex/4/node = SubResource("VisualShaderNodeVec2Parameter_ewjse")
nodes/vertex/4/position = Vector2(20, 220)
nodes/vertex/connections = PackedInt32Array(2, 0, 3, 0, 3, 0, 0, 4, 4, 0, 3, 1)
nodes/fragment/0/position = Vector2(1060, -80)
nodes/fragment/2/node = SubResource("VisualShaderNodeTexture2DParameter_w3wos")
nodes/fragment/2/position = Vector2(-400, 180)
nodes/fragment/3/node = SubResource("VisualShaderNodeTexture_b2rno")
nodes/fragment/3/position = Vector2(0, 80)
nodes/fragment/4/node = SubResource("VisualShaderNodeInput_nn7dg")
nodes/fragment/4/position = Vector2(-400, 80)
nodes/fragment/5/node = SubResource("VisualShaderNodeTexture2DParameter_lmm7i")
nodes/fragment/5/position = Vector2(-400, 500)
nodes/fragment/6/node = SubResource("VisualShaderNodeVectorDecompose_ocq40")
nodes/fragment/6/position = Vector2(300, 80)
nodes/fragment/7/node = SubResource("VisualShaderNodeVectorOp_57vv8")
nodes/fragment/7/position = Vector2(300, -140)
nodes/fragment/8/node = SubResource("VisualShaderNodeColorParameter_6rrou")
nodes/fragment/8/position = Vector2(-400, -120)
nodes/fragment/10/node = SubResource("VisualShaderNodeFloatOp_ubn70")
nodes/fragment/10/position = Vector2(840, 80)
nodes/fragment/11/node = SubResource("VisualShaderNodeFloatConstant_teckr")
nodes/fragment/11/position = Vector2(840, -20)
nodes/fragment/12/node = SubResource("VisualShaderNodeTexture_sd0nb")
nodes/fragment/12/position = Vector2(0, 500)
nodes/fragment/13/node = SubResource("VisualShaderNodeVectorDecompose_tahyq")
nodes/fragment/13/position = Vector2(200, 660)
nodes/fragment/14/node = SubResource("VisualShaderNodeMix_qjj8p")
nodes/fragment/14/position = Vector2(840, -200)
nodes/fragment/15/node = SubResource("VisualShaderNodeMix_q2hnq")
nodes/fragment/15/position = Vector2(420, 480)
nodes/fragment/16/node = SubResource("VisualShaderNodeFloatOp_kylky")
nodes/fragment/16/position = Vector2(420, 660)
nodes/fragment/17/node = SubResource("VisualShaderNodeFloatOp_tig52")
nodes/fragment/17/position = Vector2(600, 680)
nodes/fragment/connections = PackedInt32Array(2, 0, 3, 2, 4, 0, 3, 0, 3, 0, 6, 0, 3, 0, 7, 1, 8, 0, 7, 0, 6, 0, 10, 0, 11, 0, 0, 4, 5, 0, 12, 2, 4, 0, 12, 0, 12, 0, 13, 0, 7, 0, 14, 0, 14, 0, 0, 0, 11, 0, 0, 2, 10, 0, 0, 3, 3, 0, 15, 0, 12, 0, 15, 1, 13, 3, 15, 2, 15, 0, 14, 1, 13, 0, 16, 0, 13, 1, 16, 1, 16, 0, 17, 0, 13, 2, 17, 1, 17, 0, 14, 2)
