Instancing allows one to render in a single draw call several instance of a single VAO

It is accomplished by calling glDrawElementsInstanced instead of a regular glDrawElements.

int instance_number = 50;
glDrawElementsInstanced(GL_TRIANGLES, [...], instance_number);

<aside> ⚠️ The issue here is that all of the instances will end up being drawn at the exact same place. We need a way to difference them in the shader.

</aside>