Here Shadows is an array of objects
which means that whatever the lighting
setup is, whole scene or something
else, the shadows will always be
applied on a per-object level, right?
No, if you’re using whole scene shadows (e.g. CSMs) there will be one FProjectedShadowInfo per shadow cascade. There is no per-object projection in that case. The frustum used for the projection is the cascade’s frustum extruded along the light direction.
Please correct me if I’m wrong in
understanding that when a light is a
dynamic light, shadows are still
rendered per object.
If you have a movable light and CSMs enabled, the shadow projection will be done per-cascade as described above. The only exception is in the case of inset shadows, as mentioned above. These are still projected on a per-object basis.