예제 #1
0
 private static void FillColumn1(ref NineRectangle nqV, ref NineRectangle nqT, int columnStart, ref Color color, MeshBuffer m)
 {
     if (nqV.xx.y == nqV.yy.y)
     {
         if (nqV.yy.y == nqV.zz.y)
         {
             if (nqV.zz.y != nqV.ww.y)
             {
                 switch (columnStart)
                 {
                     case 0:
                     {
                         m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color);
                         break;
                     }
                     case 1:
                     {
                         m.FastCell(nqV.yz, nqV.zw, nqT.yz, nqT.zw, ref color);
                         break;
                     }
                     case 2:
                     {
                         m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color);
                         break;
                     }
                 }
             }
         }
         else if (nqV.zz.y != nqV.ww.y)
         {
             int num = m.Alloc(PrimitiveKind.Grid1x2, 0f, color);
             switch (columnStart)
             {
                 case 0:
                 {
                     m.v[num].x = nqV.xx.x;
                     m.v[num].y = nqV.yy.y;
                     m.v[num].u = nqT.xx.x;
                     m.v[num].v = nqT.yy.y;
                     m.v[num + 1].x = nqV.yy.x;
                     m.v[num + 1].y = nqV.yy.y;
                     m.v[num + 1].u = nqT.yy.x;
                     m.v[num + 1].v = nqT.yy.y;
                     m.v[num + 2].x = nqV.xx.x;
                     m.v[num + 2].y = nqV.zz.y;
                     m.v[num + 2].u = nqT.xx.x;
                     m.v[num + 2].v = nqT.zz.y;
                     m.v[num + 3].x = nqV.yy.x;
                     m.v[num + 3].y = nqV.zz.y;
                     m.v[num + 3].u = nqT.yy.x;
                     m.v[num + 3].v = nqT.zz.y;
                     m.v[num + 4].x = nqV.xx.x;
                     m.v[num + 4].y = nqV.ww.y;
                     m.v[num + 4].u = nqT.xx.x;
                     m.v[num + 4].v = nqT.ww.y;
                     m.v[num + 5].x = nqV.yy.x;
                     m.v[num + 5].y = nqV.ww.y;
                     m.v[num + 5].u = nqT.yy.x;
                     m.v[num + 5].v = nqT.ww.y;
                     break;
                 }
                 case 1:
                 {
                     m.v[num].x = nqV.yy.x;
                     m.v[num].y = nqV.yy.y;
                     m.v[num].u = nqT.yy.x;
                     m.v[num].v = nqT.yy.y;
                     m.v[num + 1].x = nqV.zz.x;
                     m.v[num + 1].y = nqV.yy.y;
                     m.v[num + 1].u = nqT.zz.x;
                     m.v[num + 1].v = nqT.yy.y;
                     m.v[num + 2].x = nqV.yy.x;
                     m.v[num + 2].y = nqV.zz.y;
                     m.v[num + 2].u = nqT.yy.x;
                     m.v[num + 2].v = nqT.zz.y;
                     m.v[num + 3].x = nqV.zz.x;
                     m.v[num + 3].y = nqV.zz.y;
                     m.v[num + 3].u = nqT.zz.x;
                     m.v[num + 3].v = nqT.zz.y;
                     m.v[num + 4].x = nqV.yy.x;
                     m.v[num + 4].y = nqV.ww.y;
                     m.v[num + 4].u = nqT.yy.x;
                     m.v[num + 4].v = nqT.ww.y;
                     m.v[num + 5].x = nqV.zz.x;
                     m.v[num + 5].y = nqV.ww.y;
                     m.v[num + 5].u = nqT.zz.x;
                     m.v[num + 5].v = nqT.ww.y;
                     break;
                 }
                 case 2:
                 {
                     m.v[num].x = nqV.zz.x;
                     m.v[num].y = nqV.yy.y;
                     m.v[num].u = nqT.zz.x;
                     m.v[num].v = nqT.yy.y;
                     m.v[num + 1].x = nqV.ww.x;
                     m.v[num + 1].y = nqV.yy.y;
                     m.v[num + 1].u = nqT.ww.x;
                     m.v[num + 1].v = nqT.yy.y;
                     m.v[num + 2].x = nqV.zz.x;
                     m.v[num + 2].y = nqV.zz.y;
                     m.v[num + 2].u = nqT.zz.x;
                     m.v[num + 2].v = nqT.zz.y;
                     m.v[num + 3].x = nqV.ww.x;
                     m.v[num + 3].y = nqV.zz.y;
                     m.v[num + 3].u = nqT.ww.x;
                     m.v[num + 3].v = nqT.zz.y;
                     m.v[num + 4].x = nqV.zz.x;
                     m.v[num + 4].y = nqV.ww.y;
                     m.v[num + 4].u = nqT.zz.x;
                     m.v[num + 4].v = nqT.ww.y;
                     m.v[num + 5].x = nqV.ww.x;
                     m.v[num + 5].y = nqV.ww.y;
                     m.v[num + 5].u = nqT.ww.x;
                     m.v[num + 5].v = nqT.ww.y;
                     break;
                 }
             }
         }
         else
         {
             switch (columnStart)
             {
                 case 0:
                 {
                     m.FastCell(nqV.xy, nqV.yz, nqT.xy, nqT.yz, ref color);
                     break;
                 }
                 case 1:
                 {
                     m.FastCell(nqV.yy, nqV.zz, nqT.yy, nqT.zz, ref color);
                     break;
                 }
                 case 2:
                 {
                     m.FastCell(nqV.zy, nqV.wz, nqT.zy, nqT.wz, ref color);
                     break;
                 }
             }
         }
     }
     else if (nqV.yy.y == nqV.zz.y)
     {
         if (nqV.zz.y != nqV.ww.y)
         {
             switch (columnStart)
             {
                 case 0:
                 {
                     m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color);
                     m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color);
                     break;
                 }
                 case 1:
                 {
                     m.FastCell(nqV.yx, nqV.zy, nqT.yx, nqT.zy, ref color);
                     m.FastCell(nqV.yz, nqV.zw, nqT.yz, nqT.zw, ref color);
                     break;
                 }
                 case 2:
                 {
                     m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color);
                     m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color);
                     break;
                 }
             }
         }
         else
         {
             switch (columnStart)
             {
                 case 0:
                 {
                     m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color);
                     break;
                 }
                 case 1:
                 {
                     m.FastCell(nqV.yx, nqV.zy, nqT.yx, nqT.zy, ref color);
                     break;
                 }
                 case 2:
                 {
                     m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color);
                     break;
                 }
             }
         }
     }
     else if (nqV.zz.y != nqV.ww.y)
     {
         int num1 = m.Alloc(PrimitiveKind.Grid1x2, 0f, color);
         switch (columnStart)
         {
             case 0:
             {
                 m.v[num1].x = nqV.xx.x;
                 m.v[num1].y = nqV.xx.y;
                 m.v[num1].u = nqT.xx.x;
                 m.v[num1].v = nqT.xx.y;
                 m.v[num1 + 1].x = nqV.yy.x;
                 m.v[num1 + 1].y = nqV.xx.y;
                 m.v[num1 + 1].u = nqT.yy.x;
                 m.v[num1 + 1].v = nqT.xx.y;
                 m.v[num1 + 2].x = nqV.xx.x;
                 m.v[num1 + 2].y = nqV.yy.y;
                 m.v[num1 + 2].u = nqT.xx.x;
                 m.v[num1 + 2].v = nqT.yy.y;
                 m.v[num1 + 3].x = nqV.yy.x;
                 m.v[num1 + 3].y = nqV.yy.y;
                 m.v[num1 + 3].u = nqT.yy.x;
                 m.v[num1 + 3].v = nqT.yy.y;
                 m.v[num1 + 4].x = nqV.xx.x;
                 m.v[num1 + 4].y = nqV.zz.y;
                 m.v[num1 + 4].u = nqT.xx.x;
                 m.v[num1 + 4].v = nqT.zz.y;
                 m.v[num1 + 5].x = nqV.yy.x;
                 m.v[num1 + 5].y = nqV.zz.y;
                 m.v[num1 + 5].u = nqT.yy.x;
                 m.v[num1 + 5].v = nqT.zz.y;
                 m.v[num1 + 6].x = nqV.xx.x;
                 m.v[num1 + 6].y = nqV.ww.y;
                 m.v[num1 + 6].u = nqT.xx.x;
                 m.v[num1 + 6].v = nqT.ww.y;
                 m.v[num1 + 7].x = nqV.yy.x;
                 m.v[num1 + 7].y = nqV.ww.y;
                 m.v[num1 + 7].u = nqT.yy.x;
                 m.v[num1 + 7].v = nqT.ww.y;
                 break;
             }
             case 1:
             {
                 m.v[num1].x = nqV.yy.x;
                 m.v[num1].y = nqV.xx.y;
                 m.v[num1].u = nqT.yy.x;
                 m.v[num1].v = nqT.xx.y;
                 m.v[num1 + 1].x = nqV.zz.x;
                 m.v[num1 + 1].y = nqV.xx.y;
                 m.v[num1 + 1].u = nqT.zz.x;
                 m.v[num1 + 1].v = nqT.xx.y;
                 m.v[num1 + 2].x = nqV.yy.x;
                 m.v[num1 + 2].y = nqV.yy.y;
                 m.v[num1 + 2].u = nqT.yy.x;
                 m.v[num1 + 2].v = nqT.yy.y;
                 m.v[num1 + 3].x = nqV.zz.x;
                 m.v[num1 + 3].y = nqV.yy.y;
                 m.v[num1 + 3].u = nqT.zz.x;
                 m.v[num1 + 3].v = nqT.yy.y;
                 m.v[num1 + 4].x = nqV.yy.x;
                 m.v[num1 + 4].y = nqV.zz.y;
                 m.v[num1 + 4].u = nqT.yy.x;
                 m.v[num1 + 4].v = nqT.zz.y;
                 m.v[num1 + 5].x = nqV.zz.x;
                 m.v[num1 + 5].y = nqV.zz.y;
                 m.v[num1 + 5].u = nqT.zz.x;
                 m.v[num1 + 5].v = nqT.zz.y;
                 m.v[num1 + 6].x = nqV.yy.x;
                 m.v[num1 + 6].y = nqV.ww.y;
                 m.v[num1 + 6].u = nqT.yy.x;
                 m.v[num1 + 6].v = nqT.ww.y;
                 m.v[num1 + 7].x = nqV.zz.x;
                 m.v[num1 + 7].y = nqV.ww.y;
                 m.v[num1 + 7].u = nqT.zz.x;
                 m.v[num1 + 7].v = nqT.ww.y;
                 break;
             }
             case 2:
             {
                 m.v[num1].x = nqV.zz.x;
                 m.v[num1].y = nqV.xx.y;
                 m.v[num1].u = nqT.zz.x;
                 m.v[num1].v = nqT.xx.y;
                 m.v[num1 + 1].x = nqV.ww.x;
                 m.v[num1 + 1].y = nqV.xx.y;
                 m.v[num1 + 1].u = nqT.ww.x;
                 m.v[num1 + 1].v = nqT.xx.y;
                 m.v[num1 + 2].x = nqV.zz.x;
                 m.v[num1 + 2].y = nqV.yy.y;
                 m.v[num1 + 2].u = nqT.zz.x;
                 m.v[num1 + 2].v = nqT.yy.y;
                 m.v[num1 + 3].x = nqV.ww.x;
                 m.v[num1 + 3].y = nqV.yy.y;
                 m.v[num1 + 3].u = nqT.ww.x;
                 m.v[num1 + 3].v = nqT.yy.y;
                 m.v[num1 + 4].x = nqV.zz.x;
                 m.v[num1 + 4].y = nqV.zz.y;
                 m.v[num1 + 4].u = nqT.zz.x;
                 m.v[num1 + 4].v = nqT.zz.y;
                 m.v[num1 + 5].x = nqV.ww.x;
                 m.v[num1 + 5].y = nqV.zz.y;
                 m.v[num1 + 5].u = nqT.ww.x;
                 m.v[num1 + 5].v = nqT.zz.y;
                 m.v[num1 + 6].x = nqV.zz.x;
                 m.v[num1 + 6].y = nqV.ww.y;
                 m.v[num1 + 6].u = nqT.zz.x;
                 m.v[num1 + 6].v = nqT.ww.y;
                 m.v[num1 + 7].x = nqV.ww.x;
                 m.v[num1 + 7].y = nqV.ww.y;
                 m.v[num1 + 7].u = nqT.ww.x;
                 m.v[num1 + 7].v = nqT.ww.y;
                 break;
             }
         }
     }
     else
     {
         int num2 = m.Alloc(PrimitiveKind.Grid1x2, 0f, color);
         switch (columnStart)
         {
             case 0:
             {
                 m.v[num2].x = nqV.xx.x;
                 m.v[num2].y = nqV.xx.y;
                 m.v[num2].u = nqT.xx.x;
                 m.v[num2].v = nqT.xx.y;
                 m.v[num2 + 1].x = nqV.yy.x;
                 m.v[num2 + 1].y = nqV.xx.y;
                 m.v[num2 + 1].u = nqT.yy.x;
                 m.v[num2 + 1].v = nqT.xx.y;
                 m.v[num2 + 2].x = nqV.xx.x;
                 m.v[num2 + 2].y = nqV.yy.y;
                 m.v[num2 + 2].u = nqT.xx.x;
                 m.v[num2 + 2].v = nqT.yy.y;
                 m.v[num2 + 3].x = nqV.yy.x;
                 m.v[num2 + 3].y = nqV.yy.y;
                 m.v[num2 + 3].u = nqT.yy.x;
                 m.v[num2 + 3].v = nqT.yy.y;
                 m.v[num2 + 4].x = nqV.xx.x;
                 m.v[num2 + 4].y = nqV.zz.y;
                 m.v[num2 + 4].u = nqT.xx.x;
                 m.v[num2 + 4].v = nqT.zz.y;
                 m.v[num2 + 5].x = nqV.yy.x;
                 m.v[num2 + 5].y = nqV.zz.y;
                 m.v[num2 + 5].u = nqT.yy.x;
                 m.v[num2 + 5].v = nqT.zz.y;
                 break;
             }
             case 1:
             {
                 m.v[num2].x = nqV.yy.x;
                 m.v[num2].y = nqV.xx.y;
                 m.v[num2].u = nqT.yy.x;
                 m.v[num2].v = nqT.xx.y;
                 m.v[num2 + 1].x = nqV.zz.x;
                 m.v[num2 + 1].y = nqV.xx.y;
                 m.v[num2 + 1].u = nqT.zz.x;
                 m.v[num2 + 1].v = nqT.xx.y;
                 m.v[num2 + 2].x = nqV.yy.x;
                 m.v[num2 + 2].y = nqV.yy.y;
                 m.v[num2 + 2].u = nqT.yy.x;
                 m.v[num2 + 2].v = nqT.yy.y;
                 m.v[num2 + 3].x = nqV.zz.x;
                 m.v[num2 + 3].y = nqV.yy.y;
                 m.v[num2 + 3].u = nqT.zz.x;
                 m.v[num2 + 3].v = nqT.yy.y;
                 m.v[num2 + 4].x = nqV.yy.x;
                 m.v[num2 + 4].y = nqV.zz.y;
                 m.v[num2 + 4].u = nqT.yy.x;
                 m.v[num2 + 4].v = nqT.zz.y;
                 m.v[num2 + 5].x = nqV.zz.x;
                 m.v[num2 + 5].y = nqV.zz.y;
                 m.v[num2 + 5].u = nqT.zz.x;
                 m.v[num2 + 5].v = nqT.zz.y;
                 break;
             }
             case 2:
             {
                 m.v[num2].x = nqV.zz.x;
                 m.v[num2].y = nqV.xx.y;
                 m.v[num2].u = nqT.zz.x;
                 m.v[num2].v = nqT.xx.y;
                 m.v[num2 + 1].x = nqV.ww.x;
                 m.v[num2 + 1].y = nqV.xx.y;
                 m.v[num2 + 1].u = nqT.ww.x;
                 m.v[num2 + 1].v = nqT.xx.y;
                 m.v[num2 + 2].x = nqV.zz.x;
                 m.v[num2 + 2].y = nqV.yy.y;
                 m.v[num2 + 2].u = nqT.zz.x;
                 m.v[num2 + 2].v = nqT.yy.y;
                 m.v[num2 + 3].x = nqV.ww.x;
                 m.v[num2 + 3].y = nqV.yy.y;
                 m.v[num2 + 3].u = nqT.ww.x;
                 m.v[num2 + 3].v = nqT.yy.y;
                 m.v[num2 + 4].x = nqV.zz.x;
                 m.v[num2 + 4].y = nqV.zz.y;
                 m.v[num2 + 4].u = nqT.zz.x;
                 m.v[num2 + 4].v = nqT.zz.y;
                 m.v[num2 + 5].x = nqV.ww.x;
                 m.v[num2 + 5].y = nqV.zz.y;
                 m.v[num2 + 5].u = nqT.ww.x;
                 m.v[num2 + 5].v = nqT.zz.y;
                 break;
             }
         }
     }
 }
