float CookTorrenceGeometricShadowingFunction (float NdotL, float NdotV, float VdotH, float NdotH){ float Gs = min(1.0, min(2*NdotH*NdotV / VdotH, 2*NdotH*NdotL / VdotH)); return (Gs); }