iFactory.Godot/Artists/Shader/VShader_UVOffset.tres

126 lines
3.8 KiB
Plaintext

[gd_resource type="VisualShader" load_steps=11 format=3 uid="uid://cn6f4k74cxkkn"]
[ext_resource type="Script" path="res://addons/VisualShaderExtras/UV/UVRotate.gd" id="1_4i8x8"]
[sub_resource type="VisualShaderNodeVectorDecompose" id="VisualShaderNodeVectorDecompose_1asv8"]
default_input_values = [0, Quaternion(0, 0, 0, 0)]
op_type = 2
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_s0gv3"]
default_input_values = [1, Vector2(-4, 8), 2, Vector2(0, 0)]
function = 1
[sub_resource type="VisualShaderNodeCustom" id="VisualShaderNodeCustom_1swn8"]
default_input_values = [1, Vector2(0, 0), 2, 0.0, 3, Vector2(0, 0)]
initialized = true
script = ExtResource("1_4i8x8")
[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_8ck2a"]
parameter_name = "MainTexture"
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_15o2w"]
source = 5
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_ku0fj"]
input_name = "time"
[sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_g8x7a"]
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_efnhw"]
input_name = "uv"
[sub_resource type="VisualShaderNodeVectorCompose" id="VisualShaderNodeVectorCompose_vnmsm"]
op_type = 0
[resource]
code = "shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx;
uniform sampler2D MainTexture;
// UVRotate
vec2 uv_rotate(vec2 uv, vec2 pivot, float angle) {
mat2 rotation = mat2(vec2(sin(angle), -cos(angle)), vec2(cos(angle), sin(angle)));
uv -= pivot;
uv = uv * rotation;
uv += pivot;
return uv;
}
void fragment() {
// Input:6
vec2 n_out6p0 = UV;
// UVFunc:16
vec2 n_in16p1 = vec2(-4.00000, 8.00000);
vec2 n_in16p2 = vec2(0.00000, 0.00000);
vec2 n_out16p0 = (n_out6p0 - n_in16p2) * n_in16p1 + n_in16p2;
// Input:4
float n_out4p0 = TIME;
// VectorCompose:7
float n_in7p1 = 0.00000;
vec2 n_out7p0 = vec2(n_out4p0, n_in7p1);
// UVFunc:5
vec2 n_in5p1 = vec2(1.00000, 1.00000);
vec2 n_out5p0 = n_out7p0 * n_in5p1 + n_out16p0;
vec2 n_out17p0;
// UVRotate:17
vec2 n_in17p1 = vec2(0.00000, 0.00000);
float n_in17p2 = 0.00000;
{
n_out17p0.xy = uv_rotate(n_out5p0.xy, n_in17p1.xy, n_in17p2);
}
vec4 n_out3p0;
// Texture2D:3
n_out3p0 = texture(MainTexture, n_out17p0);
// VectorDecompose:14
float n_out14p0 = n_out3p0.x;
float n_out14p1 = n_out3p0.y;
float n_out14p2 = n_out3p0.z;
float n_out14p3 = n_out3p0.w;
// Output:0
ALBEDO = vec3(n_out3p0.xyz);
ALPHA = n_out14p3;
EMISSION = vec3(n_out3p0.xyz);
}
"
nodes/fragment/2/node = SubResource("VisualShaderNodeTexture2DParameter_8ck2a")
nodes/fragment/2/position = Vector2(-1080, 240)
nodes/fragment/3/node = SubResource("VisualShaderNodeTexture_15o2w")
nodes/fragment/3/position = Vector2(-180, 140)
nodes/fragment/4/node = SubResource("VisualShaderNodeInput_ku0fj")
nodes/fragment/4/position = Vector2(-1480, 80)
nodes/fragment/5/node = SubResource("VisualShaderNodeUVFunc_g8x7a")
nodes/fragment/5/position = Vector2(-660, -80)
nodes/fragment/6/node = SubResource("VisualShaderNodeInput_efnhw")
nodes/fragment/6/position = Vector2(-1820, -120)
nodes/fragment/7/node = SubResource("VisualShaderNodeVectorCompose_vnmsm")
nodes/fragment/7/position = Vector2(-1000, 40)
nodes/fragment/14/node = SubResource("VisualShaderNodeVectorDecompose_1asv8")
nodes/fragment/14/position = Vector2(-140, 420)
nodes/fragment/16/node = SubResource("VisualShaderNodeUVFunc_s0gv3")
nodes/fragment/16/position = Vector2(-1040, -160)
nodes/fragment/17/node = SubResource("VisualShaderNodeCustom_1swn8")
nodes/fragment/17/position = Vector2(-380, -40)
nodes/fragment/connections = PackedInt32Array(2, 0, 3, 2, 3, 0, 0, 0, 7, 0, 5, 2, 3, 0, 14, 0, 16, 0, 5, 0, 4, 0, 7, 0, 6, 0, 16, 0, 5, 0, 17, 0, 17, 0, 3, 0, 14, 3, 0, 1, 3, 0, 0, 5)