Example #1
0
        /// <summary>
        ///     Agrega El/Los materiales, cambia el tipo de VertexElement
        /// </summary>
        /// <param name="objMaterialLoader">Clase ObjMaterialLader</param>
        /// <returns>MeshBuilder</returns>
        public MeshBuilder AddMaterials(ObjMaterialsLoader objMaterialLoader)
        {
            //create material
            // TODO
            MaterialsArray = new List <TgcObjMaterialAux>();
            objMaterialLoader.ListObjMaterialMesh.ForEach(objMaterialMesh =>
            {
                MaterialsArray.Add(CreateTextureAndMaterial(objMaterialMesh, objMaterialLoader.CurrentDirectory));
            }
                                                          );

            //set nueva mesh strategy
            ChargueBufferStrategy = new ChargueBufferDiffuseMapStrategy();  // TODO ver que pasa caundo viene ligthmap
            return(this);
        }
Example #2
0
        public void GetListOfMaterials(string[] lines, string path)
        {
            //se obtiene puramente todas las lineas que son de material
            var linesFiltered = FilterByKeyword(lines, MTLLIB);

            //nos fijamos si tiene material
            if (linesFiltered.Length == 0)
            {
                return;
            }
            //agregamos la ruta de la carpeta donde se encuentran los materiales
            ObjMaterialsLoader.SetDirectoryPathMaterial(path);
            //
            foreach (var line in linesFiltered)
            {
                SetMtllib(line);
            }
            //Se hace parse de los materiales
            ObjMaterialsLoader.LoadMaterialsFromFiles(path, ListMtllib);  //TODO ver si devuelve una lista de materiales o le pasamos el objmesh como parametro
                                                                          // MeshBuilder.AddMaterials(ObjMaterialsLoader);
        }