v0.5 Update

This commit is contained in:
Josef 2026-02-13 22:30:26 +01:00
parent 5c73b3edac
commit 6d7767a1e4
11 changed files with 700 additions and 403 deletions

View File

@ -0,0 +1,8 @@
[gd_resource type="Resource" script_class="Vector3PropertyName" load_steps=2 format=3 uid="uid://bj72x72veirrm"]
[ext_resource type="Script" uid="uid://rukdqg1uo30" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Vector3PropertyName.cs" id="1_uacbx"]
[resource]
script = ExtResource("1_uacbx")
propertyName = "playerPositionBody"
metadata/_custom_type_script = "uid://rukdqg1uo30"

View File

@ -1,4 +1,4 @@
[gd_scene format=4 uid="uid://cysnvy387qi38"]
[gd_scene load_steps=76 format=4 uid="uid://cysnvy387qi38"]
[ext_resource type="PackedScene" uid="uid://c2nmnsvtjycko" path="res://GameObjects/Fir/Fir-Tree.gltf" id="1_ojc8e"]
[ext_resource type="Script" uid="uid://bo0awqfi5eqg4" path="res://addons/rokojori_action_library/Runtime/Procedural/Assets/Grass/GrassPatch.cs" id="2_3jsax"]
@ -249,51 +249,51 @@ fill_to = Vector2(1, 0.5)
noise = SubResource("FastNoiseLite_kmvfw")
as_normal_map = true
[node name="Fir-Group" type="Node3D" unique_id=727160438]
[node name="Fir-Group" type="Node3D"]
[node name="Fir-Tree" type="StaticBody3D" parent="." unique_id=668138342]
[node name="Fir-Tree" type="StaticBody3D" parent="."]
transform = Transform3D(0.9595, 0, 0, 0, 0.9595, 0, 0, 0, 0.9595, -1.1071688, 1.9831061e-06, -0.03523016)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree" unique_id=1823802054]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8082289, 0)
shape = SubResource("CapsuleShape3D_3jsax")
[node name="Fir-Tree2" parent="Fir-Tree" unique_id=299915175 instance=ExtResource("1_ojc8e")]
[node name="Fir-Tree2" parent="Fir-Tree" instance=ExtResource("1_ojc8e")]
transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0)
[node name="Fir-Tree" parent="Fir-Tree/Fir-Tree2" index="0"]
surface_material_override/0 = ExtResource("2_gr4uy")
surface_material_override/1 = ExtResource("3_5t3l0")
[node name="Fir-Tree2" type="StaticBody3D" parent="." unique_id=186392533]
[node name="Fir-Tree2" type="StaticBody3D" parent="."]
transform = Transform3D(0.6540956, 0.076034315, 0, -0.076034315, 0.6540956, 0, 0, 0, 0.6585, 2.051654, 0.19738604, -0.03106308)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree2" unique_id=2118317728]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7695697, 0)
shape = SubResource("CapsuleShape3D_ojc8e")
[node name="Fir-Tree2" parent="Fir-Tree2" unique_id=1623428260 instance=ExtResource("1_ojc8e")]
[node name="Fir-Tree2" parent="Fir-Tree2" instance=ExtResource("1_ojc8e")]
transform = Transform3D(1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0, 1.9628266, 0, 0, 0)
[node name="Fir-Tree" parent="Fir-Tree2/Fir-Tree2" index="0"]
surface_material_override/0 = ExtResource("2_gr4uy")
surface_material_override/1 = ExtResource("3_5t3l0")
[node name="Fir-Tree3" type="StaticBody3D" parent="." unique_id=298540885]
[node name="Fir-Tree3" type="StaticBody3D" parent="."]
transform = Transform3D(0.7900405, 0.09086897, -0.044621587, -0.09780733, 0.7757176, -0.15201366, 0.026114782, 0.15626022, 0.7805851, -0.18325019, -0.40480185, 1.311768)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree3" unique_id=1339623090]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Fir-Tree3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.9849193e-09, 0.7918011, 0)
shape = SubResource("CapsuleShape3D_5ep8c")
[node name="Fir-Tree2" parent="Fir-Tree3" unique_id=1988947020 instance=ExtResource("1_ojc8e")]
[node name="Fir-Tree2" parent="Fir-Tree3" instance=ExtResource("1_ojc8e")]
transform = Transform3D(1.2378, 0, 0, 0, 1.6477927, 0, 0, 0, 1.2378, 0, 0, 0)
[node name="Fir-Tree" parent="Fir-Tree3/Fir-Tree2" index="0"]
surface_material_override/0 = ExtResource("2_gr4uy")
surface_material_override/1 = ExtResource("3_5t3l0")
[node name="GrassPatch" type="Node3D" parent="." unique_id=707431721 node_paths=PackedStringArray("output")]
[node name="GrassPatch" type="Node3D" parent="." node_paths=PackedStringArray("output")]
script = ExtResource("2_3jsax")
output = NodePath("MeshInstance3D")
material = ExtResource("5_5t3l0")
@ -331,34 +331,34 @@ lowCurve = SubResource("Curve_m86la")
highCurve = SubResource("Curve_2gdgn")
metadata/_custom_type_script = "uid://bo0awqfi5eqg4"
[node name="MeshInstance3D" type="MeshInstance3D" parent="GrassPatch" unique_id=2088386383]
[node name="MeshInstance3D" type="MeshInstance3D" parent="GrassPatch"]
mesh = SubResource("ArrayMesh_5t3l0")
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1807438275]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
visible = false
mesh = SubResource("PlaneMesh_3jsax")
surface_material_override/0 = SubResource("StandardMaterial3D_2ba48")
[node name="Map Geometry" type="MeshInstance3D" parent="." unique_id=1264668237]
[node name="Map Geometry" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2740593, 4.7683716e-07, 0.003993213)
layers = 8
mesh = SubResource("PlaneMesh_uf0ka")
surface_material_override/0 = ExtResource("3_5ep8c")
[node name="Map Geometry 2" type="MeshInstance3D" parent="." unique_id=1092947156]
[node name="Map Geometry 2" type="MeshInstance3D" parent="."]
transform = Transform3D(1.8367388, 0, 0, 0, 1, 0, 0, 0, 1.8367388, -1.0960741, 4.7683716e-07, -0.026505917)
layers = 8
mesh = SubResource("PlaneMesh_uf0ka")
surface_material_override/0 = ExtResource("3_5ep8c")
[node name="Map Geometry 3" type="MeshInstance3D" parent="." unique_id=1897574725]
[node name="Map Geometry 3" type="MeshInstance3D" parent="."]
transform = Transform3D(0.6997885, 0, 0, 0, 1, 0, 0, 0, 0.6997885, -0.063928604, 4.7683716e-07, 1.5103611)
layers = 8
mesh = SubResource("PlaneMesh_uf0ka")
surface_material_override/0 = ExtResource("3_5ep8c")
[node name="SpatialShaderGenerator" type="Node" parent="." unique_id=451180539]
[node name="SpatialShaderGenerator" type="Node" parent="."]
script = ExtResource("6_5t3l0")
data = SubResource("Resource_wr8kx")
path = "res://GameObjects/Fir/"
@ -367,7 +367,7 @@ shader = ExtResource("2_6ynax")
numVariants = 1
metadata/_custom_type_script = "uid://2gudnu1r4pjg"
[node name="Decal" type="Decal" parent="." unique_id=862146200]
[node name="Decal" type="Decal" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.00010681152, 0)
size = Vector3(8, 0.48886108, 8)
texture_albedo = SubResource("GradientTexture2D_5t3l0")

