示例#1
0
 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();
 }
示例#2
0
 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();
 }