【发布时间】:2018-12-19 20:59:55
【问题描述】:
我正在尝试截取 MetalKit 视图 (MTKView) 的屏幕截图,就像答案 Take a snapshot of current screen with Metal in swift 一样,但它要求 MTKView 将 framebufferOnly 设置为 false,这会根据 Apple 禁用一些优化。
有没有办法复制 MTKView 纹理(例如 view.currentDrawable.texture)以便我可以读取像素?我不需要经常截图,所以禁用程序运行的整个生命周期的优化将是一种耻辱。
我尝试使用 MTLTexture.newTextureViewWithPixelFormat 和 blit 缓冲区,但我仍然得到相同的异常,即帧缓冲区仅为 true。
【问题讨论】:
标签: swift macos cocoa metal metalkit