#version 330 core uniform vec3 sky_color; uniform vec3 sun_direction; in vec3 surface_normal; in float depth; out vec4 color; void main() { float brightness = dot(normalize(surface_normal), normalize(-sun_direction)); vec3 diffuse = vec3(1 - clamp(brightness, -0.3, 0.2)); vec3 base = vec3(1.0, 1.0, 1.0) * diffuse; color = vec4(mix(sky_color, base, 1 - depth), 0.3); }