示例#1
0
        /// <summary>
        /// c-tor - generic way for collecting resources
        /// </summary>
        /// <param name="meshInfo"></param>
        /// assetName - just for debug output
        public MyMesh(MyMeshPartInfo meshInfo, string assetName)
        {
            MyMaterialDescriptor matDesc = meshInfo.m_MaterialDesc;
            if (matDesc != null)
            {
                string texName;
                matDesc.Textures.TryGetValue("DiffuseTexture", out texName);

                var material = new MyMeshMaterial();
                material.Name = meshInfo.m_MaterialDesc.MaterialName;
                material.Textures = matDesc.Textures;
                material.DrawTechnique = meshInfo.Technique;
                material.GlassCW = meshInfo.m_MaterialDesc.GlassCW;
                material.GlassCCW = meshInfo.m_MaterialDesc.GlassCCW;
                material.GlassSmooth = meshInfo.m_MaterialDesc.GlassSmoothNormals;

                Material = material;
            }
            else
            {
                //It is OK because ie. collision meshes dont have materials
                Material = new MyMeshMaterial();
            }

            AssetName = assetName;
        }
示例#2
0
        /// <summary>
        /// ReadMeshParts
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        static List <MyMeshPartInfo> ReadMeshParts(BinaryReader reader, int version)
        {
            List <MyMeshPartInfo> list = new List <MyMeshPartInfo>();
            int nCount = reader.ReadInt32();

            for (int i = 0; i < nCount; ++i)
            {
                MyMeshPartInfo meshPart = new MyMeshPartInfo();
                meshPart.Import(reader, version);
                list.Add(meshPart);
            }

            return(list);
        }