static public TopCellInfo GenerateInfoNoTriangles(float cornerDistance, float rightDistance, float topRightDistance, float topDistance, ref int nextVertex, ref int nextTriIndex) { byte config = CalcConfiguration(cornerDistance, rightDistance, topRightDistance, topDistance); TopCellInfo info = new TopCellInfo { info = new CellInfo { config = config, cornerDist = cornerDistance, rightDist = rightDistance, topDist = topDistance }, verts = CreateCellVertices(config, ref nextVertex), tris = new IndexSpan(nextTriIndex, 0) }; return(info); }
public void Execute(int index) { int cellColNum = cornerColNum - 1; int x = index % cellColNum; int y = index / cellColNum; index = y * cornerColNum + x; TopCellInfo bl = infoArray[index]; TopCellInfo br = infoArray[index + 1]; TopCellInfo tr = infoArray[index + 1 + cornerColNum]; TopCellInfo tl = infoArray[index + cornerColNum]; CalculateIndices(orderer, bl.info.config, bl.tris.start, bl.tris, bl.verts, br.verts, tr.verts, tl.verts, triangles); }
public void Execute(int index) { TopCellInfo info = infoArray[index]; vertexCalculator.CalculateVertices(index, info.info, info.verts, vertices); }