Exemple #1
0
 private static void PushOBJGroupIfNeeded()
 {
     if (OBJLoader.m_CurrentGroup == null)
     {
         OBJLoader.PushOBJGroup("default");
     }
 }
Exemple #2
0
        private static void PushOBJFace(string lFaceLine)
        {
            OBJLoader.PushOBJGroupIfNeeded();
            string[] array = lFaceLine.Split(new char[]
            {
                ' '
            }, StringSplitOptions.RemoveEmptyEntries);
            OBJFace oBJFace = new OBJFace();

            string[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                string lVertexString = array2[i];
                oBJFace.ParseVertex(lVertexString);
            }
            OBJLoader.m_CurrentGroup.AddFace(oBJFace);
        }
Exemple #3
0
        static OBJLoader()
        {
            // Note: this type is marked as 'beforefieldinit'.
            Dictionary <string, Action <string> > dictionary = new Dictionary <string, Action <string> >();

            dictionary.Add("mtllib", delegate(string lEntry)
            {
            });
            dictionary.Add("usemtl", delegate(string lEntry)
            {
                OBJLoader.PushOBJGroupIfNeeded();
                OBJLoader.m_CurrentGroup.m_Material = OBJLoader.m_OBJData.m_Materials.SingleOrDefault((OBJMaterial lX) => lX.m_Name.EqualsInvariantCultureIgnoreCase(lEntry));
            });
            dictionary.Add("v", delegate(string lEntry)
            {
                OBJLoader.m_OBJData.m_Vertices.Add(Utils.ParseVector3String(lEntry, ' '));
            });
            dictionary.Add("vn", delegate(string lEntry)
            {
                OBJLoader.m_OBJData.m_Normals.Add(Utils.ParseVector3String(lEntry, ' '));
            });
            dictionary.Add("vt", delegate(string lEntry)
            {
                OBJLoader.m_OBJData.m_UVs.Add(Utils.ParseVector2String(lEntry, ' '));
            });
            dictionary.Add("vt2", delegate(string lEntry)
            {
                OBJLoader.m_OBJData.m_UV2s.Add(Utils.ParseVector2String(lEntry, ' '));
            });
            dictionary.Add("vc", delegate(string lEntry)
            {
                OBJLoader.m_OBJData.m_Colors.Add(Utils.ParseVector4String(lEntry, ' ').ToColor());
            });
            dictionary.Add("f", new Action <string>(OBJLoader.PushOBJFace));
            dictionary.Add("g", new Action <string>(OBJLoader.PushOBJGroup));
            OBJLoader.m_ParseOBJActionDictionary = dictionary;
            Dictionary <string, Action <string> > dictionary2 = new Dictionary <string, Action <string> >();

            dictionary2.Add("newmtl", new Action <string>(OBJLoader.PushOBJMaterial));
            dictionary2.Add("Ka", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_AmbientColor = Utils.ParseVector3String(lEntry, ' ').ToColor();
            });
            dictionary2.Add("Kd", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_DiffuseColor = Utils.ParseVector3String(lEntry, ' ').ToColor();
            });
            dictionary2.Add("Ks", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_SpecularColor = Utils.ParseVector3String(lEntry, ' ').ToColor();
            });
            dictionary2.Add("Ns", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_SpecularCoefficient = lEntry.ParseInvariantFloat();
            });
            dictionary2.Add("d", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_Transparency = lEntry.ParseInvariantFloat();
            });
            dictionary2.Add("Tr", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_Transparency = lEntry.ParseInvariantFloat();
            });
            dictionary2.Add("illum", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_IlluminationModel = lEntry.ParseInvariantInt();
            });
            dictionary2.Add("map_Ka", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_AmbientTextureMap = lEntry;
            });
            dictionary2.Add("map_Kd", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_DiffuseTextureMap = lEntry;
            });
            dictionary2.Add("map_Ks", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_SpecularTextureMap = lEntry;
            });
            dictionary2.Add("map_Ns", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_SpecularHighlightTextureMap = lEntry;
            });
            dictionary2.Add("map_d", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_AlphaTextureMap = lEntry;
            });
            dictionary2.Add("map_bump", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_BumpMap = lEntry;
            });
            dictionary2.Add("bump", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_BumpMap = lEntry;
            });
            dictionary2.Add("disp", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_DisplacementMap = lEntry;
            });
            dictionary2.Add("decal", delegate(string lEntry)
            {
                OBJLoader.m_CurrentMaterial.m_StencilDecalMap = lEntry;
            });
            OBJLoader.m_ParseMTLActionDictionary = dictionary2;
        }