I have a myriad of suggestions for you:
- Use LibGDX as it will make your life easier. It allows you to still use OpenGL albeit with a stronger set of tools that you will inevitably need for any game, as well as backends for Android/HTML5/iOS
- Don't use GL_QUADS as they are deprecated; instead it would be more efficient to make a
sprite batcher ideally with shaders and such. LibGDX of course already includes this for you...
- Use polygons if you are ok with losing a bit of precision. This is ideal if you plan to rotate or scale your sprites.
- Use a "mask" texture (i.e. black & white) if you need pixel-perfect collision. This is fast and easy but not ideal if you plan to rotate or scale your sprites, plus it requires an extra image for each sprite.
- Use
stencil buffer if you want to try and incorporate the GPU, although it may not necessarily be much more efficient