dice-rolling-simulator/GreenFelt.tres

132 lines
3.4 KiB
Plaintext

[gd_resource type="ShaderMaterial" load_steps=11 format=2]
[ext_resource path="res://Assets/green_felt_ambientOcclusion.png" type="Texture" id=1]
[ext_resource path="res://Assets/green_felt_basecolor.png" type="Texture" id=2]
[ext_resource path="res://Assets/green_felt_normal.png" type="Texture" id=3]
[sub_resource type="VisualShaderNodeTexture" id=1]
output_port_for_preview = 0
texture = ExtResource( 2 )
texture_type = 1
[sub_resource type="VisualShaderNodeVectorOp" id=2]
output_port_for_preview = 0
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.15, 0.15, 0.15 ) ]
operator = 2
[sub_resource type="VisualShaderNodeTexture" id=3]
texture = ExtResource( 3 )
texture_type = 2
[sub_resource type="VisualShaderNodeTexture" id=4]
texture = ExtResource( 1 )
[sub_resource type="VisualShaderNodeVectorDecompose" id=5]
[sub_resource type="VisualShaderNodeColorOp" id=6]
default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0.1, 0 ) ]
operator = 7
[sub_resource type="VisualShader" id=7]
code = "shader_type spatial;
render_mode specular_schlick_ggx;
uniform sampler2D tex_frg_2 : hint_albedo;
uniform sampler2D tex_frg_7;
uniform sampler2D tex_frg_6 : 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:4
vec3 n_in4p1 = vec3(0.15000, 0.15000, 0.15000);
vec3 n_out4p0 = n_out2p0 * n_in4p1;
// ColorOp:9
vec3 n_in9p1 = vec3(0.00000, 0.10000, 0.00000);
vec3 n_out9p0;
{
float base = n_out4p0.x;
float blend = n_in9p1.x;
if (base < 0.5) {
n_out9p0.x = (base * (blend + 0.5));
} else {
n_out9p0.x = (1.0 - (1.0 - base) * (1.0 - (blend - 0.5)));
}
}
{
float base = n_out4p0.y;
float blend = n_in9p1.y;
if (base < 0.5) {
n_out9p0.y = (base * (blend + 0.5));
} else {
n_out9p0.y = (1.0 - (1.0 - base) * (1.0 - (blend - 0.5)));
}
}
{
float base = n_out4p0.z;
float blend = n_in9p1.z;
if (base < 0.5) {
n_out9p0.z = (base * (blend + 0.5));
} else {
n_out9p0.z = (1.0 - (1.0 - base) * (1.0 - (blend - 0.5)));
}
}
// Texture:7
vec4 tex_frg_7_read = texture(tex_frg_7, UV.xy);
vec3 n_out7p0 = tex_frg_7_read.rgb;
float n_out7p1 = tex_frg_7_read.a;
// VectorDecompose:8
float n_out8p0 = n_out7p0.x;
float n_out8p1 = n_out7p0.y;
float n_out8p2 = n_out7p0.z;
// Texture:6
vec4 tex_frg_6_read = texture(tex_frg_6, UV.xy);
vec3 n_out6p0 = tex_frg_6_read.rgb;
float n_out6p1 = tex_frg_6_read.a;
// Output:0
ALBEDO = n_out9p0;
ROUGHNESS = n_out8p0;
AO = n_out8p0;
NORMALMAP = n_out6p0;
}
void light() {
// Output:0
}
"
graph_offset = Vector2( 349.961, 139.535 )
nodes/fragment/0/position = Vector2( 1420, 300 )
nodes/fragment/2/node = SubResource( 1 )
nodes/fragment/2/position = Vector2( 600, 80 )
nodes/fragment/4/node = SubResource( 2 )
nodes/fragment/4/position = Vector2( 940, 240 )
nodes/fragment/6/node = SubResource( 3 )
nodes/fragment/6/position = Vector2( 600, 420 )
nodes/fragment/7/node = SubResource( 4 )
nodes/fragment/7/position = Vector2( 620, 660 )
nodes/fragment/8/node = SubResource( 5 )
nodes/fragment/8/position = Vector2( 880, 720 )
nodes/fragment/9/node = SubResource( 6 )
nodes/fragment/9/position = Vector2( 1200, 280 )
nodes/fragment/connections = PoolIntArray( 2, 0, 4, 0, 7, 0, 8, 0, 6, 0, 0, 8, 8, 0, 0, 6, 8, 0, 0, 3, 4, 0, 9, 0, 9, 0, 0, 0 )
[resource]
shader = SubResource( 7 )