add random start for train o start from a stop

This commit is contained in:
2026-04-24 17:08:24 +02:00
parent 8f02afa796
commit 72c933ba73
5 changed files with 111 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ global uniform float global_snow_melt_speed = 0.1;
global uniform float global_snow_threshold = 0.5;
global uniform vec4 global_snow_color = vec4(0.92, 0.96, 1.0, 1.0);
global uniform float global_snow_max_accumulation = 0.72;
global uniform float global_snow_cap_enabled = 1.0;
global uniform float global_snow_cap_height = 0.06;
global uniform float global_snow_cap_flatness_start = 0.72;
global uniform float global_snow_cap_flatness_end = 0.96;
@@ -92,6 +93,7 @@ void vertex() {
float snow_amount = get_snow_amount();
vec3 world_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
vec3 world_normal = normalize((MODEL_MATRIX * vec4(NORMAL, 0.0)).xyz);
float snow_cap_enabled = step(0.5, global_snow_cap_enabled);
float flat_surface = smoothstep(
max(global_snow_threshold, global_snow_cap_flatness_start),
@@ -103,7 +105,7 @@ void vertex() {
float cap_variation = mix(1.0 - global_snow_cap_noise_strength, 1.0 + global_snow_cap_noise_strength, cap_noise);
v_snow_amount = snow_amount;
v_snow_cap_mask = flat_surface * accumulation_growth * cap_variation;
v_snow_cap_mask = flat_surface * accumulation_growth * cap_variation * snow_cap_enabled;
VERTEX += NORMAL * (global_snow_cap_height * snow_amount * v_snow_cap_mask);
}