   const float sphereAngle = clamp(sphereRadius * d.invDistToLight, 0.0, 1.0);
   float energ = d.roughness2 / clamp(d.roughness2 + 0.5 * sphereAngle, 0.0, 1.0);
   energ *= energ;
-  d.lobeEnergy.y *= energ;
+  d.lobeEnergy *= energ;
 }
 
 vec3 calcDiffuse(LightingData d)


vec3 calcSpecular(LightingData d)
{
  const float F0 = 0.04;

  const float D = D_GGX(d.NdH, d.roughness2) * d.lobeEnergy.y;
  const vec2 FV0 = VF_GGX(d.LdH, d.roughness2);
  const vec3 FV = F0 * FV0.x + (1.0 - F0) * FV0.y * d.specularColor;
  
  return D * FV;
}

vec3 calcLighting(LightingData d)

  return fc + value * (1.0 - fc);
}

float V_GGX(float NdL, float NdV, float roughness2)
{
  float k = roughness2 * 0.5;
  float V = NdV * (1.0 - k) + k;
  float L = NdL * (1.0 - k) + k;
  return 0.25 / (V * L);
}

float D_GGX(float NdH, float roughness2)
