Example #1
0
 private void WriteNormals(MeshFile.MeshGeometry geometry, StreamWriter writer)
 {
     foreach (var vertex in geometry.Vertexes)
     {
         writer.WriteLine("vn {0} {1} {2}", vertex.Normal.X.ToString("0.0######"), vertex.Normal.Y.ToString("0.0######"), (vertex.Normal.Z * -1).ToString("0.0######"));
     }
     writer.WriteLine("# {0} vertex normals", geometry.Vertexes.Count());
     writer.WriteLine();
 }
Example #2
0
 private void writeIndices(MeshFile.MeshGeometry geometry, StreamWriter writer)
 {
     for (int index = 0; index <= geometry.Indexes.Count() - 3; index += 3)
     {
         writer.WriteLine("f {0}/{0}/{0} {1}/{1}/{1} {2}/{2}/{2}", (geometry.Vertexes.Count() - geometry.Indexes.ElementAt(index + 2)) * -1, (geometry.Vertexes.Count() - geometry.Indexes.ElementAt(index + 1)) * -1, (geometry.Vertexes.Count() - geometry.Indexes.ElementAt(index)) * -1);
     }
     writer.WriteLine("# {0} polygons", geometry.Indexes.Count() / 3);
     writer.WriteLine();
 }
Example #3
0
 private void WriteVertices(MeshFile.MeshGeometry geometry, StreamWriter writer)
 {
     foreach (var vertex in geometry.Vertexes)
     {
         writer.WriteLine("v {0} {1} {2}", vertex.Position.X.ToString("0.0######"), vertex.Position.Y.ToString("0.0######"), (vertex.Position.Z * -1).ToString("0.0######"));
     }
     writer.WriteLine("# {0} vertices", geometry.Vertexes.Count());
     writer.WriteLine();
 }
Example #4
0
 private void WriteGeometry(MeshFile.MeshGeometry geometry, StreamWriter writer)
 {
     WriteVertices(geometry, writer);
     WriteNormals(geometry, writer);
     writeIndices(geometry, writer);
 }