问题描述
我拍了一张随机截图来演示这一点。我在viewDidLoad
中有此代码:
let TextureLoader = MTKTextureLoader(device: Device)
do {
Texture = try TextureLoader.newTexture(URL: Bundle.main.url(forResource: "Texture",withExtension: "png")!)
} catch let Error {
print(Error)
}
我有2种纹理:
第二个是PNG压缩服务TinyPNG制作的。但是,即使quicklook,finder和浏览器可以识别压缩的压缩文件,也无法通过MTKTextureLoader.newTexture()
加载。它说decoding Failed
。
为什么Metal的PNG解码能力较差,我该如何解决?假设我无权访问未压缩的文件,如何将压缩后的文件加载到Metal中?更令我嫉妒的是,因为其他所有应用程序加载这些压缩纹理都没有问题。有什么方法可以配置MTKTextureLoader.newTexture()
来接受压缩的PNG文件?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)