コード例 #1
0
 protected void xCollectVertexes(TMutableGeoMesh mesh, int baseTriangleNode = -1, int depth = -1)
 {
     if (baseTriangleNode < 0)
     {
         for (int i = 0; i < IcosahedronTriangles; i++)
         {
             xCollectVertexes(mesh, i, depth);
         }
     }
     else
     {
         if (depth == 0 || xTriTree[baseTriangleNode].children[0] < 0)
         {
             for (int i = 0; i < 3; i++)
             {
                 mesh.AddVertex(xTriTree[baseTriangleNode].vertices[i]);
             }
         }
         else
         {
             for (int i = 0; i < 4; i++)
             {
                 xCollectVertexes(mesh, xTriTree[baseTriangleNode].children[i], depth - 1);
             }
         }
     }
 }