public static string ExportAsObj(this TerrainFile @this, int offset, out int newOffset)
        {
            var triangles = @this.Triangulate();

            var obj = new StringBuilder();

            foreach (var triangle in triangles.SelectMany(t => t.ToArray))
            {
                obj.AppendLine($"v {triangle.X.ToString(CultureInfo.InvariantCulture)}" +
                               $" {triangle.Y.ToString(CultureInfo.InvariantCulture)}" +
                               $" {triangle.Z.ToString(CultureInfo.InvariantCulture)}"
                               );
            }

            for (var i = 0; i < triangles.Length; i++)
            {
                var index = i * 3 + 1 + offset;

                obj.AppendLine($"f {index}//{index} {index + 1}//{index + 1} {index + 2}//{index + 2}");
            }

            newOffset = offset + triangles.Length * 3;

            return(obj.ToString());
        }