   return baseReflectivity + (1.0 - baseReflectivity) * pow(1.0 - cosTheta, 5.0);
 }
 
-// Shlick GGX for Geometry part
+// Shlick-Beckmann for Geometry part
 float computeShlickGGX(float viewAngle, float roughness) {
   float incrRough   = (roughness + 1.0);
   float roughFactor = (incrRough * incrRough) / 8.0;


  for (uint lightIndex = 0u; lightIndex < uniLightCount; ++lightIndex) {
    vec3 fullLightDir;

    if (uniLights[lightIndex].position.w != 0.0) {
      fullLightDir = uniLights[lightIndex].position.xyz - fragMeshInfo.vertPosition;
    } else {
      fullLightDir = -uniLights[lightIndex].direction;
    }

    float distance    = length(fullLightDir);
    float attenuation = 1.0 / (distance * distance);

    vec3 lightDir = normalize(fullLightDir);
    vec3 halfDir  = normalize(viewDir + lightDir);

  float divider = (sqrHalfVecAngle * (frthRough - 1.0) + 1.0);
  divider       = PI * divider * divider;

  return frthRough / divider;
}

// Fresnel: Shlick
