Files
maszyna/shaders/apply_fog.glsl
2018-12-24 23:50:17 +01:00

9 lines
398 B
GLSL

vec3 apply_fog(vec3 color)
{
float sun_amount = 0.0;
if (lights_count >= 1U && lights[0].type == LIGHT_DIR)
sun_amount = max(dot(normalize(f_pos.xyz), normalize(-lights[0].dir)), 0.0);
vec3 fog_color_v = mix(fog_color, lights[0].color, pow(sun_amount, 30.0));
float fog_amount_v = 1.0 - min(1.0, exp(-length(f_pos.xyz) * fog_density));
return mix(color, fog_color_v, fog_amount_v);
}