Beispiel #1
0
        /// <summary>
        /// Parses and loads a line from an OBJ file.
        /// Currently only supports V and F
        /// </summary>
        private void processLine(string line)
        {
            string[] parts = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            if (parts.Length > 0)
            {
                switch (parts[0])
                {
                //Vertex
                case "v":
                    Vector3 v = LoadFromVectorFromStringArray(parts);
                    Vertices.Add(v);
                    break;

                //Normal
                case "vn":
                    Vector3 n = LoadFromVectorFromStringArray(parts);
                    VertexNomals.Add(n);
                    break;

                //Texture coord
                case "vt":
                    Vector3 t = LoadFromVectorFromStringArray(parts);
                    textureIndices.Add(t);
                    break;

                //Face
                case "f":
                    LoadFromStringArray(parts);
                    break;

                default:
                    break;
                }
            }
        }
Beispiel #2
0
 public MeshData GetMesh()
 {
     return(new MeshData(Faces.ToArray(), Vertices.ToArray(), VertexNomals.ToArray(), TextureCoords.ToArray()));
 }