[gd_resource type="VisualShader" load_steps=12 format=3 uid="uid://ulljr4hxdmvr"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_w3o50"] seed = 666 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_5i62n"] noise = SubResource("FastNoiseLite_w3o50") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_p0ff0"] output_port_for_preview = 0 texture = SubResource("NoiseTexture2D_5i62n") [sub_resource type="VisualShaderNodeVec3Constant" id="VisualShaderNodeVec3Constant_3q5bf"] constant = Vector3(1, 1, 1) [sub_resource type="VisualShaderNodeVec3Constant" id="VisualShaderNodeVec3Constant_t0a48"] [sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_ii6y5"] parameter_name = "Texture2DParameter" [sub_resource type="VisualShaderNodeExpression" id="VisualShaderNodeExpression_by0vp"] size = Vector2(916.9, 484.033) expression = "vec3 pixel0 = step(step_comparator, texture(sampler, uv.xy + vec2(-step, -step)).xyz); vec3 pixel1 = step(step_comparator, texture(sampler, uv.xy + vec2(-step, 0)).xyz); vec3 pixel2 = step(step_comparator, texture(sampler, uv.xy + vec2(-step, step)).xyz); vec3 pixel3 = step(step_comparator, texture(sampler, uv.xy + vec2(0, -step)).xyz); vec3 pixel4 = step(step_comparator, texture(sampler, uv.xy + vec2(0, 0)).xyz); vec3 pixel5 = step(step_comparator, texture(sampler, uv.xy + vec2(0, +step)).xyz); vec3 pixel6 = step(step_comparator, texture(sampler, uv.xy + vec2(step, -step)).xyz); vec3 pixel7 = step(step_comparator, texture(sampler, uv.xy + vec2(step, 0)).xyz); vec3 pixel8 = step(step_comparator, texture(sampler, uv.xy + vec2(step, step)).xyz); albedo = (pixel0 + pixel1 + pixel2 + pixel3 + pixel4 + pixel5 + pixel6 + pixel7 + pixel8) / vec3(9, 9, 9); " [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_j8b80"] input_name = "uv" [sub_resource type="VisualShaderNodeFloatConstant" id="VisualShaderNodeFloatConstant_rnhgr"] constant = 0.007 [sub_resource type="VisualShaderNodeVec3Constant" id="VisualShaderNodeVec3Constant_v76ww"] constant = Vector3(0.8, 0.8, 0.8) [sub_resource type="VisualShaderNodeExpression" id="VisualShaderNodeExpression_ddc37"] output_port_for_preview = 0 size = Vector2(844.92, 505.52) expression = "// Scale, and clamp x to 0..1 range vec3 x = clamp((input0 - minimum) / (maximum - minimum), 0.0, 1.0); // Evaluate polynomial output0 = x * x * x * (x * (x * vec3(6) - vec3(15)) + vec3(10));" [resource] code = "shader_type spatial; uniform sampler2D tex_frg_10; void fragment() { // Texture2D:10 vec4 n_out10p0 = texture(tex_frg_10, UV); // Vector3Constant:11 vec3 n_out11p0 = vec3(1.000000, 1.000000, 1.000000); // Vector3Constant:12 vec3 n_out12p0 = vec3(0.000000, 0.000000, 0.000000); vec3 n_out9p0; // Expression:9 n_out9p0 = vec3(0.0, 0.0, 0.0); { // Scale, and clamp x to 0..1 range vec3 x = clamp((vec3(n_out10p0.xyz) - n_out12p0) / (n_out11p0 - n_out12p0), 0.0, 1.0); // Evaluate polynomial n_out9p0 = x * x * x * (x * (x * vec3(6) - vec3(15)) + vec3(10)); } // Output:0 ALBEDO = n_out9p0; } " graph_offset = Vector2(-957.583, 126.888) nodes/fragment/0/position = Vector2(880, 120) nodes/fragment/2/node = SubResource("VisualShaderNodeTexture2DParameter_ii6y5") nodes/fragment/2/position = Vector2(-540, 120) nodes/fragment/3/node = SubResource("VisualShaderNodeExpression_by0vp") nodes/fragment/3/position = Vector2(-140, 120) nodes/fragment/3/size = Vector2(916.9, 484.033) nodes/fragment/3/input_ports = "0,7,sampler;1,3,uv;2,0,step;3,3,step_comparator;" nodes/fragment/3/output_ports = "0,3,albedo;" nodes/fragment/3/expression = "vec3 pixel0 = step(step_comparator, texture(sampler, uv.xy + vec2(-step, -step)).xyz); vec3 pixel1 = step(step_comparator, texture(sampler, uv.xy + vec2(-step, 0)).xyz); vec3 pixel2 = step(step_comparator, texture(sampler, uv.xy + vec2(-step, step)).xyz); vec3 pixel3 = step(step_comparator, texture(sampler, uv.xy + vec2(0, -step)).xyz); vec3 pixel4 = step(step_comparator, texture(sampler, uv.xy + vec2(0, 0)).xyz); vec3 pixel5 = step(step_comparator, texture(sampler, uv.xy + vec2(0, +step)).xyz); vec3 pixel6 = step(step_comparator, texture(sampler, uv.xy + vec2(step, -step)).xyz); vec3 pixel7 = step(step_comparator, texture(sampler, uv.xy + vec2(step, 0)).xyz); vec3 pixel8 = step(step_comparator, texture(sampler, uv.xy + vec2(step, step)).xyz); albedo = (pixel0 + pixel1 + pixel2 + pixel3 + pixel4 + pixel5 + pixel6 + pixel7 + pixel8) / vec3(9, 9, 9); " nodes/fragment/6/node = SubResource("VisualShaderNodeInput_j8b80") nodes/fragment/6/position = Vector2(-540, 400) nodes/fragment/7/node = SubResource("VisualShaderNodeFloatConstant_rnhgr") nodes/fragment/7/position = Vector2(-400, 500) nodes/fragment/8/node = SubResource("VisualShaderNodeVec3Constant_v76ww") nodes/fragment/8/position = Vector2(-560, 580) nodes/fragment/9/node = SubResource("VisualShaderNodeExpression_ddc37") nodes/fragment/9/position = Vector2(-100, 720) nodes/fragment/9/size = Vector2(844.92, 505.52) nodes/fragment/9/input_ports = "0,3,input0;1,3,maximum;2,3,minimum;" nodes/fragment/9/output_ports = "0,3,output0;" nodes/fragment/9/expression = "// Scale, and clamp x to 0..1 range vec3 x = clamp((input0 - minimum) / (maximum - minimum), 0.0, 1.0); // Evaluate polynomial output0 = x * x * x * (x * (x * vec3(6) - vec3(15)) + vec3(10));" nodes/fragment/10/node = SubResource("VisualShaderNodeTexture_p0ff0") nodes/fragment/10/position = Vector2(-760, 720) nodes/fragment/11/node = SubResource("VisualShaderNodeVec3Constant_3q5bf") nodes/fragment/11/position = Vector2(-520, 1000) nodes/fragment/12/node = SubResource("VisualShaderNodeVec3Constant_t0a48") nodes/fragment/12/position = Vector2(-520, 1100) nodes/fragment/connections = PackedInt32Array(2, 0, 3, 0, 6, 0, 3, 1, 7, 0, 3, 2, 8, 0, 3, 3, 10, 0, 9, 0, 9, 0, 0, 0, 11, 0, 9, 1, 12, 0, 9, 2)