This commit is contained in:
2026-05-10 11:01:22 +02:00
parent 040ded5f0b
commit 2aa7d1f7d4
30 changed files with 252 additions and 147 deletions

View File

@@ -2,9 +2,10 @@ shader_type spatial;
render_mode blend_mix, cull_back, depth_draw_opaque;
global uniform float global_snow_start_time = -1.0;
global uniform float global_snow_accumulation_speed = 0.1;
global uniform float global_snow_accumulation_speed = 0.005;
global uniform float global_snow_melt_time = -1.0;
global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_amount = 0.0;
global uniform vec4 global_snow_color = vec4(0.92, 0.96, 1.0, 1.0);
uniform float max_height : hint_range(0.02, 1.0) = 0.2;
@@ -51,17 +52,18 @@ float fbm(vec2 p) {
}
float get_snow_amount() {
float snow_amount = 0.0;
float snow_amount = clamp(global_snow_amount, 0.0, 1.0);
if (global_snow_start_time >= 0.0) {
snow_amount = clamp(
float timed_amount = clamp(
(TIME - global_snow_start_time) * global_snow_accumulation_speed,
0.0,
1.0
);
snow_amount = max(snow_amount, timed_amount);
}
if (global_snow_melt_time >= 0.0) {
float melt = clamp((TIME - global_snow_melt_time) * global_snow_melt_speed, 0.0, 1.0);
snow_amount *= (1.0 - melt);
snow_amount = min(snow_amount, 1.0 - melt);
}
return snow_amount;
}