Pixels Adding and subtraction by incident radiation

Hi Everyone,
I am trying to make something like this in grasshopper
by adding and subtracting by Incident radiation while keeping the same volume of the building is there any script ot plugin even better a tutorial online for this kind of buildings