public static RenderBatch Acquire(RenderBatch origin) { var batch = batchPool.Count == 0 ? new RenderBatch() : batchPool.Pop(); if (origin != null) { batch.mesh = origin.mesh; batch.StartIndex = origin.LastIndex; batch.LastVertex = origin.LastVertex; batch.LastIndex = origin.LastIndex; } else { batch.ownsMesh = true; batch.mesh = AcquireMesh(); } batch.VertexBuffer = (IVertexBuffer <Vertex>)batch.mesh.VertexBuffers[0]; batch.IndexBuffer = batch.mesh.IndexBuffer; return(batch); }