324 lines
9.1 KiB
Plaintext
324 lines
9.1 KiB
Plaintext
[gd_resource type="ShaderMaterial" load_steps=29 format=2]
|
|
|
|
[ext_resource path="res://Assets/fancyedge_01Normal.png" type="Texture" id=1]
|
|
[ext_resource path="res://Assets/fancyedge_01Surface_Color.png" type="Texture" id=2]
|
|
[ext_resource path="res://Assets/fancyedge_01Diffusion.png" type="Texture" id=3]
|
|
[ext_resource path="res://Assets/noise.png" type="Texture" id=4]
|
|
|
|
[sub_resource type="VisualShaderNodeTexture" id=1]
|
|
output_port_for_preview = 0
|
|
texture = ExtResource( 4 )
|
|
|
|
[sub_resource type="VisualShaderNodeVectorOp" id=2]
|
|
output_port_for_preview = 0
|
|
operator = 2
|
|
|
|
[sub_resource type="VisualShaderNodeVectorOp" id=3]
|
|
output_port_for_preview = 0
|
|
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.5, 0.5, 0.5 ) ]
|
|
operator = 2
|
|
|
|
[sub_resource type="VisualShaderNodeScalarFunc" id=4]
|
|
output_port_for_preview = 0
|
|
function = 31
|
|
|
|
[sub_resource type="VisualShaderNodeVectorCompose" id=5]
|
|
|
|
[sub_resource type="VisualShaderNodeInput" id=6]
|
|
input_name = "time"
|
|
|
|
[sub_resource type="VisualShaderNodeInput" id=7]
|
|
output_port_for_preview = 0
|
|
input_name = "uv"
|
|
|
|
[sub_resource type="VisualShaderNodeScalarOp" id=8]
|
|
default_input_values = [ 0, 0.0, 1, -0.005 ]
|
|
operator = 2
|
|
|
|
[sub_resource type="VisualShaderNodeTexture" id=9]
|
|
texture = ExtResource( 2 )
|
|
texture_type = 1
|
|
|
|
[sub_resource type="VisualShaderNodeVectorCompose" id=10]
|
|
|
|
[sub_resource type="VisualShaderNodeVectorOp" id=11]
|
|
output_port_for_preview = 0
|
|
|
|
[sub_resource type="VisualShaderNodeVectorOp" id=12]
|
|
output_port_for_preview = 0
|
|
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 7, 0, 0 ) ]
|
|
operator = 2
|
|
|
|
[sub_resource type="VisualShaderNodeColorOp" id=13]
|
|
output_port_for_preview = 0
|
|
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.1, 0, 0 ) ]
|
|
operator = 4
|
|
|
|
[sub_resource type="VisualShaderNodeVectorDecompose" id=14]
|
|
|
|
[sub_resource type="VisualShaderNodeColorFunc" id=15]
|
|
|
|
[sub_resource type="VisualShaderNodeColorOp" id=16]
|
|
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 2, 2, 2 ) ]
|
|
operator = 8
|
|
|
|
[sub_resource type="VisualShaderNodeVectorOp" id=17]
|
|
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.25, 0.25, 0.25 ) ]
|
|
operator = 2
|
|
|
|
[sub_resource type="VisualShaderNodeScalarConstant" id=18]
|
|
|
|
[sub_resource type="VisualShaderNodeTexture" id=19]
|
|
texture = ExtResource( 3 )
|
|
|
|
[sub_resource type="VisualShaderNodeTexture" id=20]
|
|
texture = ExtResource( 1 )
|
|
texture_type = 2
|
|
|
|
[sub_resource type="VisualShaderNodeVectorOp" id=21]
|
|
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.1, 0.025, 0.1 ) ]
|
|
operator = 2
|
|
|
|
[sub_resource type="VisualShaderNodeVectorDecompose" id=22]
|
|
|
|
[sub_resource type="VisualShaderNodeVectorOp" id=23]
|
|
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 1, 1, 1 ) ]
|
|
operator = 2
|
|
|
|
[sub_resource type="VisualShader" id=24]
|
|
code = "shader_type spatial;
|
|
render_mode specular_schlick_ggx;
|
|
|
|
uniform sampler2D tex_frg_2 : hint_albedo;
|
|
uniform sampler2D tex_frg_3;
|
|
uniform sampler2D tex_frg_10;
|
|
uniform sampler2D tex_frg_4 : hint_normal;
|
|
|
|
|
|
|
|
void vertex() {
|
|
// Output:0
|
|
|
|
}
|
|
|
|
void fragment() {
|
|
// Texture:2
|
|
vec4 tex_frg_2_read = texture(tex_frg_2, UV.xy);
|
|
vec3 n_out2p0 = tex_frg_2_read.rgb;
|
|
float n_out2p1 = tex_frg_2_read.a;
|
|
|
|
// VectorOp:5
|
|
vec3 n_in5p1 = vec3(0.10000, 0.02500, 0.10000);
|
|
vec3 n_out5p0 = n_out2p0 * n_in5p1;
|
|
|
|
// Scalar:29
|
|
float n_out29p0 = 0.000000;
|
|
|
|
// ColorFunc:25
|
|
vec3 n_out25p0;
|
|
{
|
|
vec3 c = n_out2p0;
|
|
float max1 = max(c.r, c.g);
|
|
float max2 = max(max1, c.b);
|
|
float max3 = max(max1, max2);
|
|
n_out25p0 = vec3(max3, max3, max3);
|
|
}
|
|
|
|
// ColorOp:26
|
|
vec3 n_in26p1 = vec3(2.00000, 2.00000, 2.00000);
|
|
vec3 n_out26p0;
|
|
{
|
|
float base = n_out25p0.x;
|
|
float blend = n_in26p1.x;
|
|
if (base < 0.5) {
|
|
n_out26p0.x = (base * (2.0 * blend));
|
|
} else {
|
|
n_out26p0.x = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
|
|
}
|
|
}
|
|
{
|
|
float base = n_out25p0.y;
|
|
float blend = n_in26p1.y;
|
|
if (base < 0.5) {
|
|
n_out26p0.y = (base * (2.0 * blend));
|
|
} else {
|
|
n_out26p0.y = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
|
|
}
|
|
}
|
|
{
|
|
float base = n_out25p0.z;
|
|
float blend = n_in26p1.z;
|
|
if (base < 0.5) {
|
|
n_out26p0.z = (base * (2.0 * blend));
|
|
} else {
|
|
n_out26p0.z = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
|
|
}
|
|
}
|
|
|
|
// VectorDecompose:24
|
|
float n_out24p0 = n_out26p0.x;
|
|
float n_out24p1 = n_out26p0.y;
|
|
float n_out24p2 = n_out26p0.z;
|
|
|
|
// Texture:3
|
|
vec4 tex_frg_3_read = texture(tex_frg_3, UV.xy);
|
|
vec3 n_out3p0 = tex_frg_3_read.rgb;
|
|
float n_out3p1 = tex_frg_3_read.a;
|
|
|
|
// VectorDecompose:6
|
|
float n_out6p0 = n_out3p0.x;
|
|
float n_out6p1 = n_out3p0.y;
|
|
float n_out6p2 = n_out3p0.z;
|
|
|
|
// ScalarFunc:15
|
|
float n_out15p0 = 1.0 - n_out6p2;
|
|
|
|
// VectorCompose:16
|
|
vec3 n_out16p0 = vec3(n_out15p0, n_out15p0, n_out15p0);
|
|
|
|
// Input:18
|
|
vec3 n_out18p0 = vec3(UV, 0.0);
|
|
|
|
// VectorOp:27
|
|
vec3 n_in27p1 = vec3(0.25000, 0.25000, 0.25000);
|
|
vec3 n_out27p0 = n_out18p0 * n_in27p1;
|
|
|
|
// Input:17
|
|
float n_out17p0 = TIME;
|
|
|
|
// ScalarOp:19
|
|
float n_in19p1 = -0.00500;
|
|
float n_out19p0 = n_out17p0 * n_in19p1;
|
|
|
|
// VectorCompose:20
|
|
float n_in20p1 = 0.00000;
|
|
float n_in20p2 = 0.00000;
|
|
vec3 n_out20p0 = vec3(n_out19p0, n_in20p1, n_in20p2);
|
|
|
|
// VectorOp:21
|
|
vec3 n_out21p0 = n_out27p0 + n_out20p0;
|
|
|
|
// Texture:10
|
|
vec4 tex_frg_10_read = texture(tex_frg_10, n_out21p0.xy);
|
|
vec3 n_out10p0 = tex_frg_10_read.rgb;
|
|
float n_out10p1 = tex_frg_10_read.a;
|
|
|
|
// VectorOp:11
|
|
vec3 n_out11p0 = n_out16p0 * n_out10p0;
|
|
|
|
// VectorOp:22
|
|
vec3 n_in22p1 = vec3(7.00000, 0.00000, 0.00000);
|
|
vec3 n_out22p0 = n_out11p0 * n_in22p1;
|
|
|
|
// ColorOp:23
|
|
vec3 n_in23p1 = vec3(0.10000, 0.00000, 0.00000);
|
|
vec3 n_out23p0;
|
|
{
|
|
float base = n_out22p0.x;
|
|
float blend = n_in23p1.x;
|
|
if (base < 0.5) {
|
|
n_out23p0.x = 2.0 * base * blend;
|
|
} else {
|
|
n_out23p0.x = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);
|
|
}
|
|
}
|
|
{
|
|
float base = n_out22p0.y;
|
|
float blend = n_in23p1.y;
|
|
if (base < 0.5) {
|
|
n_out23p0.y = 2.0 * base * blend;
|
|
} else {
|
|
n_out23p0.y = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);
|
|
}
|
|
}
|
|
{
|
|
float base = n_out22p0.z;
|
|
float blend = n_in23p1.z;
|
|
if (base < 0.5) {
|
|
n_out23p0.z = 2.0 * base * blend;
|
|
} else {
|
|
n_out23p0.z = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);
|
|
}
|
|
}
|
|
|
|
// VectorOp:13
|
|
vec3 n_in13p1 = vec3(0.50000, 0.50000, 0.50000);
|
|
vec3 n_out13p0 = n_out23p0 * n_in13p1;
|
|
|
|
// Texture:4
|
|
vec4 tex_frg_4_read = texture(tex_frg_4, UV.xy);
|
|
vec3 n_out4p0 = tex_frg_4_read.rgb;
|
|
float n_out4p1 = tex_frg_4_read.a;
|
|
|
|
// VectorOp:7
|
|
vec3 n_in7p1 = vec3(1.00000, 1.00000, 1.00000);
|
|
vec3 n_out7p0 = n_out4p0 * n_in7p1;
|
|
|
|
// Output:0
|
|
ALBEDO = n_out5p0;
|
|
METALLIC = n_out29p0;
|
|
ROUGHNESS = n_out24p0;
|
|
EMISSION = n_out13p0;
|
|
AO = n_out6p0;
|
|
NORMALMAP = n_out7p0;
|
|
|
|
}
|
|
|
|
void light() {
|
|
// Output:0
|
|
|
|
}
|
|
"
|
|
graph_offset = Vector2( 657.707, 684.756 )
|
|
nodes/fragment/0/position = Vector2( 1920, 340 )
|
|
nodes/fragment/2/node = SubResource( 9 )
|
|
nodes/fragment/2/position = Vector2( -60, 120 )
|
|
nodes/fragment/3/node = SubResource( 19 )
|
|
nodes/fragment/3/position = Vector2( -60, 360 )
|
|
nodes/fragment/4/node = SubResource( 20 )
|
|
nodes/fragment/4/position = Vector2( -60, 940 )
|
|
nodes/fragment/5/node = SubResource( 21 )
|
|
nodes/fragment/5/position = Vector2( 260, 120 )
|
|
nodes/fragment/6/node = SubResource( 22 )
|
|
nodes/fragment/6/position = Vector2( 180, 380 )
|
|
nodes/fragment/7/node = SubResource( 23 )
|
|
nodes/fragment/7/position = Vector2( 285, 792 )
|
|
nodes/fragment/10/node = SubResource( 1 )
|
|
nodes/fragment/10/position = Vector2( -60, 600 )
|
|
nodes/fragment/11/node = SubResource( 2 )
|
|
nodes/fragment/11/position = Vector2( 820, 480 )
|
|
nodes/fragment/13/node = SubResource( 3 )
|
|
nodes/fragment/13/position = Vector2( 1400, 480 )
|
|
nodes/fragment/15/node = SubResource( 4 )
|
|
nodes/fragment/15/position = Vector2( 400, 460 )
|
|
nodes/fragment/16/node = SubResource( 5 )
|
|
nodes/fragment/16/position = Vector2( 600, 460 )
|
|
nodes/fragment/17/node = SubResource( 6 )
|
|
nodes/fragment/17/position = Vector2( -1040, 820 )
|
|
nodes/fragment/18/node = SubResource( 7 )
|
|
nodes/fragment/18/position = Vector2( -920, 600 )
|
|
nodes/fragment/19/node = SubResource( 8 )
|
|
nodes/fragment/19/position = Vector2( -840, 800 )
|
|
nodes/fragment/20/node = SubResource( 10 )
|
|
nodes/fragment/20/position = Vector2( -600, 820 )
|
|
nodes/fragment/21/node = SubResource( 11 )
|
|
nodes/fragment/21/position = Vector2( -340, 660 )
|
|
nodes/fragment/22/node = SubResource( 12 )
|
|
nodes/fragment/22/position = Vector2( 1020, 480 )
|
|
nodes/fragment/23/node = SubResource( 13 )
|
|
nodes/fragment/23/position = Vector2( 1220, 480 )
|
|
nodes/fragment/24/node = SubResource( 14 )
|
|
nodes/fragment/24/position = Vector2( 880, 320 )
|
|
nodes/fragment/25/node = SubResource( 15 )
|
|
nodes/fragment/25/position = Vector2( 400, 260 )
|
|
nodes/fragment/26/node = SubResource( 16 )
|
|
nodes/fragment/26/position = Vector2( 660, 300 )
|
|
nodes/fragment/27/node = SubResource( 17 )
|
|
nodes/fragment/27/position = Vector2( -660, 640 )
|
|
nodes/fragment/29/node = SubResource( 18 )
|
|
nodes/fragment/29/position = Vector2( 1280, 280 )
|
|
nodes/fragment/connections = PoolIntArray( 2, 0, 5, 0, 3, 0, 6, 0, 4, 0, 7, 0, 10, 0, 11, 1, 6, 2, 15, 0, 15, 0, 16, 2, 15, 0, 16, 0, 15, 0, 16, 1, 16, 0, 11, 0, 7, 0, 0, 8, 20, 0, 21, 1, 21, 0, 10, 0, 17, 0, 19, 0, 5, 0, 0, 0, 11, 0, 22, 0, 22, 0, 23, 0, 23, 0, 13, 0, 2, 0, 25, 0, 25, 0, 26, 0, 26, 0, 24, 0, 19, 0, 20, 0, 27, 0, 21, 0, 18, 0, 27, 0, 13, 0, 0, 5, 6, 0, 0, 6, 29, 0, 0, 2, 24, 0, 0, 3 )
|
|
|
|
[resource]
|
|
shader = SubResource( 24 )
|