This question directly follows on from this one:
How can I implement a renderer that can draw many kinds of primitives?
I have a small amount of drawing code structured in the following way:
A mesh object can be instantiated with different configurations of vertices and indices in order to form any desired shape. A reference to this mesh is then passed to every gameObject class, this class holds spacial information and a draw method that combines this data with that of the mesh to draw that object with the proper transforms.
The mesh is simply responsible for holding pointers to the appropriate buffers.
I was under the impression (wrongly I think) that because I actually only have one object of each type that I'm drawing multiple times, that this WAS instancing. I know this isn't the case.
What EXACTLY is the difference between what I'm doing and hardware instancing and what changes do I need to make to achieve it?