1. A concise explanation of the problem you’re experiencing.
Shadowmap darkness parameter does not work well with softshadows. If darkness is set to produce light shadows, like 0.9, we cannot see any soft edges.
How we fixed this:
float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness)
{
#ifdef USE_NORMAL_SHADING
#ifdef USE_NORMAL_SHADING_SMOOTH
float strength = clamp(nDotL / normalShadingSmooth, 0.0, 1.0);
#else
float strength = step(0.0, nDotL);
#endif
visibility *= strength;
#endif
__ visibility = darkness + visibility * (1.0 - darkness);__
return visibility;
}