Exemplo n.º 1
0
 void Add(PortableTriangle triangle)
 {
     if (!meshes.ContainsKey(CurrentMesh))
     {
         meshes.Add(CurrentMesh, new PortableMesh());
     }
     meshes[CurrentMesh].triangles.Add(triangle);
 }
Exemplo n.º 2
0
        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);
        }