def create_fragment_shader(fresnel):
    """
    Construct a fragment shader with the specified Fresnel function implementation.

    :param fresnel: The source code of the Fresnel function.
    :return: The total shader implementation.
    """
    return f'''
        #version 410 core
        in vec3 Normal;
        in vec3 FragPos;

        out vec4 FragColor;

        uniform vec3 lightPos;
        uniform vec3 lightColor;
        uniform vec3 objectColor;

        {fresnel}

        void main()
        {{
            float ambientStrength = 0.1;
            vec3 ambient = ambientStrength * lightColor;

            vec3 norm = normalize(Normal);
            vec3 lightDir = normalize(lightPos - FragPos);
            float diff = max(dot(norm, lightDir), 0.0);
            vec3 diffuse = diff * lightColor;

            float fresnelStrength = 15;
            vec3 fresnel = fresnelStrength * Fresnel(diff, 1.25) * lightColor;

            vec3 result = (ambient + fresnel) * objectColor;
            FragColor = vec4(result, 1.0);
        }}
    '''