public async Task LoadMaterialsAsync(IAwaitCaller awaitCaller = null) { awaitCaller = awaitCaller ?? new ImmediateCaller(); if (Data.GLTF.materials == null || Data.GLTF.materials.Count == 0) { // no material. work around. var param = MaterialDescriptorGenerator.Get(Data, 0); var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync, awaitCaller); } else { for (int i = 0; i < Data.GLTF.materials.Count; ++i) { var param = MaterialDescriptorGenerator.Get(Data, i); var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync, awaitCaller); } } }
public async Task LoadMaterialsAsync(IAwaitCaller awaitCaller = null) { awaitCaller = awaitCaller ?? new ImmediateCaller(); if (Data.GLTF.materials == null || Data.GLTF.materials.Count == 0) { // no material. work around. // TODO: https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#default-material var param = MaterialDescriptor.Default; var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync, awaitCaller); } else { for (int i = 0; i < Data.GLTF.materials.Count; ++i) { var param = MaterialDescriptorGenerator.Get(Data, i); var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync, awaitCaller); } } }