public void DebugDrawCompactSpans()
        {
            int sCount = voxelArea.compactSpans.Length;

            Vector3[] debugPointsTop    = new Vector3[sCount];
            Vector3[] debugPointsBottom = new Vector3[sCount];
            Color[]   debugColors       = new Color[sCount];

            int debugPointsCount = 0;

            int wd = voxelArea.width * voxelArea.depth;

            var min = forcedBounds.min;

            for (int z = 0, pz = 0; z < wd; z += voxelArea.width, pz++)
            {
                for (int x = 0; x < voxelArea.width; x++)
                {
                    Vector3 p = new Vector3(x, 0, pz) * cellSize + min;

                    //CompactVoxelCell c = voxelArea.compactCells[x+z];
                    CompactVoxelCell c = voxelArea.compactCells[x + z];
                    //if (c.count == 0) {
                    //	Debug.DrawRay (p,Vector3.up,Color.red);
                    //}

                    for (int i = (int)c.index, ni = (int)(c.index + c.count); i < ni; i++)
                    {
                        CompactVoxelSpan s = voxelArea.compactSpans[i];

                        p.y = ((float)(s.y + 0.1F)) * cellHeight + min.y;

                        debugPointsTop[debugPointsCount] = p;

                        p.y = ((float)s.y) * cellHeight + min.y;
                        debugPointsBottom[debugPointsCount] = p;

                        Color col = Color.black;

                        switch (s.reg)
                        {
                        case 0:
                            col = Color.red;
                            break;

                        case 1:
                            col = Color.green;
                            break;

                        case 2:
                            col = Color.yellow;
                            break;

                        case 3:
                            col = Color.magenta;
                            break;
                        }

                        debugColors[debugPointsCount] = col;                        //Color.Lerp (Color.black, Color.white , (float)dst[i] / (float)voxelArea.maxDistance);//(float)(Mathf.Abs(dst[i]-src[i])) / (float)5);//s.area == 1 ? Color.green : (s.area == 2 ? Color.yellow : Color.red);
                        debugPointsCount++;

                        //Debug.DrawRay (p,Vector3.up*0.5F,Color.green);
                    }
                }
            }

            DebugUtility.DrawCubes(debugPointsTop, debugPointsBottom, debugColors, cellSize);
        }