void Add(PortableTriangle triangle) { if (!meshes.ContainsKey(CurrentMesh)) { meshes.Add(CurrentMesh, new PortableMesh()); } meshes[CurrentMesh].triangles.Add(triangle); }
PortableTriangle MakeTriangle(Mesh mesh, MeshFace face, int a, int b, int c) { PortableTriangle triangle = new PortableTriangle(); triangle.vertices = new PortableVertex[] { MakeVertex(mesh, face, a), MakeVertex(mesh, face, b), MakeVertex(mesh, face, c) }; switch (face.MaterialType) { case "FLAT": case "GOURAUD": triangle.material = GetFlatMaterial(face.ColorOrTexIndex); break; case "TEXGOU": case "TEX": triangle.material = GetTextureMaterial(face.ColorOrTexIndex); break; } return(triangle); }