[LWJGL] How can I make a batcher with GL3.x

So I’ve started to understand OpenGL 3 a bit better, but I’m having trouble making a batcher so I can render objects in real time. I have yet to find any good tutorial on doing so that isn’t too complicated. Until I can find one, I attempted to make a Quad class that loads Rectangles using of the LWJGL wiki code. Only one Quad is rendered and movable though. I tried changing the parameters so they would sort the index of the vbos for me but that made a bigger mess.

If you’re interested in my code here’s the main class: http://pastebin.com/cDbjqfGz
And here’s the Quad class: http://pastebin.com/vaev3vqj

In modern OpenGL I find it difficult to make some kind of Batch class than it was in older versions. What are some good books/tutorials/docs on making simple batchers for drawing shapes using calls like

batch.drawRect(...)

?

You just have a batch class that manages a VAO and draws it, with an internal mapped bytebuffer that you fill with geometry. begin() maps the buffer and end() unmaps the buffer and draws the VAO.

I was having much problems with OpenGL 3+ and VBOs and VAOs and all that. I spent around 3 months trying to figure this all out.

Then I found ThinMatrix’s tutorials:

Explained really well, and works great. Needs a little cleaning up/organizing when you are done, but it will get you running.