コード例 #1
0
ファイル: Obj.cs プロジェクト: larsbrubaker/agg-sharp
        /// <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;
                }
            }
        }
コード例 #2
0
 public void AddFace(ObjFace face)
 {
     _faces.Add(face);
 }