Example #1
0
    private MeshData GetSeaBottomData()
    {
        var size = _heigthData.GetLength(0);

        if (size % 2 == 0)
        {
            throw new ArgumentException();
        }

        var step = size - 1;

        var vertices = Assistant.CreateVertices(2, Consts.UnitSize);

        for (int x = 0; x < size; x += step)
        {
            for (int z = 0; z < size; z += step)
            {
                vertices[((x / step) * ((size - 1) / step + 1)) + (z / step)].y = _heigthData[x, z] * _maxHeight;
            }
        }
        return(new MeshData()
        {
            Vertices = vertices,
            Triangles = Assistant.CreateTriangles(2),
            UVs = Assistant.CreateUvs(2)
        });
    }