factored out the vertex-index handling (now IVertexIndexData) from the shader logic (BatchRenderer)