Use one call for each shadow cascade instead of a big one.
Factorise AZDO related code
Free texture memory when an object is destroyed
Remove instancing
Gather object in instanced calls