Shadow mapping from raster data

In the QGIS/FOSS world, you can use the GRASS algorithm called r.sunmask.datetime from the Processing toolbox. You provide the date and time, and it creates a shadow mask.

Here's one, derived from Lidar data:-

enter image description here


In ArcGIS the tool would be:

Area Solar Radiation (Spatial Analyst > Solar Radiation)

You could also do it in QGIS with the GRASS tool r.sun

I used this tools to create several images along the day from which later I made a video. But now that I reread your question this may not be exactly what you want.

I think what you need is: r.sunmask.datetime or r.sunmask.position