Projective shadows

Apply a transformation matrix to vertices of object to project onto the plane at $y=0$. Lift the shadow slightly above the plane to prevent z-buffer quantisation errors causing flickering.