     ggx.phi = 2.0 * MATH_PI * xi.x;
 
     // evaluate GGX pdf (for half vector)
-    ggx.pdf  = D_GGX(ggx.cosTheta, alpha);
+    ggx.pdf = D_GGX(ggx.cosTheta, alpha);
 
     // Apply the Jacobian to obtain a pdf that is parameterized by l
     // see https://bruop.github.io/ibl/


    return charlie;
}

// getImportanceSample returns an importance sample direction with pdf in the .w component
vec4 getImportanceSample(int sampleIndex, vec3 N, float roughness)

    return (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * MATH_PI);
}


MicrofacetDistributionSample Charlie(vec2 xi, float roughness)
{
    MicrofacetDistributionSample charlie;
