OpenGL Batch Rendering

I just wanted to say that I published an article on OpenGL Batch Rendering here:

Let me know what you think, and whether you have any suggestions for improvements that can be made to it. Thanks!

After a very quick look at it: I haven’t studied the code in too much detail, but:

In OpenGL a batch is defined by creating a Vertex Buffer Object (VBO).

That just isn’t true. You can have a single VBO and draw multiple batches from it by adjusting the parameters to your glDrawArrays/glDrawElements/etc calls; at the most basic level the first param to glDrawArrays should clue you in that (one VBO == one draw call) != true, and the same applies to other draw functions.

In more general terms, if you’re going to do this kind of article you really should focus less on your own awesome class design and more on what you’re actually trying to achieve (the impression I got was more “look at my awesome class!” than it was “here’s how you do this”). Maybe you have a good design, but really, nobody gives a sweet damn about your own classes. The kind of people this kind of article is aimed at are interested in code that they can lift over to their own programs; if they have to take your classes and try wrestle them into their own code (or if they’re coding in C) then such a heavy focus on your own design is of zero help to them. For tutorial material you’re really better off thinking and working without classes; go procedural, give them code that they can use without dependencies.