I think for my needs, pixel perfect collision is the best way.

Can you get hold of the pixels in openGL?
Like .pixels(x,y) -> color of the pixel