shadowTransmittance top-level property
Vector3
shadowTransmittance
final
ShadowFactor: how much of the directional light survives here.
One — not zero — outside the map, off the caster, or with shadows off. A fragment beyond the shadow volume is unshadowed, and getting that backwards puts a hard edge across the scene at the edge of the map.
lightNDotL is the light's n_dot_l, which ShadowFactor is handed with
the light and no longer reads: the offset measures the slope along the
map's own axes instead.
What the see-through casters between the sun and the fragment last given
to shadowFactor let through — light_transmittance in surface.glsl,
and the same arrangement: set as a side effect, white whenever the call
does not reach the atlas, read by accumulateLights beside the
visibility.
Implementation
final Vector3 shadowTransmittance = Vector3.all(1.0);