To help me grok and remember the OpenGL 3.3 draw API, I drew them in a diagram. I hope this will help me see at a glance what I can and can't achieve with each function call.
I haven't annotated any of the parameter types. These days I tend to be
calling these functions from Python, so generally only care about the
values. Interestingly, the most recent additions to the API, such as
glMultiDrawElements, feature parameters such as
const void ** indices'. Apparently the OpenGL Architecture Review
Board has also decided that they also no longer care about the types
either. Wise choice. :-)
Updatate: I wanted to publish this diagram as SVG, but apparently these days that works in every browser except IE, surprise surprise.