The
io7m-r1 package
creates new shadow maps on demand during rendering, and the maps are
returned to a soft-bounded
cache after use. This implies that in a visible
set with
n shadow-projecting lights,
there will be at least
n shadow maps
allocated and in use at any one time. Shadow maps are requested from the cache
based on their
map description,
and unused maps are discarded from the cache after a configurable time
period. The intention is to avoid having to frequently allocate new
shadow maps without requiring that all maps be allocated up-front, and
without exhausting all available memory on shadow maps.