- float brightness = max(dot(normalize(v_normal), normalize(u_light)), 0.0);
- color = vec4(mix(dark, bright, brightness), 1.0);
+
+ float distance = model[3][2];
+ float attenuation = 1. / (1. + distance * distance * 0.05);
+ float brightness = max(dot(normalize(v_normal), normalize(u_light)) * attenuation, 0.0);
+ color = vec4(mix(dark, col, brightness), 1.0);
+