fn calculate_lighting(color: vec3, normal: vec3, pos: vec3, shadow: f32) -> vec3 { let light_dir = normalize(vec3(1.0, 1.0, 1.0)); let diffuse = max(dot(normal, light_dir), 0.0); let lighting = diffuse * (0.1 + 0.9 * shadow) + 0.1; // Ambient + Shadowed Diffuse return color * lighting; }