Пример #1
0
 public static string TexCoordsAsString(this MeshFile.MeshGeometry meshGeometry, int index = 0, bool flipV = false)
 {
     return(string.Join(" ", meshGeometry.Vertexes.Select(v =>
                                                          string.Format("{0:0.######} {1:0.######}",
                                                                        v.TexCoords.ElementAt(index).X,
                                                                        flipV ? (1.0 - v.TexCoords.ElementAt(index).Y) : v.TexCoords.ElementAt(index).Y))));
 }
Пример #2
0
 public static void ToString(this MeshFile.MeshGeometry meshGeometry, TextWriter writer)
 {
     writer.WriteLine("  ShaderFileName:", meshGeometry.ShaderFileName);
     writer.WriteLine("  Vertexes:");
     for (int i = 0; i < meshGeometry.Vertexes.Count(); i++)
     {
         writer.WriteLine("    {0}: {1}", i, meshGeometry.Vertexes.ElementAt(i));
     }
     writer.WriteLine("  Indexes:");
     for (int i = 0; i < meshGeometry.Indexes.Count(); i += 3)
     {
         writer.WriteLine("    {0}: {1}, {2}, {3}",
                          i / 3,
                          meshGeometry.Indexes.ElementAt(i + 0),
                          meshGeometry.Indexes.ElementAt(i + 1),
                          meshGeometry.Indexes.ElementAt(i + 2));
     }
 }
Пример #3
0
        public static string TriangleIndexesAsString(this MeshFile.MeshGeometry meshGeometry, bool reverse = false)
        {
            if (reverse)
            {
                var list = new List <int>();
                for (int i = 0; i < meshGeometry.Indexes.Count(); i += 3)
                {
                    list.AddRange(new []
                    {
                        meshGeometry.Indexes.ElementAt(i + 2),
                        meshGeometry.Indexes.ElementAt(i + 1),
                        meshGeometry.Indexes.ElementAt(i + 0)
                    });
                }

                return(string.Join(" ", list.Select(i => string.Format("{0}", i))));
            }
            else
            {
                return(string.Join(" ", meshGeometry.Indexes.Select(i => string.Format("{0}", i))));
            }
        }
Пример #4
0
 public static string NormalsAsString(this MeshFile.MeshGeometry meshGeometry, bool flipZ = false)
 {
     return(string.Join(" ", meshGeometry.Vertexes.Select(v =>
                                                          string.Format("{0:0.######} {1:0.######} {2:0.######}", v.Normal.X, v.Normal.Y, flipZ ? -v.Normal.Z : v.Normal.Z))));
 }