/// <summary> /// Parses and loads a line from an OBJ file. /// Currently only supports V, VT, F and MTLLIB prefixes /// </summary> private void ProcessLine(string line) { string[] lineParts = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (lineParts.Length > 0) { switch (lineParts[0]) { case "usemtl": UseMtl = lineParts[1]; break; case "mtllib": Material = lineParts[1]; break; case "v": ObjVertex v = new ObjVertex(); v.LoadFromStringArray(lineParts); VertexList.Add(v); v.Index = VertexList.Count(); break; case "f": ObjFace f = new ObjFace(); f.LoadFromStringArray(lineParts); f.UseMtl = UseMtl; FaceList.Add(f); break; case "vt": ObjTextureVertex vt = new ObjTextureVertex(); vt.LoadFromStringArray(lineParts); TextureList.Add(vt); vt.Index = TextureList.Count(); break; } } }
public void AddFace(ObjFace face) { _faces.Add(face); }