unsafe void DrawDynamicTriangles(int verticesCount, int startVertex) { GL.Begin(BeginMode.Triangles); if (batchFormat == VertexFormat.P3fT2fC4b) { VertexP3fT2fC4b *ptr = (VertexP3fT2fC4b *)dynamicListData; for (int i = startVertex; i < startVertex + verticesCount; i += 4) { V(ptr[i + 0]); V(ptr[i + 1]); V(ptr[i + 2]); V(ptr[i + 2]); V(ptr[i + 3]); V(ptr[i + 0]); } } else if (batchFormat == VertexFormat.P3fT2fC4bN1v) { VertexP3fT2fC4bN1v *ptr = (VertexP3fT2fC4bN1v *)dynamicListData; for (int i = startVertex; i < startVertex + verticesCount; i += 4) { V(ptr[i + 0]); V(ptr[i + 1]); V(ptr[i + 2]); V(ptr[i + 2]); V(ptr[i + 3]); V(ptr[i + 0]); } } else { VertexP3fC4b *ptr = (VertexP3fC4b *)dynamicListData; for (int i = startVertex; i < startVertex + verticesCount; i += 4) { V(ptr[i + 0]); V(ptr[i + 1]); V(ptr[i + 2]); V(ptr[i + 2]); V(ptr[i + 3]); V(ptr[i + 0]); } } GL.End(); }
unsafe void DrawDynamicLines(int verticesCount) { GL.Begin(BeginMode.Lines); if (batchFormat == VertexFormat.P3fT2fC4b) { VertexP3fT2fC4b *ptr = (VertexP3fT2fC4b *)dynamicListData; for (int i = 0; i < verticesCount; i += 2) { V(ptr[i + 0]); V(ptr[i + 1]); } } else { VertexP3fC4b *ptr = (VertexP3fC4b *)dynamicListData; for (int i = 0; i < verticesCount; i += 2) { V(ptr[i + 0]); V(ptr[i + 1]); } } GL.End(); }