#version 450 float ambient = 0.05; vec3 light_dir = normalize(vec3(2, 2, -1)); vec3 base_colour = vec3(1.0, 0.94, 0.8); layout(location = 0) in vec3 frag_normal; layout(location = 1) in vec4 light_pos; layout(location = 0) out vec4 out_colour; layout(binding = 2) uniform sampler2DShadow shadow_map; void main() { float lambertian = max(dot(frag_normal, light_dir), 0.0); float intensity = min(lambertian + ambient, 1.0); out_colour = vec4(intensity * base_colour, 1.0); }