View File

@ -40,9 +40,13 @@ shader_parameter/windWeightCurve = 0.5
shader_parameter/windHeightCompensation = 0.02
shader_parameter/windNormalBending = 0.0
shader_parameter/windOcclusionAmount = 0.0
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5
shader_parameter/worldLineFadeMin = 0.2
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 1.5
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 3.0
shader_parameter/worldLineFadeMin = 50.0
shader_parameter/perlinDiscardScale = 0.02
shader_parameter/perlinDiscardScroll = Vector2(0.5, 1)
shader_parameter/fadeThreshold = 0.10000000475
shader_parameter/minimumPlayerDistance = 3.0
shader_parameter/roughness = 0.582000027645
shader_parameter/albedoToRoughness = Vector3(0, -0.8165, 0.337)
shader_parameter/specular = 1.0

View File

@ -40,9 +40,13 @@ shader_parameter/windWeightCurve = 0.5
shader_parameter/windHeightCompensation = 0.02
shader_parameter/windNormalBending = 0.0
shader_parameter/windOcclusionAmount = 0.0
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5
shader_parameter/worldLineFadeMin = 0.2
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 1.5
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 3.0
shader_parameter/worldLineFadeMin = 50.0
shader_parameter/perlinDiscardScale = 0.02
shader_parameter/perlinDiscardScroll = Vector2(0.5, 1)
shader_parameter/fadeThreshold = 0.10000000475
shader_parameter/minimumPlayerDistance = 3.0
shader_parameter/roughness = 0.1230000058425
shader_parameter/albedoToRoughness = Vector3(0, 0, -0.5)
shader_parameter/specular = 1.0

