Do the vertices projection on the GPU side (beware of the precision issues that might come because operations are done on float in GPU and not double, to be tested...)
Index the footprints in HEALPix cells so that only footprints inside HPX cells in the view will be rendered
Above 3000/4000 polygon footprints there is performance issues. Several optimization could be done: