[gd_resource type="VisualShader" load_steps=22 format=3 uid="uid://dewwedodqpjub"] [ext_resource type="Texture2D" uid="uid://c7g1lervup6pt" path="res://3d/textures/CHAR_AbeFace_emit.png" id="1_i27k8"] [sub_resource type="VisualShaderNodeVectorDecompose" id="VisualShaderNodeVectorDecompose_d6qq4"] [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_elov7"] default_input_values = [0, 0.0, 1, 0.063] operator = 4 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_terno"] default_input_values = [0, 0.0, 1, 16.0] operator = 2 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_t2rfa"] default_input_values = [0, 0.0, 1, 16.0] operator = 2 [sub_resource type="Curve" id="Curve_xwnuv"] _data = [Vector2(0.1, 0), 0.0, 0.0, 0, 0, Vector2(0.1, 1), inf_neg, 0.0, 1, 1, Vector2(0.9, 1), 0.0, 1.0, 1, 0, Vector2(0.9, 0), 0.0, inf_neg, 0, 1] point_count = 4 [sub_resource type="CurveTexture" id="CurveTexture_gyi8v"] curve = SubResource("Curve_xwnuv") [sub_resource type="VisualShaderNodeCurveTexture" id="VisualShaderNodeCurveTexture_4kyr2"] texture = SubResource("CurveTexture_gyi8v") [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_4i6vu"] output_port_for_preview = 0 operator = 2 [sub_resource type="VisualShaderNodeVectorCompose" id="VisualShaderNodeVectorCompose_0m68h"] op_type = 0 [sub_resource type="VisualShaderNodeVectorDecompose" id="VisualShaderNodeVectorDecompose_n0bop"] default_input_values = [0, Vector2(0, 0)] op_type = 0 [sub_resource type="VisualShaderNodeVectorDecompose" id="VisualShaderNodeVectorDecompose_ljdly"] output_port_for_preview = 3 default_input_values = [0, Quaternion(0, 0, 0, 0)] op_type = 2 [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_73meh"] output_port_for_preview = 0 texture = ExtResource("1_i27k8") texture_type = 1 [sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_1mc6n"] parameter_name = "Texture2DParameter" texture_filter = 1 texture_source = 1 [sub_resource type="VisualShaderNodeCurveTexture" id="VisualShaderNodeCurveTexture_hhrdd"] texture = SubResource("CurveTexture_gyi8v") [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_4bp17"] output_port_for_preview = 0 [sub_resource type="VisualShaderNodeColorConstant" id="VisualShaderNodeColorConstant_4wfcn"] constant = Color(0, 0, 0, 1) [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_6vexp"] 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="VisualShaderNodeColorConstant" id="VisualShaderNodeColorConstant_tbf24"] constant = Color(2.49804, 1.28235, 0, 1) [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_tmgrx"] input_name = "uv2" [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_4ty6k"] default_input_values = [0, 0.0, 1, 0.063] operator = 4 [resource] code = "shader_type spatial; render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx; uniform sampler2D Texture2DParameter : filter_nearest, hint_screen_texture; uniform sampler2D tex_frg_24 : source_color; uniform sampler2D curve_frg_26 : repeat_disable; uniform sampler2D curve_frg_14 : repeat_disable; void fragment() { // ColorConstant:28 vec4 n_out28p0 = vec4(0.000000, 0.000000, 0.000000, 1.000000); // Input:6 vec2 n_out6p0 = UV2; // VectorDecompose:17 float n_out17p0 = n_out6p0.x; float n_out17p1 = n_out6p0.y; // VectorCompose:16 vec2 n_out16p0 = vec2(n_out17p0, n_out17p1); // Texture2D:24 vec4 n_out24p0 = texture(tex_frg_24, n_out16p0); // VectorDecompose:22 float n_out22p0 = n_out24p0.x; float n_out22p1 = n_out24p0.y; float n_out22p2 = n_out24p0.z; float n_out22p3 = n_out24p0.w; // VectorDecompose:10 float n_out10p0 = vec3(n_out6p0, 0.0).x; float n_out10p1 = vec3(n_out6p0, 0.0).y; float n_out10p2 = vec3(n_out6p0, 0.0).z; // FloatOp:11 float n_in11p1 = 0.06300; float n_out11p0 = mod(n_out10p1, n_in11p1); // FloatOp:13 float n_in13p1 = 16.00000; float n_out13p0 = n_out11p0 * n_in13p1; // CurveTexture:26 float n_out26p0 = texture(curve_frg_26, vec2(n_out13p0)).r; // FloatOp:9 float n_in9p1 = 0.06300; float n_out9p0 = mod(n_out10p0, n_in9p1); // FloatOp:12 float n_in12p1 = 16.00000; float n_out12p0 = n_out9p0 * n_in12p1; // CurveTexture:14 float n_out14p0 = texture(curve_frg_14, vec2(n_out12p0)).r; // FloatOp:15 float n_out15p0 = n_out26p0 * n_out14p0; // Mix:27 float n_in27p0 = 0.00000; float n_out27p0 = mix(n_in27p0, n_out22p3, n_out15p0); // ColorConstant:5 vec4 n_out5p0 = vec4(2.498040, 1.282350, 0.000000, 1.000000); // Mix:4 vec3 n_in4p0 = vec3(0.00000, 0.00000, 0.00000); vec3 n_out4p0 = mix(n_in4p0, vec3(n_out5p0.xyz), vec3(n_out27p0)); // Output:0 ALBEDO = vec3(n_out28p0.xyz); ALPHA = n_out27p0; EMISSION = n_out4p0; DEPTH = n_out27p0; } " nodes/fragment/0/position = Vector2(1720, -480) nodes/fragment/4/node = SubResource("VisualShaderNodeMix_6vexp") nodes/fragment/4/position = Vector2(1120, 360) nodes/fragment/5/node = SubResource("VisualShaderNodeColorConstant_tbf24") nodes/fragment/5/position = Vector2(660, 480) nodes/fragment/6/node = SubResource("VisualShaderNodeInput_tmgrx") nodes/fragment/6/position = Vector2(-1339.8, 488.2) nodes/fragment/9/node = SubResource("VisualShaderNodeFloatOp_4ty6k") nodes/fragment/9/position = Vector2(-439.8, 48.2) nodes/fragment/10/node = SubResource("VisualShaderNodeVectorDecompose_d6qq4") nodes/fragment/10/position = Vector2(-699.8, 168.2) nodes/fragment/11/node = SubResource("VisualShaderNodeFloatOp_elov7") nodes/fragment/11/position = Vector2(-439.8, 168.2) nodes/fragment/12/node = SubResource("VisualShaderNodeFloatOp_terno") nodes/fragment/12/position = Vector2(-279.8, 28.2) nodes/fragment/13/node = SubResource("VisualShaderNodeFloatOp_t2rfa") nodes/fragment/13/position = Vector2(-279.8, 148.2) nodes/fragment/14/node = SubResource("VisualShaderNodeCurveTexture_4kyr2") nodes/fragment/14/position = Vector2(-99.8, -111.8) nodes/fragment/15/node = SubResource("VisualShaderNodeFloatOp_4i6vu") nodes/fragment/15/position = Vector2(300.2, 48.2) nodes/fragment/16/node = SubResource("VisualShaderNodeVectorCompose_0m68h") nodes/fragment/16/position = Vector2(-239.8, 428.2) nodes/fragment/17/node = SubResource("VisualShaderNodeVectorDecompose_n0bop") nodes/fragment/17/position = Vector2(-799.8, 448.2) nodes/fragment/22/node = SubResource("VisualShaderNodeVectorDecompose_ljdly") nodes/fragment/22/position = Vector2(340.2, 468.2) nodes/fragment/24/node = SubResource("VisualShaderNodeTexture_73meh") nodes/fragment/24/position = Vector2(60.2, 488.2) nodes/fragment/25/node = SubResource("VisualShaderNodeTexture2DParameter_1mc6n") nodes/fragment/25/position = Vector2(-620, 680) nodes/fragment/26/node = SubResource("VisualShaderNodeCurveTexture_hhrdd") nodes/fragment/26/position = Vector2(-99.8, 148.2) nodes/fragment/27/node = SubResource("VisualShaderNodeMix_4bp17") nodes/fragment/27/position = Vector2(620, 140) nodes/fragment/28/node = SubResource("VisualShaderNodeColorConstant_4wfcn") nodes/fragment/28/position = Vector2(1365.81, -489.417) nodes/fragment/connections = PackedInt32Array(25, 0, 24, 2, 24, 0, 22, 0, 5, 0, 4, 1, 6, 0, 10, 0, 10, 0, 9, 0, 10, 1, 11, 0, 9, 0, 12, 0, 11, 0, 13, 0, 12, 0, 14, 0, 13, 0, 26, 0, 26, 0, 15, 0, 14, 0, 15, 1, 6, 0, 17, 0, 17, 1, 16, 1, 16, 0, 24, 0, 17, 0, 16, 0, 15, 0, 27, 2, 22, 3, 27, 1, 27, 0, 4, 2, 27, 0, 0, 1, 4, 0, 0, 5, 28, 0, 0, 0, 27, 0, 0, 23)