[gd_resource type="ShaderMaterial" load_steps=13 format=3 uid="uid://c26e12f2whdrj"]

[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_t4y4m"]
size = Vector2(690.6, 253)
title = "Scroll UV Generator"
description = "These nodes generate a UV offset which scrolls to the left over 5 seconds then repeats"

[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_f47k3"]
size = Vector2(579, 259.6)
title = "2x Image UV Scale"
description = "These nodes scale the UV by 2 in the X axis, which results in the texture to tile twice in the X axis."

[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_ptj6p"]
size = Vector2(752.088, 525.832)
title = "Scrolling Texture"
description = "These nodes add the image and scrolling UVs to sample the title texture. The output is the color of the scrolling texture."

[sub_resource type="VisualShaderNodeTexture2DParameter" id="5"]
parameter_name = "Title"
texture_type = 1
texture_repeat = 1

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

[sub_resource type="VisualShaderNodeInput" id="8"]
input_name = "time"

[sub_resource type="VisualShaderNodeVectorOp" id="9"]
default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.2, 0, 0)]
operator = 2

[sub_resource type="VisualShaderNodeVectorOp" id="10"]
output_port_for_preview = 0

[sub_resource type="VisualShaderNodeVectorOp" id="11"]
default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(2, 1, 0)]
operator = 2

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

[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_spdkt"]
default_input_values = [0, 0.0, 1, 5.0]
operator = 4

[sub_resource type="VisualShader" id="6"]
code = "shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx, unshaded;

uniform sampler2D Title : source_color, repeat_enable;



void fragment() {
// Input:4
	float n_out4p0 = TIME;


// FloatOp:9
	float n_in9p1 = 5.00000;
	float n_out9p0 = mod(n_out4p0, n_in9p1);


// VectorOp:5
	vec3 n_in5p1 = vec3(0.20000, 0.00000, 0.00000);
	vec3 n_out5p0 = vec3(n_out9p0) * n_in5p1;


// Input:3
	vec2 n_out3p0 = UV;


// VectorOp:7
	vec3 n_in7p1 = vec3(2.00000, 1.00000, 0.00000);
	vec3 n_out7p0 = vec3(n_out3p0, 0.0) * n_in7p1;


// VectorOp:6
	vec3 n_out6p0 = n_out5p0 + n_out7p0;


	vec4 n_out8p0;
// Texture2D:8
	n_out8p0 = texture(Title, vec2(n_out6p0.xy));


// Output:0
	ALBEDO = vec3(n_out8p0.xyz);


}
"
graph_offset = Vector2(-508.681, 463.806)
flags/unshaded = true
nodes/fragment/0/position = Vector2(798, 252)
nodes/fragment/2/node = SubResource("5")
nodes/fragment/2/position = Vector2(120, 500)
nodes/fragment/3/node = SubResource("7")
nodes/fragment/3/position = Vector2(-1080, 640)
nodes/fragment/4/node = SubResource("8")
nodes/fragment/4/position = Vector2(-1120, 260)
nodes/fragment/5/node = SubResource("9")
nodes/fragment/5/position = Vector2(-600, 220)
nodes/fragment/6/node = SubResource("10")
nodes/fragment/6/position = Vector2(-120, 340)
nodes/fragment/7/node = SubResource("11")
nodes/fragment/7/position = Vector2(-620, 600)
nodes/fragment/8/node = SubResource("VisualShaderNodeTexture_3qe54")
nodes/fragment/8/position = Vector2(500, 360)
nodes/fragment/9/node = SubResource("VisualShaderNodeFloatOp_spdkt")
nodes/fragment/9/position = Vector2(-780, 240)
nodes/fragment/10/node = SubResource("VisualShaderNodeComment_t4y4m")
nodes/fragment/10/position = Vector2(-1140, 140)
nodes/fragment/11/node = SubResource("VisualShaderNodeComment_f47k3")
nodes/fragment/11/position = Vector2(-1120, 520)
nodes/fragment/12/node = SubResource("VisualShaderNodeComment_ptj6p")
nodes/fragment/12/position = Vector2(-140, 240)
nodes/fragment/connections = PackedInt32Array(5, 0, 6, 0, 3, 0, 7, 0, 7, 0, 6, 1, 2, 0, 8, 2, 8, 0, 0, 0, 6, 0, 8, 0, 4, 0, 9, 0, 9, 0, 5, 0)

[resource]
resource_local_to_scene = true
render_priority = 0
shader = SubResource("6")
