     vec3 specular;
 };
 
-vec3 CalcDirLight(DirLight light, vec3 normal, vec3 viewDir, Material material)
+vec3 CalcDirLight(DirLight light, vec3 normal, vec3 viewDir, Material material, float shadow)
 {
     vec3 lightDir = normalize(-light.direction);
     // Diffuse shading

    // result += CalcSpotLight(spotLight, norm, FragPos, viewDir, material);

    color = vec4(result, 1.0f);
}

    vec3 norm = normalize(Normal);
    vec3 viewDir = normalize(viewPos - FragPos);

    // Calculate fragment shadow
    float shadow = ShadowCalculation(FragPosLightSpace);

    // Phase 1: Directional lighting
    vec3 result = CalcDirLight(dirLight, norm, viewDir, material, shadow);

    // Phase 2: Point lights
    result += CalcPointLight(light, norm, FragPos, viewDir, material);
