private List <MeshTexture> LoadMaterialTextures(Material mat, TextureType type, string typeName) { var textures = new List <MeshTexture>(); for (int i = 0; i < mat.GetMaterialTextureCount(type); i++) { mat.GetMaterialTexture(type, i, out TextureSlot slot); var texLoaded = TexturesLoaded.Find((t) => { return(t.Path == slot.FilePath); }); if (texLoaded == null) { MeshTexture texture = TextureFromFile(slot.FilePath, Directory, typeName); textures.Add(texture); TexturesLoaded.Add(texture); // add to loaded textures } else { textures.Add(texLoaded); } } return(textures); }