fix(assets): tune fog shader alpha and clean cone edge per D-059
Layer 2 (peripheral): reduce peak alpha 0.55→0.38, noise 0.1→0.05, taper noise to zero near clear boundary for a clean gradient edge. Layer 3 (deep fog): reduce alpha range 0.78-0.90→0.62-0.76 so zone temperature tint breathes through. Layer 5 unchanged (alpha 1.0). Ticket: #564 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -53,8 +53,11 @@ void fragment() {
|
||||
// D-059: animated Perlin noise, 8-10s cycle
|
||||
float noise_val = texture(noise_tex, tile * 0.03 + vec2(time * 0.11, time * 0.07)).r;
|
||||
float coverage = smoothstep(PERIPHERAL_LOW, CLEAR_THRESHOLD, vis);
|
||||
// Blend from heavy fog (alpha ~0.55) to lighter fog near clear edge
|
||||
float alpha = mix(0.55, 0.25, coverage) + noise_val * 0.1;
|
||||
// Blend from heavy fog (alpha ~0.38) to lighter fog near clear edge
|
||||
// Taper noise to zero near the clear boundary — preserves breathing in deep
|
||||
// peripheral but keeps the Layer 1/2 transition clean (no curly edge)
|
||||
float noise_weight = 1.0 - smoothstep(0.5, 1.0, coverage);
|
||||
float alpha = mix(0.38, 0.25, coverage) + noise_val * 0.05 * noise_weight;
|
||||
COLOR = vec4(DARK_OVERLAY, alpha);
|
||||
}
|
||||
} else if (explored > 0.3) {
|
||||
@@ -63,7 +66,7 @@ void fragment() {
|
||||
vec3 zone_tint = texture(zone_tint_tex, tex_uv).rgb;
|
||||
float noise_val = texture(noise_tex, tile * 0.015 + vec2(time * 0.045, time * 0.03)).r;
|
||||
vec3 tint_color = mix(vec3(0.04), zone_tint, 0.1);
|
||||
float alpha = mix(0.78, 0.90, noise_val); // Fog breathes
|
||||
float alpha = mix(0.62, 0.76, noise_val); // Fog breathes
|
||||
COLOR = vec4(tint_color, alpha);
|
||||
} else {
|
||||
// Layer 5: Unexplored, no maps — information zero
|
||||
|
||||
Reference in New Issue
Block a user