예제 #2
0
 private static void FillColumn2(ref NineRectangle nqV, ref NineRectangle nqT, int columnStart, ref Color color, MeshBuffer m)
 {
     int num;
     int num1;
     int num2;
     int num3;
     int num4;
     int num5;
     int num6;
     if (nqV.xx.y == nqV.yy.y)
     {
         if (nqV.yy.y == nqV.zz.y)
         {
             if (nqV.zz.y != nqV.ww.y)
             {
                 switch (columnStart)
                 {
                     case 0:
                     {
                         num = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                         m.v[num].x = nqV.xx.x;
                         m.v[num].y = nqV.zz.y;
                         m.v[num].u = nqT.xx.x;
                         m.v[num].v = nqT.zz.y;
                         m.v[num + 1].x = nqV.yy.x;
                         m.v[num + 1].y = nqV.zz.y;
                         m.v[num + 1].u = nqT.yy.x;
                         m.v[num + 1].v = nqT.zz.y;
                         m.v[num + 2].x = nqV.zz.x;
                         m.v[num + 2].y = nqV.zz.y;
                         m.v[num + 2].u = nqT.zz.x;
                         m.v[num + 2].v = nqT.zz.y;
                         m.v[num + 3].x = nqV.xx.x;
                         m.v[num + 3].y = nqV.ww.y;
                         m.v[num + 3].u = nqT.xx.x;
                         m.v[num + 3].v = nqT.ww.y;
                         m.v[num + 4].x = nqV.yy.x;
                         m.v[num + 4].y = nqV.ww.y;
                         m.v[num + 4].u = nqT.yy.x;
                         m.v[num + 4].v = nqT.ww.y;
                         m.v[num + 5].x = nqV.zz.x;
                         m.v[num + 5].y = nqV.ww.y;
                         m.v[num + 5].u = nqT.zz.x;
                         m.v[num + 5].v = nqT.ww.y;
                         break;
                     }
                     case 1:
                     {
                         num = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                         m.v[num].x = nqV.yy.x;
                         m.v[num].y = nqV.zz.y;
                         m.v[num].u = nqT.yy.x;
                         m.v[num].v = nqT.zz.y;
                         m.v[num + 1].x = nqV.zz.x;
                         m.v[num + 1].y = nqV.zz.y;
                         m.v[num + 1].u = nqT.zz.x;
                         m.v[num + 1].v = nqT.zz.y;
                         m.v[num + 2].x = nqV.ww.x;
                         m.v[num + 2].y = nqV.zz.y;
                         m.v[num + 2].u = nqT.ww.x;
                         m.v[num + 2].v = nqT.zz.y;
                         m.v[num + 3].x = nqV.yy.x;
                         m.v[num + 3].y = nqV.ww.y;
                         m.v[num + 3].u = nqT.yy.x;
                         m.v[num + 3].v = nqT.ww.y;
                         m.v[num + 4].x = nqV.zz.x;
                         m.v[num + 4].y = nqV.ww.y;
                         m.v[num + 4].u = nqT.zz.x;
                         m.v[num + 4].v = nqT.ww.y;
                         m.v[num + 5].x = nqV.ww.x;
                         m.v[num + 5].y = nqV.ww.y;
                         m.v[num + 5].u = nqT.ww.x;
                         m.v[num + 5].v = nqT.ww.y;
                         break;
                     }
                     case 2:
                     {
                         m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color);
                         m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color);
                         break;
                     }
                 }
             }
         }
         else if (nqV.zz.y != nqV.ww.y)
         {
             switch (columnStart)
             {
                 case 0:
                 {
                     num2 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color);
                     m.v[num2].x = nqV.xx.x;
                     m.v[num2].y = nqV.yy.y;
                     m.v[num2].u = nqT.xx.x;
                     m.v[num2].v = nqT.yy.y;
                     m.v[num2 + 1].x = nqV.yy.x;
                     m.v[num2 + 1].y = nqV.yy.y;
                     m.v[num2 + 1].u = nqT.yy.x;
                     m.v[num2 + 1].v = nqT.yy.y;
                     m.v[num2 + 2].x = nqV.zz.x;
                     m.v[num2 + 2].y = nqV.yy.y;
                     m.v[num2 + 2].u = nqT.zz.x;
                     m.v[num2 + 2].v = nqT.yy.y;
                     m.v[num2 + 3].x = nqV.xx.x;
                     m.v[num2 + 3].y = nqV.zz.y;
                     m.v[num2 + 3].u = nqT.xx.x;
                     m.v[num2 + 3].v = nqT.zz.y;
                     m.v[num2 + 4].x = nqV.yy.x;
                     m.v[num2 + 4].y = nqV.zz.y;
                     m.v[num2 + 4].u = nqT.yy.x;
                     m.v[num2 + 4].v = nqT.zz.y;
                     m.v[num2 + 5].x = nqV.zz.x;
                     m.v[num2 + 5].y = nqV.zz.y;
                     m.v[num2 + 5].u = nqT.zz.x;
                     m.v[num2 + 5].v = nqT.zz.y;
                     m.v[num2 + 6].x = nqV.xx.x;
                     m.v[num2 + 6].y = nqV.ww.y;
                     m.v[num2 + 6].u = nqT.xx.x;
                     m.v[num2 + 6].v = nqT.ww.y;
                     m.v[num2 + 7].x = nqV.yy.x;
                     m.v[num2 + 7].y = nqV.ww.y;
                     m.v[num2 + 7].u = nqT.yy.x;
                     m.v[num2 + 7].v = nqT.ww.y;
                     m.v[num2 + 8].x = nqV.zz.x;
                     m.v[num2 + 8].y = nqV.ww.y;
                     m.v[num2 + 8].u = nqT.zz.x;
                     m.v[num2 + 8].v = nqT.ww.y;
                     break;
                 }
                 case 1:
                 {
                     num2 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color);
                     m.v[num2].x = nqV.yy.x;
                     m.v[num2].y = nqV.yy.y;
                     m.v[num2].u = nqT.yy.x;
                     m.v[num2].v = nqT.yy.y;
                     m.v[num2 + 1].x = nqV.zz.x;
                     m.v[num2 + 1].y = nqV.yy.y;
                     m.v[num2 + 1].u = nqT.zz.x;
                     m.v[num2 + 1].v = nqT.yy.y;
                     m.v[num2 + 2].x = nqV.ww.x;
                     m.v[num2 + 2].y = nqV.yy.y;
                     m.v[num2 + 2].u = nqT.ww.x;
                     m.v[num2 + 2].v = nqT.yy.y;
                     m.v[num2 + 3].x = nqV.yy.x;
                     m.v[num2 + 3].y = nqV.zz.y;
                     m.v[num2 + 3].u = nqT.yy.x;
                     m.v[num2 + 3].v = nqT.zz.y;
                     m.v[num2 + 4].x = nqV.zz.x;
                     m.v[num2 + 4].y = nqV.zz.y;
                     m.v[num2 + 4].u = nqT.zz.x;
                     m.v[num2 + 4].v = nqT.zz.y;
                     m.v[num2 + 5].x = nqV.ww.x;
                     m.v[num2 + 5].y = nqV.zz.y;
                     m.v[num2 + 5].u = nqT.ww.x;
                     m.v[num2 + 5].v = nqT.zz.y;
                     m.v[num2 + 6].x = nqV.yy.x;
                     m.v[num2 + 6].y = nqV.ww.y;
                     m.v[num2 + 6].u = nqT.yy.x;
                     m.v[num2 + 6].v = nqT.ww.y;
                     m.v[num2 + 7].x = nqV.zz.x;
                     m.v[num2 + 7].y = nqV.ww.y;
                     m.v[num2 + 7].u = nqT.zz.x;
                     m.v[num2 + 7].v = nqT.ww.y;
                     m.v[num2 + 8].x = nqV.ww.x;
                     m.v[num2 + 8].y = nqV.ww.y;
                     m.v[num2 + 8].u = nqT.ww.x;
                     m.v[num2 + 8].v = nqT.ww.y;
                     break;
                 }
                 case 2:
                 {
                     num2 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num2].x = nqV.xx.x;
                     m.v[num2].y = nqV.yy.y;
                     m.v[num2].u = nqT.xx.x;
                     m.v[num2].v = nqT.yy.y;
                     m.v[num2 + 1].x = nqV.yy.x;
                     m.v[num2 + 1].y = nqV.yy.y;
                     m.v[num2 + 1].u = nqT.yy.x;
                     m.v[num2 + 1].v = nqT.yy.y;
                     m.v[num2 + 2].x = nqV.xx.x;
                     m.v[num2 + 2].y = nqV.zz.y;
                     m.v[num2 + 2].u = nqT.xx.x;
                     m.v[num2 + 2].v = nqT.zz.y;
                     m.v[num2 + 3].x = nqV.yy.x;
                     m.v[num2 + 3].y = nqV.zz.y;
                     m.v[num2 + 3].u = nqT.yy.x;
                     m.v[num2 + 3].v = nqT.zz.y;
                     m.v[num2 + 4].x = nqV.yy.x;
                     m.v[num2 + 4].y = nqV.ww.y;
                     m.v[num2 + 4].u = nqT.yy.x;
                     m.v[num2 + 4].v = nqT.ww.y;
                     m.v[num2 + 5].x = nqV.zz.x;
                     m.v[num2 + 5].y = nqV.ww.y;
                     m.v[num2 + 5].u = nqT.zz.x;
                     m.v[num2 + 5].v = nqT.ww.y;
                     num2 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num2].x = nqV.zz.x;
                     m.v[num2].y = nqV.yy.y;
                     m.v[num2].u = nqT.zz.x;
                     m.v[num2].v = nqT.yy.y;
                     m.v[num2 + 1].x = nqV.ww.x;
                     m.v[num2 + 1].y = nqV.yy.y;
                     m.v[num2 + 1].u = nqT.ww.x;
                     m.v[num2 + 1].v = nqT.yy.y;
                     m.v[num2 + 2].x = nqV.zz.x;
                     m.v[num2 + 2].y = nqV.zz.y;
                     m.v[num2 + 2].u = nqT.zz.x;
                     m.v[num2 + 2].v = nqT.zz.y;
                     m.v[num2 + 3].x = nqV.ww.x;
                     m.v[num2 + 3].y = nqV.zz.y;
                     m.v[num2 + 3].u = nqT.ww.x;
                     m.v[num2 + 3].v = nqT.zz.y;
                     m.v[num2 + 4].x = nqV.zz.x;
                     m.v[num2 + 4].y = nqV.ww.y;
                     m.v[num2 + 4].u = nqT.zz.x;
                     m.v[num2 + 4].v = nqT.ww.y;
                     m.v[num2 + 5].x = nqV.ww.x;
                     m.v[num2 + 5].y = nqV.ww.y;
                     m.v[num2 + 5].u = nqT.ww.x;
                     m.v[num2 + 5].v = nqT.ww.y;
                     break;
                 }
             }
         }
         else
         {
             switch (columnStart)
             {
                 case 0:
                 {
                     num1 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num1].x = nqV.xx.x;
                     m.v[num1].y = nqV.yy.y;
                     m.v[num1].u = nqT.xx.x;
                     m.v[num1].v = nqT.yy.y;
                     m.v[num1 + 1].x = nqV.yy.x;
                     m.v[num1 + 1].y = nqV.yy.y;
                     m.v[num1 + 1].u = nqT.yy.x;
                     m.v[num1 + 1].v = nqT.yy.y;
                     m.v[num1 + 2].x = nqV.zz.x;
                     m.v[num1 + 2].y = nqV.yy.y;
                     m.v[num1 + 2].u = nqT.zz.x;
                     m.v[num1 + 2].v = nqT.yy.y;
                     m.v[num1 + 3].x = nqV.xx.x;
                     m.v[num1 + 3].y = nqV.zz.y;
                     m.v[num1 + 3].u = nqT.xx.x;
                     m.v[num1 + 3].v = nqT.zz.y;
                     m.v[num1 + 4].x = nqV.yy.x;
                     m.v[num1 + 4].y = nqV.zz.y;
                     m.v[num1 + 4].u = nqT.yy.x;
                     m.v[num1 + 4].v = nqT.zz.y;
                     m.v[num1 + 5].x = nqV.zz.x;
                     m.v[num1 + 5].y = nqV.zz.y;
                     m.v[num1 + 5].u = nqT.zz.x;
                     m.v[num1 + 5].v = nqT.zz.y;
                     break;
                 }
                 case 1:
                 {
                     num1 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num1].x = nqV.yy.x;
                     m.v[num1].y = nqV.yy.y;
                     m.v[num1].u = nqT.yy.x;
                     m.v[num1].v = nqT.yy.y;
                     m.v[num1 + 1].x = nqV.zz.x;
                     m.v[num1 + 1].y = nqV.yy.y;
                     m.v[num1 + 1].u = nqT.zz.x;
                     m.v[num1 + 1].v = nqT.yy.y;
                     m.v[num1 + 2].x = nqV.ww.x;
                     m.v[num1 + 2].y = nqV.yy.y;
                     m.v[num1 + 2].u = nqT.ww.x;
                     m.v[num1 + 2].v = nqT.yy.y;
                     m.v[num1 + 3].x = nqV.yy.x;
                     m.v[num1 + 3].y = nqV.zz.y;
                     m.v[num1 + 3].u = nqT.yy.x;
                     m.v[num1 + 3].v = nqT.zz.y;
                     m.v[num1 + 4].x = nqV.zz.x;
                     m.v[num1 + 4].y = nqV.zz.y;
                     m.v[num1 + 4].u = nqT.zz.x;
                     m.v[num1 + 4].v = nqT.zz.y;
                     m.v[num1 + 5].x = nqV.ww.x;
                     m.v[num1 + 5].y = nqV.zz.y;
                     m.v[num1 + 5].u = nqT.ww.x;
                     m.v[num1 + 5].v = nqT.zz.y;
                     break;
                 }
                 case 2:
                 {
                     m.FastCell(nqV.xy, nqV.yz, nqT.xy, nqT.yz, ref color);
                     m.FastCell(nqV.zy, nqV.wz, nqT.zy, nqT.wz, ref color);
                     break;
                 }
             }
         }
     }
     else if (nqV.yy.y == nqV.zz.y)
     {
         if (nqV.zz.y != nqV.ww.y)
         {
             switch (columnStart)
             {
                 case 0:
                 {
                     num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num4].x = nqV.xx.x;
                     m.v[num4].y = nqV.xx.y;
                     m.v[num4].u = nqT.xx.x;
                     m.v[num4].v = nqT.xx.y;
                     m.v[num4 + 1].x = nqV.yy.x;
                     m.v[num4 + 1].y = nqV.xx.y;
                     m.v[num4 + 1].u = nqT.yy.x;
                     m.v[num4 + 1].v = nqT.xx.y;
                     m.v[num4 + 2].x = nqV.zz.x;
                     m.v[num4 + 2].y = nqV.xx.y;
                     m.v[num4 + 2].u = nqT.zz.x;
                     m.v[num4 + 2].v = nqT.xx.y;
                     m.v[num4 + 3].x = nqV.xx.x;
                     m.v[num4 + 3].y = nqV.yy.y;
                     m.v[num4 + 3].u = nqT.xx.x;
                     m.v[num4 + 3].v = nqT.yy.y;
                     m.v[num4 + 4].x = nqV.yy.x;
                     m.v[num4 + 4].y = nqV.yy.y;
                     m.v[num4 + 4].u = nqT.yy.x;
                     m.v[num4 + 4].v = nqT.yy.y;
                     m.v[num4 + 5].x = nqV.zz.x;
                     m.v[num4 + 5].y = nqV.yy.y;
                     m.v[num4 + 5].u = nqT.zz.x;
                     m.v[num4 + 5].v = nqT.yy.y;
                     num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num4].x = nqV.xx.x;
                     m.v[num4].y = nqV.zz.y;
                     m.v[num4].u = nqT.xx.x;
                     m.v[num4].v = nqT.zz.y;
                     m.v[num4 + 1].x = nqV.yy.x;
                     m.v[num4 + 1].y = nqV.zz.y;
                     m.v[num4 + 1].u = nqT.yy.x;
                     m.v[num4 + 1].v = nqT.zz.y;
                     m.v[num4 + 2].x = nqV.zz.x;
                     m.v[num4 + 2].y = nqV.zz.y;
                     m.v[num4 + 2].u = nqT.zz.x;
                     m.v[num4 + 2].v = nqT.zz.y;
                     m.v[num4 + 3].x = nqV.xx.x;
                     m.v[num4 + 3].y = nqV.ww.y;
                     m.v[num4 + 3].u = nqT.xx.x;
                     m.v[num4 + 3].v = nqT.ww.y;
                     m.v[num4 + 4].x = nqV.yy.x;
                     m.v[num4 + 4].y = nqV.ww.y;
                     m.v[num4 + 4].u = nqT.yy.x;
                     m.v[num4 + 4].v = nqT.ww.y;
                     m.v[num4 + 5].x = nqV.zz.x;
                     m.v[num4 + 5].y = nqV.ww.y;
                     m.v[num4 + 5].u = nqT.zz.x;
                     m.v[num4 + 5].v = nqT.ww.y;
                     break;
                 }
                 case 1:
                 {
                     num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num4].x = nqV.yy.x;
                     m.v[num4].y = nqV.xx.y;
                     m.v[num4].u = nqT.yy.x;
                     m.v[num4].v = nqT.xx.y;
                     m.v[num4 + 1].x = nqV.zz.x;
                     m.v[num4 + 1].y = nqV.xx.y;
                     m.v[num4 + 1].u = nqT.zz.x;
                     m.v[num4 + 1].v = nqT.xx.y;
                     m.v[num4 + 2].x = nqV.ww.x;
                     m.v[num4 + 2].y = nqV.xx.y;
                     m.v[num4 + 2].u = nqT.ww.x;
                     m.v[num4 + 2].v = nqT.xx.y;
                     m.v[num4 + 3].x = nqV.yy.x;
                     m.v[num4 + 3].y = nqV.yy.y;
                     m.v[num4 + 3].u = nqT.yy.x;
                     m.v[num4 + 3].v = nqT.yy.y;
                     m.v[num4 + 4].x = nqV.zz.x;
                     m.v[num4 + 4].y = nqV.yy.y;
                     m.v[num4 + 4].u = nqT.zz.x;
                     m.v[num4 + 4].v = nqT.yy.y;
                     m.v[num4 + 5].x = nqV.ww.x;
                     m.v[num4 + 5].y = nqV.yy.y;
                     m.v[num4 + 5].u = nqT.ww.x;
                     m.v[num4 + 5].v = nqT.yy.y;
                     num4 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num4].x = nqV.yy.x;
                     m.v[num4].y = nqV.zz.y;
                     m.v[num4].u = nqT.yy.x;
                     m.v[num4].v = nqT.zz.y;
                     m.v[num4 + 1].x = nqV.zz.x;
                     m.v[num4 + 1].y = nqV.zz.y;
                     m.v[num4 + 1].u = nqT.zz.x;
                     m.v[num4 + 1].v = nqT.zz.y;
                     m.v[num4 + 2].x = nqV.ww.x;
                     m.v[num4 + 2].y = nqV.zz.y;
                     m.v[num4 + 2].u = nqT.ww.x;
                     m.v[num4 + 2].v = nqT.zz.y;
                     m.v[num4 + 3].x = nqV.yy.x;
                     m.v[num4 + 3].y = nqV.ww.y;
                     m.v[num4 + 3].u = nqT.yy.x;
                     m.v[num4 + 3].v = nqT.ww.y;
                     m.v[num4 + 4].x = nqV.zz.x;
                     m.v[num4 + 4].y = nqV.ww.y;
                     m.v[num4 + 4].u = nqT.zz.x;
                     m.v[num4 + 4].v = nqT.ww.y;
                     m.v[num4 + 5].x = nqV.ww.x;
                     m.v[num4 + 5].y = nqV.ww.y;
                     m.v[num4 + 5].u = nqT.ww.x;
                     m.v[num4 + 5].v = nqT.ww.y;
                     break;
                 }
                 case 2:
                 {
                     m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color);
                     m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color);
                     m.FastCell(nqV.xz, nqV.yw, nqT.xz, nqT.yw, ref color);
                     m.FastCell(nqV.zz, nqV.ww, nqT.zz, nqT.ww, ref color);
                     break;
                 }
             }
         }
         else
         {
             switch (columnStart)
             {
                 case 0:
                 {
                     num3 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num3].x = nqV.xx.x;
                     m.v[num3].y = nqV.xx.y;
                     m.v[num3].u = nqT.xx.x;
                     m.v[num3].v = nqT.xx.y;
                     m.v[num3 + 1].x = nqV.yy.x;
                     m.v[num3 + 1].y = nqV.xx.y;
                     m.v[num3 + 1].u = nqT.yy.x;
                     m.v[num3 + 1].v = nqT.xx.y;
                     m.v[num3 + 2].x = nqV.zz.x;
                     m.v[num3 + 2].y = nqV.xx.y;
                     m.v[num3 + 2].u = nqT.zz.x;
                     m.v[num3 + 2].v = nqT.xx.y;
                     m.v[num3 + 3].x = nqV.xx.x;
                     m.v[num3 + 3].y = nqV.yy.y;
                     m.v[num3 + 3].u = nqT.xx.x;
                     m.v[num3 + 3].v = nqT.yy.y;
                     m.v[num3 + 4].x = nqV.yy.x;
                     m.v[num3 + 4].y = nqV.yy.y;
                     m.v[num3 + 4].u = nqT.yy.x;
                     m.v[num3 + 4].v = nqT.yy.y;
                     m.v[num3 + 5].x = nqV.zz.x;
                     m.v[num3 + 5].y = nqV.yy.y;
                     m.v[num3 + 5].u = nqT.zz.x;
                     m.v[num3 + 5].v = nqT.yy.y;
                     break;
                 }
                 case 1:
                 {
                     num3 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                     m.v[num3].x = nqV.yy.x;
                     m.v[num3].y = nqV.xx.y;
                     m.v[num3].u = nqT.yy.x;
                     m.v[num3].v = nqT.xx.y;
                     m.v[num3 + 1].x = nqV.zz.x;
                     m.v[num3 + 1].y = nqV.xx.y;
                     m.v[num3 + 1].u = nqT.zz.x;
                     m.v[num3 + 1].v = nqT.xx.y;
                     m.v[num3 + 2].x = nqV.ww.x;
                     m.v[num3 + 2].y = nqV.xx.y;
                     m.v[num3 + 2].u = nqT.ww.x;
                     m.v[num3 + 2].v = nqT.xx.y;
                     m.v[num3 + 3].x = nqV.yy.x;
                     m.v[num3 + 3].y = nqV.yy.y;
                     m.v[num3 + 3].u = nqT.yy.x;
                     m.v[num3 + 3].v = nqT.yy.y;
                     m.v[num3 + 4].x = nqV.zz.x;
                     m.v[num3 + 4].y = nqV.yy.y;
                     m.v[num3 + 4].u = nqT.zz.x;
                     m.v[num3 + 4].v = nqT.yy.y;
                     m.v[num3 + 5].x = nqV.ww.x;
                     m.v[num3 + 5].y = nqV.yy.y;
                     m.v[num3 + 5].u = nqT.ww.x;
                     m.v[num3 + 5].v = nqT.yy.y;
                     break;
                 }
                 case 2:
                 {
                     m.FastCell(nqV.xx, nqV.yy, nqT.xx, nqT.yy, ref color);
                     m.FastCell(nqV.zx, nqV.wy, nqT.zx, nqT.wy, ref color);
                     break;
                 }
             }
         }
     }
     else if (nqV.zz.y != nqV.ww.y)
     {
         switch (columnStart)
         {
             case 0:
             {
                 num6 = m.Alloc(PrimitiveKind.Grid2x3, 0f, color);
                 m.v[num6].x = nqV.xx.x;
                 m.v[num6].y = nqV.xx.y;
                 m.v[num6].u = nqT.xx.x;
                 m.v[num6].v = nqT.xx.y;
                 m.v[num6 + 1].x = nqV.yy.x;
                 m.v[num6 + 1].y = nqV.xx.y;
                 m.v[num6 + 1].u = nqT.yy.x;
                 m.v[num6 + 1].v = nqT.xx.y;
                 m.v[num6 + 2].x = nqV.zz.x;
                 m.v[num6 + 2].y = nqV.xx.y;
                 m.v[num6 + 2].u = nqT.zz.x;
                 m.v[num6 + 2].v = nqT.xx.y;
                 m.v[num6 + 3].x = nqV.xx.x;
                 m.v[num6 + 3].y = nqV.yy.y;
                 m.v[num6 + 3].u = nqT.xx.x;
                 m.v[num6 + 3].v = nqT.yy.y;
                 m.v[num6 + 4].x = nqV.yy.x;
                 m.v[num6 + 4].y = nqV.yy.y;
                 m.v[num6 + 4].u = nqT.yy.x;
                 m.v[num6 + 4].v = nqT.yy.y;
                 m.v[num6 + 5].x = nqV.zz.x;
                 m.v[num6 + 5].y = nqV.yy.y;
                 m.v[num6 + 5].u = nqT.zz.x;
                 m.v[num6 + 5].v = nqT.yy.y;
                 m.v[num6 + 6].x = nqV.xx.x;
                 m.v[num6 + 6].y = nqV.zz.y;
                 m.v[num6 + 6].u = nqT.xx.x;
                 m.v[num6 + 6].v = nqT.zz.y;
                 m.v[num6 + 7].x = nqV.yy.x;
                 m.v[num6 + 7].y = nqV.zz.y;
                 m.v[num6 + 7].u = nqT.yy.x;
                 m.v[num6 + 7].v = nqT.zz.y;
                 m.v[num6 + 8].x = nqV.zz.x;
                 m.v[num6 + 8].y = nqV.zz.y;
                 m.v[num6 + 8].u = nqT.zz.x;
                 m.v[num6 + 8].v = nqT.zz.y;
                 m.v[num6 + 9].x = nqV.xx.x;
                 m.v[num6 + 9].y = nqV.ww.y;
                 m.v[num6 + 9].u = nqT.xx.x;
                 m.v[num6 + 9].v = nqT.ww.y;
                 m.v[num6 + 10].x = nqV.yy.x;
                 m.v[num6 + 10].y = nqV.ww.y;
                 m.v[num6 + 10].u = nqT.yy.x;
                 m.v[num6 + 10].v = nqT.ww.y;
                 m.v[num6 + 11].x = nqV.zz.x;
                 m.v[num6 + 11].y = nqV.ww.y;
                 m.v[num6 + 11].u = nqT.zz.x;
                 m.v[num6 + 11].v = nqT.ww.y;
                 break;
             }
             case 1:
             {
                 num6 = m.Alloc(PrimitiveKind.Grid2x3, 0f, color);
                 m.v[num6].x = nqV.yy.x;
                 m.v[num6].y = nqV.xx.y;
                 m.v[num6].u = nqT.yy.x;
                 m.v[num6].v = nqT.xx.y;
                 m.v[num6 + 1].x = nqV.zz.x;
                 m.v[num6 + 1].y = nqV.xx.y;
                 m.v[num6 + 1].u = nqT.zz.x;
                 m.v[num6 + 1].v = nqT.xx.y;
                 m.v[num6 + 2].x = nqV.ww.x;
                 m.v[num6 + 2].y = nqV.xx.y;
                 m.v[num6 + 2].u = nqT.ww.x;
                 m.v[num6 + 2].v = nqT.xx.y;
                 m.v[num6 + 3].x = nqV.yy.x;
                 m.v[num6 + 3].y = nqV.yy.y;
                 m.v[num6 + 3].u = nqT.yy.x;
                 m.v[num6 + 3].v = nqT.yy.y;
                 m.v[num6 + 4].x = nqV.zz.x;
                 m.v[num6 + 4].y = nqV.yy.y;
                 m.v[num6 + 4].u = nqT.zz.x;
                 m.v[num6 + 4].v = nqT.yy.y;
                 m.v[num6 + 5].x = nqV.ww.x;
                 m.v[num6 + 5].y = nqV.yy.y;
                 m.v[num6 + 5].u = nqT.ww.x;
                 m.v[num6 + 5].v = nqT.yy.y;
                 m.v[num6 + 6].x = nqV.yy.x;
                 m.v[num6 + 6].y = nqV.zz.y;
                 m.v[num6 + 6].u = nqT.yy.x;
                 m.v[num6 + 6].v = nqT.zz.y;
                 m.v[num6 + 7].x = nqV.zz.x;
                 m.v[num6 + 7].y = nqV.zz.y;
                 m.v[num6 + 7].u = nqT.zz.x;
                 m.v[num6 + 7].v = nqT.zz.y;
                 m.v[num6 + 8].x = nqV.ww.x;
                 m.v[num6 + 8].y = nqV.zz.y;
                 m.v[num6 + 8].u = nqT.ww.x;
                 m.v[num6 + 8].v = nqT.zz.y;
                 m.v[num6 + 9].x = nqV.yy.x;
                 m.v[num6 + 9].y = nqV.ww.y;
                 m.v[num6 + 9].u = nqT.yy.x;
                 m.v[num6 + 9].v = nqT.ww.y;
                 m.v[num6 + 10].x = nqV.zz.x;
                 m.v[num6 + 10].y = nqV.ww.y;
                 m.v[num6 + 10].u = nqT.zz.x;
                 m.v[num6 + 10].v = nqT.ww.y;
                 m.v[num6 + 11].x = nqV.ww.x;
                 m.v[num6 + 11].y = nqV.ww.y;
                 m.v[num6 + 11].u = nqT.ww.x;
                 m.v[num6 + 11].v = nqT.ww.y;
                 break;
             }
             case 2:
             {
                 num6 = m.Alloc(PrimitiveKind.Grid1x3, 0f, color);
                 m.v[num6].x = nqV.xx.x;
                 m.v[num6].y = nqV.xx.y;
                 m.v[num6].u = nqT.xx.x;
                 m.v[num6].v = nqT.xx.y;
                 m.v[num6 + 1].x = nqV.yy.x;
                 m.v[num6 + 1].y = nqV.xx.y;
                 m.v[num6 + 1].u = nqT.yy.x;
                 m.v[num6 + 1].v = nqT.xx.y;
                 m.v[num6 + 2].x = nqV.xx.x;
                 m.v[num6 + 2].y = nqV.yy.y;
                 m.v[num6 + 2].u = nqT.xx.x;
                 m.v[num6 + 2].v = nqT.yy.y;
                 m.v[num6 + 3].x = nqV.yy.x;
                 m.v[num6 + 3].y = nqV.yy.y;
                 m.v[num6 + 3].u = nqT.yy.x;
                 m.v[num6 + 3].v = nqT.yy.y;
                 m.v[num6 + 4].x = nqV.xx.x;
                 m.v[num6 + 4].y = nqV.zz.y;
                 m.v[num6 + 4].u = nqT.xx.x;
                 m.v[num6 + 4].v = nqT.zz.y;
                 m.v[num6 + 5].x = nqV.yy.x;
                 m.v[num6 + 5].y = nqV.zz.y;
                 m.v[num6 + 5].u = nqT.yy.x;
                 m.v[num6 + 5].v = nqT.zz.y;
                 m.v[num6 + 6].x = nqV.xx.x;
                 m.v[num6 + 6].y = nqV.ww.y;
                 m.v[num6 + 6].u = nqT.xx.x;
                 m.v[num6 + 6].v = nqT.ww.y;
                 m.v[num6 + 7].x = nqV.yy.x;
                 m.v[num6 + 7].y = nqV.ww.y;
                 m.v[num6 + 7].u = nqT.yy.x;
                 m.v[num6 + 7].v = nqT.ww.y;
                 num6 = m.Alloc(PrimitiveKind.Grid1x3, 0f, color);
                 m.v[num6].x = nqV.zz.x;
                 m.v[num6].y = nqV.xx.y;
                 m.v[num6].u = nqT.zz.x;
                 m.v[num6].v = nqT.xx.y;
                 m.v[num6 + 1].x = nqV.ww.x;
                 m.v[num6 + 1].y = nqV.xx.y;
                 m.v[num6 + 1].u = nqT.ww.x;
                 m.v[num6 + 1].v = nqT.xx.y;
                 m.v[num6 + 2].x = nqV.zz.x;
                 m.v[num6 + 2].y = nqV.yy.y;
                 m.v[num6 + 2].u = nqT.zz.x;
                 m.v[num6 + 2].v = nqT.yy.y;
                 m.v[num6 + 3].x = nqV.ww.x;
                 m.v[num6 + 3].y = nqV.yy.y;
                 m.v[num6 + 3].u = nqT.ww.x;
                 m.v[num6 + 3].v = nqT.yy.y;
                 m.v[num6 + 4].x = nqV.zz.x;
                 m.v[num6 + 4].y = nqV.zz.y;
                 m.v[num6 + 4].u = nqT.zz.x;
                 m.v[num6 + 4].v = nqT.zz.y;
                 m.v[num6 + 5].x = nqV.ww.x;
                 m.v[num6 + 5].y = nqV.zz.y;
                 m.v[num6 + 5].u = nqT.ww.x;
                 m.v[num6 + 5].v = nqT.zz.y;
                 m.v[num6 + 6].x = nqV.zz.x;
                 m.v[num6 + 6].y = nqV.ww.y;
                 m.v[num6 + 6].u = nqT.zz.x;
                 m.v[num6 + 6].v = nqT.ww.y;
                 m.v[num6 + 7].x = nqV.ww.x;
                 m.v[num6 + 7].y = nqV.ww.y;
                 m.v[num6 + 7].u = nqT.ww.x;
                 m.v[num6 + 7].v = nqT.ww.y;
                 break;
             }
         }
     }
     else
     {
         switch (columnStart)
         {
             case 0:
             {
                 num5 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color);
                 m.v[num5].x = nqV.xx.x;
                 m.v[num5].y = nqV.xx.y;
                 m.v[num5].u = nqT.xx.x;
                 m.v[num5].v = nqT.xx.y;
                 m.v[num5 + 1].x = nqV.yy.x;
                 m.v[num5 + 1].y = nqV.xx.y;
                 m.v[num5 + 1].u = nqT.yy.x;
                 m.v[num5 + 1].v = nqT.xx.y;
                 m.v[num5 + 2].x = nqV.zz.x;
                 m.v[num5 + 2].y = nqV.xx.y;
                 m.v[num5 + 2].u = nqT.zz.x;
                 m.v[num5 + 2].v = nqT.xx.y;
                 m.v[num5 + 3].x = nqV.xx.x;
                 m.v[num5 + 3].y = nqV.yy.y;
                 m.v[num5 + 3].u = nqT.xx.x;
                 m.v[num5 + 3].v = nqT.zz.y;
                 m.v[num5 + 4].x = nqV.yy.x;
                 m.v[num5 + 4].y = nqV.yy.y;
                 m.v[num5 + 4].u = nqT.yy.x;
                 m.v[num5 + 4].v = nqT.yy.y;
                 m.v[num5 + 5].x = nqV.zz.x;
                 m.v[num5 + 5].y = nqV.yy.y;
                 m.v[num5 + 5].u = nqT.zz.x;
                 m.v[num5 + 5].v = nqT.yy.y;
                 m.v[num5 + 6].x = nqV.xx.x;
                 m.v[num5 + 6].y = nqV.zz.y;
                 m.v[num5 + 6].u = nqT.xx.x;
                 m.v[num5 + 6].v = nqT.zz.y;
                 m.v[num5 + 7].x = nqV.yy.x;
                 m.v[num5 + 7].y = nqV.zz.y;
                 m.v[num5 + 7].u = nqT.yy.x;
                 m.v[num5 + 7].v = nqT.zz.y;
                 m.v[num5 + 8].x = nqV.zz.x;
                 m.v[num5 + 8].y = nqV.zz.y;
                 m.v[num5 + 8].u = nqT.zz.x;
                 m.v[num5 + 8].v = nqT.zz.y;
                 break;
             }
             case 1:
             {
                 num5 = m.Alloc(PrimitiveKind.Grid2x2, 0f, color);
                 m.v[num5].x = nqV.yy.x;
                 m.v[num5].y = nqV.xx.y;
                 m.v[num5].u = nqT.yy.x;
                 m.v[num5].v = nqT.xx.y;
                 m.v[num5 + 1].x = nqV.zz.x;
                 m.v[num5 + 1].y = nqV.xx.y;
                 m.v[num5 + 1].u = nqT.zz.x;
                 m.v[num5 + 1].v = nqT.xx.y;
                 m.v[num5 + 2].x = nqV.ww.x;
                 m.v[num5 + 2].y = nqV.xx.y;
                 m.v[num5 + 2].u = nqT.ww.x;
                 m.v[num5 + 2].v = nqT.xx.y;
                 m.v[num5 + 3].x = nqV.yy.x;
                 m.v[num5 + 3].y = nqV.yy.y;
                 m.v[num5 + 3].u = nqT.yy.x;
                 m.v[num5 + 3].v = nqT.yy.y;
                 m.v[num5 + 4].x = nqV.zz.x;
                 m.v[num5 + 4].y = nqV.yy.y;
                 m.v[num5 + 4].u = nqT.zz.x;
                 m.v[num5 + 4].v = nqT.yy.y;
                 m.v[num5 + 5].x = nqV.ww.x;
                 m.v[num5 + 5].y = nqV.yy.y;
                 m.v[num5 + 5].u = nqT.ww.x;
                 m.v[num5 + 5].v = nqT.yy.y;
                 m.v[num5 + 6].x = nqV.yy.x;
                 m.v[num5 + 6].y = nqV.zz.y;
                 m.v[num5 + 6].u = nqT.yy.x;
                 m.v[num5 + 6].v = nqT.zz.y;
                 m.v[num5 + 7].x = nqV.zz.x;
                 m.v[num5 + 7].y = nqV.zz.y;
                 m.v[num5 + 7].u = nqT.zz.x;
                 m.v[num5 + 7].v = nqT.zz.y;
                 m.v[num5 + 8].x = nqV.ww.x;
                 m.v[num5 + 8].y = nqV.zz.y;
                 m.v[num5 + 8].u = nqT.ww.x;
                 m.v[num5 + 8].v = nqT.zz.y;
                 break;
             }
             case 2:
             {
                 num5 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                 m.v[num5].x = nqV.xx.x;
                 m.v[num5].y = nqV.xx.y;
                 m.v[num5].u = nqT.xx.x;
                 m.v[num5].v = nqT.xx.y;
                 m.v[num5 + 1].x = nqV.yy.x;
                 m.v[num5 + 1].y = nqV.xx.y;
                 m.v[num5 + 1].u = nqT.yy.x;
                 m.v[num5 + 1].v = nqT.xx.y;
                 m.v[num5 + 2].x = nqV.xx.x;
                 m.v[num5 + 2].y = nqV.yy.y;
                 m.v[num5 + 2].u = nqT.xx.x;
                 m.v[num5 + 2].v = nqT.yy.y;
                 m.v[num5 + 3].x = nqV.yy.x;
                 m.v[num5 + 3].y = nqV.yy.y;
                 m.v[num5 + 3].u = nqT.yy.x;
                 m.v[num5 + 3].v = nqT.yy.y;
                 m.v[num5 + 4].x = nqV.yy.x;
                 m.v[num5 + 4].y = nqV.zz.y;
                 m.v[num5 + 4].u = nqT.yy.x;
                 m.v[num5 + 4].v = nqT.zz.y;
                 m.v[num5 + 5].x = nqV.zz.x;
                 m.v[num5 + 5].y = nqV.zz.y;
                 m.v[num5 + 5].u = nqT.zz.x;
                 m.v[num5 + 5].v = nqT.zz.y;
                 num5 = m.Alloc(PrimitiveKind.Grid2x1, 0f, color);
                 m.v[num5].x = nqV.zz.x;
                 m.v[num5].y = nqV.xx.y;
                 m.v[num5].u = nqT.zz.x;
                 m.v[num5].v = nqT.xx.y;
                 m.v[num5 + 1].x = nqV.ww.x;
                 m.v[num5 + 1].y = nqV.xx.y;
                 m.v[num5 + 1].u = nqT.ww.x;
                 m.v[num5 + 1].v = nqT.xx.y;
                 m.v[num5 + 2].x = nqV.zz.x;
                 m.v[num5 + 2].y = nqV.yy.y;
                 m.v[num5 + 2].u = nqT.zz.x;
                 m.v[num5 + 2].v = nqT.yy.y;
                 m.v[num5 + 3].x = nqV.ww.x;
                 m.v[num5 + 3].y = nqV.yy.y;
                 m.v[num5 + 3].u = nqT.ww.x;
                 m.v[num5 + 3].v = nqT.yy.y;
                 m.v[num5 + 4].x = nqV.zz.x;
                 m.v[num5 + 4].y = nqV.zz.y;
                 m.v[num5 + 4].u = nqT.zz.x;
                 m.v[num5 + 4].v = nqT.zz.y;
                 m.v[num5 + 5].x = nqV.ww.x;
                 m.v[num5 + 5].y = nqV.zz.y;
                 m.v[num5 + 5].u = nqT.ww.x;
                 m.v[num5 + 5].v = nqT.zz.y;
                 break;
             }
         }
     }
 }