Exemple #1
0
 private static void WriteTextureCoordinates(StreamWriter writer, List <SurfacePoint> points, BoundingBox boundingBox)
 {
     writer.WriteLine("# texture coordinates (u,v)");
     foreach (var point in points)
     {
         writer.WriteLine("vt {0} {1}",
                          boundingBox.NormalizeX(point.GridX), boundingBox.NormalizeY(point.GridY));
     }
     writer.WriteLine();
 }
Exemple #2
0
        private static List <List <Vertex> > GetRows(List <SurfacePoint> points, BoundingBox boundingBox)
        {
            var rows = new List <List <Vertex> >();

            var lastY = float.MinValue;
            var row   = new List <Vertex>();

            foreach (var point in points)
            {
                var vertex = new Vertex
                {
                    // Z is up
                    //x = point.GridX,
                    //y = point.GridY,
                    //z = point.Height,
                    //u = boundingBox.NormalizeX(point.GridX),
                    //v = boundingBox.NormalizeY(point.GridY)

                    // Y is up
                    x = point.GridX,
                    y = point.Height,
                    z = point.GridY,
                    u = boundingBox.NormalizeX(point.GridX),
                    v = boundingBox.NormalizeY(point.GridY)
                };
                if (lastY != point.GridY)
                {
                    lastY = point.GridY;
                    row   = new List <Vertex>();
                    rows.Add(row);
                }
                row.Add(vertex);
            }

            return(rows);
        }