81 lines
2.1 KiB
Plaintext
81 lines
2.1 KiB
Plaintext
|
|
[gd_resource type="VisualShader" load_steps=8 format=2]
|
||
|
|
|
||
|
|
[ext_resource path="res://assets/props/book/textures/tx_book_NM.tga" type="Texture" id=1]
|
||
|
|
[ext_resource path="res://assets/props/book/textures/tx_book_ORM.tga" type="Texture" id=2]
|
||
|
|
[ext_resource path="res://assets/props/book/textures/tx_book_BC.tga" type="Texture" id=3]
|
||
|
|
|
||
|
|
[sub_resource type="VisualShaderNodeTexture" id=1]
|
||
|
|
texture = ExtResource( 3 )
|
||
|
|
texture_type = 1
|
||
|
|
|
||
|
|
[sub_resource type="VisualShaderNodeTexture" id=2]
|
||
|
|
texture = ExtResource( 1 )
|
||
|
|
texture_type = 2
|
||
|
|
|
||
|
|
[sub_resource type="VisualShaderNodeTexture" id=3]
|
||
|
|
texture = ExtResource( 2 )
|
||
|
|
|
||
|
|
[sub_resource type="VisualShaderNodeVectorDecompose" id=4]
|
||
|
|
|
||
|
|
[resource]
|
||
|
|
code = "shader_type spatial;
|
||
|
|
render_mode specular_schlick_ggx;
|
||
|
|
|
||
|
|
uniform sampler2D tex_frg_2 : hint_albedo;
|
||
|
|
uniform sampler2D tex_frg_4;
|
||
|
|
uniform sampler2D tex_frg_3 : 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;
|
||
|
|
|
||
|
|
// 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;
|
||
|
|
|
||
|
|
// VectorDecompose:5
|
||
|
|
float n_out5p0 = n_out4p0.x;
|
||
|
|
float n_out5p1 = n_out4p0.y;
|
||
|
|
float n_out5p2 = n_out4p0.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;
|
||
|
|
|
||
|
|
// Output:0
|
||
|
|
ALBEDO = n_out2p0;
|
||
|
|
METALLIC = n_out5p2;
|
||
|
|
ROUGHNESS = n_out5p1;
|
||
|
|
AO = n_out5p0;
|
||
|
|
NORMAL = n_out3p0;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
void light() {
|
||
|
|
// Output:0
|
||
|
|
|
||
|
|
}
|
||
|
|
"
|
||
|
|
graph_offset = Vector2( -180.394, -217.899 )
|
||
|
|
nodes/fragment/0/position = Vector2( 620, 200 )
|
||
|
|
nodes/fragment/2/node = SubResource( 1 )
|
||
|
|
nodes/fragment/2/position = Vector2( -240, -220 )
|
||
|
|
nodes/fragment/3/node = SubResource( 2 )
|
||
|
|
nodes/fragment/3/position = Vector2( -172.448, 762.213 )
|
||
|
|
nodes/fragment/4/node = SubResource( 3 )
|
||
|
|
nodes/fragment/4/position = Vector2( -440, 160 )
|
||
|
|
nodes/fragment/5/node = SubResource( 4 )
|
||
|
|
nodes/fragment/5/position = Vector2( 0, 300 )
|
||
|
|
nodes/fragment/connections = PoolIntArray( 2, 0, 0, 0, 3, 0, 0, 7, 4, 0, 5, 0, 5, 1, 0, 3, 5, 2, 0, 2, 5, 0, 0, 6 )
|