yeah that shader does create a drop shadow for each object. The complex thing would be to get the right interaction for a complex background.
Construct's effects apply only to a single layer, and are single pass, so it can't be done exactly like the one there.
The offsetting by color makes me thing of that distort object that was posted here. You'd need a copy of the layout with color indicating height, then distort according to that height with the existing effect, then compare to the color in that location previous to the distort (that'd be a custom effect) to deduce shading... then.....
okay, maybe an effect would make that part simpler. You'd still need to manually generate a layer with the proper colored sprites, though... and that's probably a mess too.