View File

@ -7,6 +7,10 @@ resource_name = "Fir"
render_priority = 0
shader = ExtResource("1_lbd55")
shader_parameter/albedo = Color(0.7919124, 0.7133407, 0.48449263, 1)
shader_parameter/snowLuminanceAmount = 1.0
shader_parameter/snowLuminanceConstrast = 1.0
shader_parameter/snowLuminanceConstrastOffset = 0.5
shader_parameter/snowLuminanceConstrastBrightness = 0.0
shader_parameter/hslVariance = Vector3(0, 0, 0)
shader_parameter/hslOffset = Vector3(0, 0, 0)
shader_parameter/localYMapping = Vector2(-0.5, 0.5)
@ -32,9 +36,13 @@ shader_parameter/windWeightCurve = 0.5
shader_parameter/windHeightCompensation = 0.0
shader_parameter/windNormalBending = 0.0
shader_parameter/windOcclusionAmount = 0.0
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 0.2
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 2.5
shader_parameter/worldLineFadeMin = 0.2
shader_parameter/worldCameraLineDistanceFadeInnerRadius = 1.5
shader_parameter/worldCameraLineDistanceFadeOuterRadius = 3.0
shader_parameter/worldLineFadeMin = 50.0
shader_parameter/perlinDiscardScale = 0.02
shader_parameter/perlinDiscardScroll = Vector2(0.5, 1)
shader_parameter/fadeThreshold = 0.10000000475
shader_parameter/minimumPlayerDistance = 3.0
shader_parameter/roughness = 0.92400004389
shader_parameter/albedoToRoughness = Vector3(0, 0, 0)
shader_parameter/specular = 0.67600003211

View File

@ -120,14 +120,15 @@ varying float vertexWindAO;
// [ F A D I N G ]
group_uniforms Fading;
global uniform vec3 playerPosition = vec3( 0.0, 0.0, 0.0);
global uniform vec3 playerPositionBody = vec3( 0.0, 0.0, 0.0);
varying vec3 worldCameraLineDistanceFadeViewPosition;
uniform float worldCameraLineDistanceFadeInnerRadius = 0.10000000149011612;
uniform float worldCameraLineDistanceFadeOuterRadius = 0.15000000596046448;
uniform float worldLineFadeMin = 0.0;
uniform float perlinDiscardScale = 0.02;
uniform vec2 perlinDiscardScroll = vec2( 0.01, 0.5 );
uniform float fadeThreshold:hint_range( 0.0, 0.5) = 0.2;
uniform float minimumPlayerDistance = 1;
// // [ N O R M A L ]
@ -165,14 +166,16 @@ uniform float snowLightMix = 0.5;
varying float snowAmount;
varying vec2 fadeCenterScreen;
void vertex()
{
fadeCenterScreen = worldToScreen( playerPositionBody, VIEW_MATRIX, PROJECTION_MATRIX );
vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX );
vec2 worldUV = ( worldVertex.xz ) / ( 1000.0 * noiseScale ) + noiseOffset;
noiseValue = textureLod( noise, worldUV, 0 );
worldCameraLineDistanceFadeViewPosition = worldToView( playerPosition, VIEW_MATRIX );
worldCameraLineDistanceFadeViewPosition = worldToView( playerPositionBody, VIEW_MATRIX );
float maxSnowAmount = mapClamped( VERTEX.y, snowFadeLocalYStart + snowFadeNoise * noiseValue.r, snowFadeLocalYEnd + snowFadeNoise * noiseValue.r, 0.0, snowOpacity );
maxSnowAmount = clamp01( pow( maxSnowAmount, snowFadePower ) );
@ -182,7 +185,7 @@ void vertex()
// PLAYER DEFORM
vec3 localPlayerPosition = worldToLocal( playerPosition, MODEL_MATRIX ) - VERTEX;
vec3 localPlayerPosition = worldToLocal( playerPositionBody, MODEL_MATRIX ) - VERTEX;
localPlayerPosition.y = 0.0;
float length = length( localPlayerPosition );
@ -233,26 +236,54 @@ void vertex()
void fragment()
{
//vec2 vertexScreenPosition = viewToScreen( VERTEX, PROJECTION_MATRIX );
//
//vec2 screenDistance = vertexScreenPosition - fadeCenterScreen;
//screenDistance.x *= VIEWPORT_SIZE.x / VIEWPORT_SIZE.y;
//float vsOpacity = min( 1.0, length( screenDistance ) / 0.2 );
float worldLineDistanceFadeDistance =
sdRoundCone( VERTEX, vec3( 0.0, 0.0, 0.0),
worldCameraLineDistanceFadeViewPosition, 0,
worldCameraLineDistanceFadeInnerRadius
);
vec3 simplePlayerDirection = ( VERTEX - vec3( 0.0, 0.0, minimumPlayerDistance ) ) - worldCameraLineDistanceFadeViewPosition;
bool isFarEnough = simplePlayerDirection.z > 0.0;
float worldRadius = worldCameraLineDistanceFadeOuterRadius - worldCameraLineDistanceFadeInnerRadius;
float worldLineDistanceFadeAmount = smoothstep( 0, worldRadius, worldLineDistanceFadeDistance );
worldLineDistanceFadeAmount = clamp( worldLineDistanceFadeAmount, worldLineFadeMin, 1.0 );
float worldRadius = worldCameraLineDistanceFadeInnerRadius - worldCameraLineDistanceFadeInnerRadius;
float w = fwidth(worldLineDistanceFadeDistance) * worldLineFadeMin;
float worldLineDistanceFadeAmount = smoothstep( 0, w, worldLineDistanceFadeDistance );
worldLineDistanceFadeAmount = worldLineDistanceFadeAmount;
//worldLineDistanceFadeAmount = clamp( worldLineDistanceFadeAmount, worldLineFadeMin, 1.0 );
//worldLineDistanceFadeAmount = worldLineDistanceFadeDistance;
vec3 objectNormal = normalize( worldCameraLineDistanceFadeViewPosition - VERTEX );
vec3 cameraNormal = NORMAL;
float worldLineDistanceDot = dot( cameraNormal, objectNormal );
worldLineDistanceDot = max( 0, sign( worldLineDistanceDot ) );
if ( worldLineDistanceDot == 0.0 && ditherDiscard( worldLineDistanceFadeAmount, FRAGCOORD ) )
{
discard;
}
vec2 perlinDiscardCoord = FRAGCOORD.xy * perlinDiscardScale + TIME * perlinDiscardScroll;
if ( worldLineDistanceDot == 0.0 && perlinDiscard( worldLineDistanceFadeAmount, perlinDiscardCoord, fadeThreshold ) )
{
discard;
}
//if ( worldLineDistanceDot == 0.0 && worldLineDistanceFadeAmount < fadeThreshold )
//{
//discard;
//}
// if ( worldLineDistanceDot == 0.0 && ditherDiscard( worldLineDistanceFadeAmount, vec4( perlinDiscardCoord, vec2(0.0)) ) )
// {
// discard;
// }
vec4 sampledAlbedo = texture( albedoTexture, UV );
ALBEDO = sampledAlbedo.rgb * albedo.rgb;

File diff suppressed because one or more lines are too long

81
VFX/CustomParticles.tres Normal file
View File

@ -0,0 +1,81 @@
[gd_resource type="VisualShader" format=3 uid="uid://k4fn3qfufau"]
[resource]
code = "shader_type particles;
float __rand_from_seed(inout uint seed) {
int k;
int s = int(seed);
if (s == 0)
s = 305420679;
k = s / 127773;
s = 16807 * (s - k * 127773) - 2836 * k;
if (s < 0)
s += 2147483647;
seed = uint(s);
return float(seed % uint(65536)) / 65535.0;
}
float __rand_from_seed_m1_p1(inout uint seed) {
return __rand_from_seed(seed) * 2.0 - 1.0;
}
float __randf_range(inout uint seed, float from, float to) {
return __rand_from_seed(seed) * (to - from) + from;
}
uint __hash(uint x) {
x = ((x >> uint(16)) ^ x) * uint(73244475);
x = ((x >> uint(16)) ^ x) * uint(73244475);
x = (x >> uint(16)) ^ x;
return x;
}
mat3 __build_rotation_mat3(vec3 axis, float angle) {
axis = normalize(axis);
float s = sin(angle);
float c = cos(angle);
float oc = 1.0 - c;
return mat3(vec3(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s), vec3(oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s), vec3(oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c));
}
mat4 __build_rotation_mat4(vec3 axis, float angle) {
axis = normalize(axis);
float s = sin(angle);
float c = cos(angle);
float oc = 1.0 - c;
return mat4(vec4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0), vec4(oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0), vec4(oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0), vec4(0, 0, 0, 1));
}
vec2 __get_random_unit_vec2(inout uint seed) {
return normalize(vec2(__rand_from_seed_m1_p1(seed), __rand_from_seed_m1_p1(seed)));
}
vec3 __get_random_unit_vec3(inout uint seed) {
return normalize(vec3(__rand_from_seed_m1_p1(seed), __rand_from_seed_m1_p1(seed), __rand_from_seed_m1_p1(seed)));
}
void start() {
uint __seed = __hash(NUMBER + uint(1) + RANDOM_SEED);
{
// StartOutput:0
if (RESTART_POSITION) {
TRANSFORM = mat4(vec4(1.0, 0.0, 0.0, 0.0), vec4(0.0, 1.0, 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
if (RESTART_VELOCITY) {
VELOCITY = (EMISSION_TRANSFORM * vec4(VELOCITY, 0.0)).xyz;
}
TRANSFORM = EMISSION_TRANSFORM * TRANSFORM;
}
}
}
"
mode = 2
flags/collision_use_scale = false
flags/disable_force = false
flags/disable_velocity = false
flags/keep_data = false

View File

@ -5,7 +5,7 @@
[resource]
render_priority = 0
shader = ExtResource("1_h2vjs")
shader_parameter/albedo = Color(4.415934, 0.34431335, 0, 1)
shader_parameter/albedo = Color(4.415934, 0.34431335, 0, 0)
shader_parameter/fresnelScale = 2.2365
shader_parameter/fresnelPower = 2.4445
shader_parameter/normalGrowth = 0.0645

81
VFX/VisualShader.tres Normal file
View File

@ -0,0 +1,81 @@
[gd_resource type="VisualShader" load_steps=6 format=3 uid="uid://cxwafbh5cggf5"]
[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_7jcgd"]
output_port_for_preview = 0
source = 5
[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_drvvi"]
parameter_name = "tex"
texture_type = 1
texture_filter = 6
texture_repeat = 1
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_ifvwk"]
input_name = "uv"
[sub_resource type="VisualShaderNodeExpression" id="VisualShaderNodeExpression_7jcgd"]
size = Vector2(340, 320)
expression = "output0 = vec3( input0 );"
[sub_resource type="VisualShaderNodeBillboard" id="VisualShaderNodeBillboard_52rgd"]
keep_scale = true
[resource]
code = "shader_type spatial;
render_mode blend_add, depth_draw_never, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx, unshaded, fog_disabled;
void vertex() {
mat4 n_out2p0;
// GetBillboardMatrix:2
{
mat4 __mvm = VIEW_MATRIX * mat4(INV_VIEW_MATRIX[0], INV_VIEW_MATRIX[1], INV_VIEW_MATRIX[2], MODEL_MATRIX[3]);
__mvm = __mvm * mat4(vec4(length(MODEL_MATRIX[0].xyz), 0.0, 0.0, 0.0), vec4(0.0, length(MODEL_MATRIX[1].xyz), 0.0, 0.0), vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz), 0.0), vec4(0.0, 0.0, 0.0, 1.0));
n_out2p0 = __mvm;
}
// Output:0
MODELVIEW_MATRIX = n_out2p0;
}
void fragment() {
vec3 n_out6p0;
// Expression:6
n_out6p0 = vec3(0.0, 0.0, 0.0);
{
n_out6p0 = vec3( );
}
// Output:0
ALBEDO = n_out6p0;
}
"
modes/blend = 1
modes/depth_draw = 2
flags/unshaded = true
flags/fog_disabled = true
nodes/vertex/0/position = Vector2(240, 0)
nodes/vertex/2/node = SubResource("VisualShaderNodeBillboard_52rgd")
nodes/vertex/2/position = Vector2(-240, 140)
nodes/vertex/connections = PackedInt32Array(2, 0, 0, 10)
nodes/fragment/2/node = SubResource("VisualShaderNodeTexture_7jcgd")
nodes/fragment/2/position = Vector2(-320, 120)
nodes/fragment/4/node = SubResource("VisualShaderNodeTexture2DParameter_drvvi")
nodes/fragment/4/position = Vector2(-1060, 280)
nodes/fragment/5/node = SubResource("VisualShaderNodeInput_ifvwk")
nodes/fragment/5/position = Vector2(-800, 80)
nodes/fragment/6/node = SubResource("VisualShaderNodeExpression_7jcgd")
nodes/fragment/6/position = Vector2(-360, 560)
nodes/fragment/6/size = Vector2(340, 320)
nodes/fragment/6/input_ports = "0,0,input0;"
nodes/fragment/6/output_ports = "0,4,output0;"
nodes/fragment/6/expression = "output0 = vec3( input0 );"
nodes/fragment/connections = PackedInt32Array(4, 0, 2, 2, 5, 0, 2, 0, 6, 0, 0, 0)

@ -1 +1 @@
Subproject commit ebc2d0dcae3152106b866b1651c78aa34268d044
Subproject commit e27d2e9ef1f811ec64dfbf3b97ae3996416ee7d6